记录下
Data guard的Physical standby database环境中
当主库误删除或丢失了部分归档日志之后,在不重新部署standby环境的情况下同步主备两个库。
整个过程在Oracle的官方文档中也有说明
Oracle? Database Backup and Recovery Advanced User's Guide
--> Using RMAN Incremental Backups to Refresh a Standby Database
Step 1: 创建基于scn的增量备份
首先要知道你误删除或者丢失的归档日志是从哪个scn开始的。
V$ARCHIVED_LOG的FIRST_CHANGE#列能够查到归档日志对应的起始SCN(750983为例),然后就可以下面的操作。
在主库上使用backup ... incremental from scn为主库做一个增量备份,这个操作会将整个库中scn大于750983的block备份出来。(数据库的block中是有scn的,这个在concept里有明确说明)
RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 750983 DATABASE
FORMAT '/tmp/incr_for_standby/bkup_incre.bk';
Step 2: 将备份的文件复制到standby端
例如:/standbydisk1/incrback/ ,注意要是一个空目录,不能有除了增量备份之外的其他东西。
/standbydisk1/incrback/bkup_incre.bk
Step 3: 在standby端将备份登记到RMAN repository,需要rman连接standby库和catalog库(如果有,没有就算了),Standby库要是mount状态
RMAN> CATALOG START WITH '/standbydisk1/incrback/';
上面命令会把/standbydisk1/incrback/目录中的备份在standby的controlfile和catalog中导入
Step 4:
在standby库执行recover,注意这样并不会把standby库recover到一致状态,因为主库备份时是在线的。但是recover完之后的状态是可以来做standby的managed recovery的,Standby库是mount状态。
RMAN> RECOVER DATABASE NOREDO;
下面就该了
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/2361091/viewspace-627348/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/2361091/viewspace-627348/