备份方案与流程
目前有test1 , test2 ,CN_test是用户建立的表
1.建立一个catalog表空间,和即将要备份和恢复的数据不能为一个表空间
SQL> create tablespace recover1 datafile
'/db/oracle/oradata/recover1' size 1024M;
2.建立一个rman2用户
授权:
3.登录创建目录
备份的时候自动备份控制文件:
Configure controlfile autobackup on;
4.注册目标数据库
5.分配通道,设置备份路径:
打开控制文件自动备份,并储存到/control目录下:
rman>configure controlfile
autobackup on;
rman>configure controlfile
autobakcup format for device type disk to '/control/%F';
6.开始备份:backup
database plus archivelog;
增量0级备份:backup
incremental level 0 database;
增量1级差异备份:backup
incremental level 1 database;
增量1级累计备份:backup
incremental level 1 cumulativedatabase;
常见的备份策略(差异备份):
星期
差异增量
累积增量
星期天
0级
0级
星期一
2级
2级
星期二
2级
2级
星期三
1级
1级
星期四
2级
2级
星期五
2级
2级
星期六
2级
2级
星期天
0级
0级
还原步骤
1.因为有可能需要按时间点做还原,所以需要设置oracle用户的环境变量
NLS_DATE_FORMAT='mm/dd/yyyy
hh24:mi:ss';
export NLS_DATE_FORMAT
2.使用rman登录
rman target=rman2/rman2@test
3.将数据库变更为挂载状态
startup mount;
强制更改:startup force mount;
4.以下为按照时间点不完全恢复
run{
set until time "to_date('2011/06/2814:00:30','yyyy/mm/dd hh24:mi:ss')";
restore
database;
recoverdatabase;
}基于时间点的不完全恢复
5.完成后重新挂载
alter database open
resetlogs;
其他:
1.按时间点还原时候出现:
until time or recovery window is before
resetlogs time错误
需要将原型重置到恢复时间节点之前的resetlogs
list incarnation of database "test";
reset database to incarnation数字;
恢复误删除数据:
1.做全备份,归档当前日志:
2.备份一个pfile:
3.备份当前数据库
关闭数据库
SQL> shut immediate
数据库文件夹改名备份,并创建一个原库名文件夹
$mkdir test
4.启动数据库到nomount
5.恢复controlfile
run
{
allocate
channel t1 type disk;
restore
controlfile from 'c-2053343983-20110630-01';
release
channel t1;
}
6.启动数据库mount,恢复归档日志:
SQL> startup mount;
RMAN> list backup of archivelog all;
找到最近2两天的seq,进行恢复
run
{
allocate
channel t1 type disk;
set
archivelog destination to '/db/oracle/flash_recovery_area/TEST/archivelog';
restore archivelog sequence6thread 1;
release
channel t1;
}
7.恢复数据库
run
{
allocate
channel t1 type disk;
set untilscn916578;
restore
database;
recoverdatabase;
release
channel t1;
}
alter database open
resetlogs;
scn用最后一个日志的next scn
exp按照用户导出
exp
software/software rows=y indexes=n
compress=n buffer=65536 feedback=100000 volsize=0 owner=software
file=/oraexp/exp_software_201107.dmp log=/oraexp/exp_software_201107.log
Imp按用户导入
imp
software/software fromuser=software touser=software rows=y indexes=n commit=y
buffer=65536 feedback=100000 ignore=y volsize=0 file=exp_software_201107.dmp