RMAN学习笔记_ Duplicate重做DataGuard

利用Duplicate重做DataGuard

参考文档<>

ENV:
Oracle9i + Suse9 + DataGuard + 默认的最大性能模式

Primary: 192.168.1.101
standby: 192.168.1.102


Primary 到 standby的 DataGuard出现Gap,且Primary 上的归档已删除,没备份:
SQL> select * from v$archive_gap;

   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
         1            18             21

之前的Dataguard是用冷备形式建立的.现在要重建
唯一的解决方法,重做DataGuard,利用Duplicate 来重做

 

解决过程:

1 在Primary生成全备(Primary)

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u01/backup/backup_%d_%T_%s_%p';
BACKUP DATABASE
INCLUDE CURRENT CONTROLFILE FOR STANDBY
PLUS ARCHIVELOG;

2 将备份文件传到备端(Primary)
或通过NFS不用手动传,实质一样,在应用的时候传
参考<>

scp oracle@192.168.1.101:/u01/backup/backup_MYDB_20100203_19_1 /u01/backup/

scp oracle@192.168.1.101:/u01/backup/backup_MYDB_20100203_20_1 /u01/backup/

scp oracle@192.168.1.101:/u01/backup/backup_MYDB_20100203_21_1 /u01/backup/

注意:在将备份文件拷贝到Standby上时,存放备份文件的目录必须与Primary备份文件所在的目录结构一样,
这样控制文件才能找到备份文件

3 启动备端实例到Standby形式的nomount状态

先关闭再重启

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
shutdown immediate
startup nomount;

4 在Primary 重新Duplicate 应用备份

rman target / auxiliary sys/sys@standby

RUN
{
# If desired, issue a SET command to terminate recovery at a specified point.
# SET UNTIL SCN 143508;
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK
DORECOVER;
}

oracle@Z814:/opt/oracle/product/9ir2/dbs> rman target / auxiliary sys/sys@standby

Recovery Manager: Release 9.2.0.4.0 - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

connected to target database: MYDB (DBID=2621354619)
connected to auxiliary database: mydb (not mounted)

RMAN> RUN
2> {
3> # If desired, issue a SET command to terminate recovery at a specified point.
4> # SET UNTIL SCN 143508;
5> DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK
6> DORECOVER;
7> }
............
............
Recovery Manager complete.

顺利完成


5 Duplicate 完成后Standby只处于正常的Mount状态.应打开Recover
 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

 

6 在Standby端查询Gap
SQL> select * from v$archive_gap;

no rows selected

成功解决


7 碰到的问题:
rman target / auxiliary sys/sys@standby

报错:
oracle@Z814:/opt/oracle/product/9ir2/dbs> rman target / auxiliary sys/sys@standby

Recovery Manager: Release 9.2.0.4.0 - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

connected to target database: MYDB (DBID=2621354619)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12519: TNS:no appropriate service handler found


静态监听器的问题
确保你能在Primary 上 sqlplus "sys/sys@standby as sysdba"可以连通


在我的环境里,因为在192.168.1.102上已有了另一套DataGuard的Standby.已注册了名为LISTENER,端口为1521的静态监听器.

解决方案:注册两个监听器.

更改后的Listener.ora文件.
#$ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER_MYDB =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME =/opt/oracle/product/9ir2)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = mydb)
      (ORACLE_HOME =/opt/oracle/product/9ir2)
      (SID_NAME = mydb)
    )
  )

LISTENER_MYDB =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
      )
    )
  )


SID_LIST_LISTENER_DUPDB =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/product/9ir2)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = dupdb)
      (ORACLE_HOME = /opt/oracle/product/9ir2)
      (SID_NAME = dupdb)
    )
  )

LISTENER_DUPDB =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1522))
      )
    )

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10248702/viewspace-626766/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10248702/viewspace-626766/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值