使用RMAN 备份 standby database ,在主库出现数据文件丢失的时候对主库进行恢复.
1) 在主库上对备库进行备份:( 注意使用 nocatalog)
$: rman nocatalog target sys/oracle@clon (连接到备库)
rman> run {
allocate channel c1 device type disk;
backup as compressed backupset
format '/u1/backup/db_stb_%T_%s_%p.dbf'
tag='db_stb'
database ;
backup as compressed backupset
format '/u1/backup/arc_stb_%T_%s_%p.dbf'
archivelog all delete input
tag='arc_stb';
}
2) 将备库的备份集 copy 到主库的相同的目录下.
$: scp /u1/backup/* @test:/u1/backup
3) 在主库上打开恢复目录数据库 rman ,然后同步备库的备份信息到恢复目录数据库里.
$: rman catalog rman/rman@rman target sys/oracle@clon
rman> crosscheck backup;
rman> delete expired backup;
rman> resync catalog ;
rman> list backup summary;
4) 在主库上做破坏,删除数据文件 users01.dbf (对应的数据文件号是 4)
$: rm users01.dbf
sql> select status from v$datafile ; ( 文件4是 ONLINE)
sql> alter database datafile 4 offline;
sql> alter database datafile 4 online ;
sql> select status from v$datafile ; ( 文件4 是 RECOVERY)
5) 同步主库的信息到恢复目录数据库里
$: rman catalog rman/rman@rman target sys/oracle@lmj
rman> crosscheck backup;
rman> delete expired backup;
rman> resynce catalog ;
6) 进行主库的恢复:
$: rman catalog rman/rman@rman target sys/oracle@lmj
rman> run {
allocate channel c1 device type disk;
restore datafile 4 ;
recover datafile 4 ;
sql " alter database datafile 4 online";
}
1) 在主库上对备库进行备份:( 注意使用 nocatalog)
$: rman nocatalog target sys/oracle@clon (连接到备库)
rman> run {
allocate channel c1 device type disk;
backup as compressed backupset
format '/u1/backup/db_stb_%T_%s_%p.dbf'
tag='db_stb'
database ;
backup as compressed backupset
format '/u1/backup/arc_stb_%T_%s_%p.dbf'
archivelog all delete input
tag='arc_stb';
}
2) 将备库的备份集 copy 到主库的相同的目录下.
$: scp /u1/backup/* @test:/u1/backup
3) 在主库上打开恢复目录数据库 rman ,然后同步备库的备份信息到恢复目录数据库里.
$: rman catalog rman/rman@rman target sys/oracle@clon
rman> crosscheck backup;
rman> delete expired backup;
rman> resync catalog ;
rman> list backup summary;
4) 在主库上做破坏,删除数据文件 users01.dbf (对应的数据文件号是 4)
$: rm users01.dbf
sql> select status from v$datafile ; ( 文件4是 ONLINE)
sql> alter database datafile 4 offline;
sql> alter database datafile 4 online ;
sql> select status from v$datafile ; ( 文件4 是 RECOVERY)
5) 同步主库的信息到恢复目录数据库里
$: rman catalog rman/rman@rman target sys/oracle@lmj
rman> crosscheck backup;
rman> delete expired backup;
rman> resynce catalog ;
6) 进行主库的恢复:
$: rman catalog rman/rman@rman target sys/oracle@lmj
rman> run {
allocate channel c1 device type disk;
restore datafile 4 ;
recover datafile 4 ;
sql " alter database datafile 4 online";
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14359194/viewspace-622505/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14359194/viewspace-622505/