rman target /
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;
backupscript.:
run
{
Crosscheck backup;
Crosscheck archivelog all;
delete NOPROMPT expired backup;
delete NOPROMPT OBSOLETE;
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full database tag 'FullBackup' format '/oracle/backup/db_full_%T_%d_%t_%s_%p_bak0' ;
sql 'alter system archive log current';
backup format '/oracle/backup/arch_%T_%d_%t_%s_%p_bak0' archivelog all delete input;
backup spfile include current controlfile format '/oracle/backup/spfile_controlfile_%T_%d_%t_%s_%p_bak0';
release channel c1;
release channel c2;
release channel c3;
}
#########restore&&recover#####################
rman nocatalog target /
RMAN>startup nomount;
###[恢复参数文件]########
RMAN>
RMAN>
恢复参数文件脚本:
run
{
restore spfile from '/oracle/backup/spfile_controlfile_20120809_CCDB_790856516_27_1_bak0';
}
##########恢复控制文件###############
RMAN>
恢复控制文件脚本:
run{
restore controlfile from '/oracle/backup/spfile_controlfile_20120809_CCDB_790856510_26_1_bak0';
}
特别注意:
RMAN>
1:恢复控制文件成功,注意控制文件的输出位置;
2:此时如果mount ,则由于控制文件的位置不同造成失败
3:修改参数文件,指定控制文件的位置
#################数据文件RESTORE######################
RMAN> list backup of database;
可以看到有7个数据文件,由于源数据库采用ASM存储,需要进行转储resotre
run{
set newname for datafile 1 to '/oracle/oradata/ccdb/system01.dbf';
set newname for datafile 2 to '/oracle/oradata/ccdb/sysaux01.dbf';
set newname for datafile 3 to '/oracle/oradata/ccdb/undotbs01.dbf';
set newname for datafile 4 to '/oracle/oradata/ccdb/users01.dbf';
set newname for datafile 5 to '/oracle/oradata/ccdb/system03.dbf';
set newname for datafile 6 to '/oracle/oradata/ccdb/system02.dbf';
set newname for datafile 7 to '/oracle/oradata/ccdb/test.dbf';
restore database;
switch datafile all;
}
本机是用文件系统:
所以不用转储
方法1:
run{
startup force mount;
restore datafile 1;
recover datafile 1;
restore datafile 2;
recover datafile 2;
restore datafile 3;
recover datafile 3;
restore datafile 4;
recover datafile 4;
restore datafile 5;
recover datafile 5;
restore datafile 6;
recover datafile 6;
restore datafile 7;
recover datafile 7;
sql 'alter database open';
}
方法2:
run{
startup force mount;
restore database;
recover database;
sql 'alter database open';
}
总结:
数据库最重要的是数据,数据最重要最安全的是定期做备份!数据重于一切;备份高于一切;恢复保障数据安全有效!
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;
backupscript.:
run
{
Crosscheck backup;
Crosscheck archivelog all;
delete NOPROMPT expired backup;
delete NOPROMPT OBSOLETE;
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full database tag 'FullBackup' format '/oracle/backup/db_full_%T_%d_%t_%s_%p_bak0' ;
sql 'alter system archive log current';
backup format '/oracle/backup/arch_%T_%d_%t_%s_%p_bak0' archivelog all delete input;
backup spfile include current controlfile format '/oracle/backup/spfile_controlfile_%T_%d_%t_%s_%p_bak0';
release channel c1;
release channel c2;
release channel c3;
}
#########restore&&recover#####################
rman nocatalog target /
RMAN>startup nomount;
###[恢复参数文件]########
RMAN>
RMAN>
恢复参数文件脚本:
run
{
restore spfile from '/oracle/backup/spfile_controlfile_20120809_CCDB_790856516_27_1_bak0';
}
##########恢复控制文件###############
RMAN>
恢复控制文件脚本:
run{
restore controlfile from '/oracle/backup/spfile_controlfile_20120809_CCDB_790856510_26_1_bak0';
}
特别注意:
RMAN>
1:恢复控制文件成功,注意控制文件的输出位置;
2:此时如果mount ,则由于控制文件的位置不同造成失败
3:修改参数文件,指定控制文件的位置
#################数据文件RESTORE######################
RMAN> list backup of database;
可以看到有7个数据文件,由于源数据库采用ASM存储,需要进行转储resotre
run{
set newname for datafile 1 to '/oracle/oradata/ccdb/system01.dbf';
set newname for datafile 2 to '/oracle/oradata/ccdb/sysaux01.dbf';
set newname for datafile 3 to '/oracle/oradata/ccdb/undotbs01.dbf';
set newname for datafile 4 to '/oracle/oradata/ccdb/users01.dbf';
set newname for datafile 5 to '/oracle/oradata/ccdb/system03.dbf';
set newname for datafile 6 to '/oracle/oradata/ccdb/system02.dbf';
set newname for datafile 7 to '/oracle/oradata/ccdb/test.dbf';
restore database;
switch datafile all;
}
本机是用文件系统:
所以不用转储
方法1:
run{
startup force mount;
restore datafile 1;
recover datafile 1;
restore datafile 2;
recover datafile 2;
restore datafile 3;
recover datafile 3;
restore datafile 4;
recover datafile 4;
restore datafile 5;
recover datafile 5;
restore datafile 6;
recover datafile 6;
restore datafile 7;
recover datafile 7;
sql 'alter database open';
}
方法2:
run{
startup force mount;
restore database;
recover database;
sql 'alter database open';
}
总结:
数据库最重要的是数据,数据最重要最安全的是定期做备份!数据重于一切;备份高于一切;恢复保障数据安全有效!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14661773/viewspace-740485/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14661773/viewspace-740485/