ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Using RMAN Incremental Backups to Refresh a Standby Database

Using RMAN Incremental Backups to Refresh a Standby Database

原创 Linux操作系统 作者:terryhyx 时间:2010-02-21 09:58:28 0 删除 编辑

记录下 

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博客 ” ,链接:https://blog.itpub.net/2361091/viewspace-627348/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-09

  • 博文量
    9
  • 访问量
    20926