Oracle 11g Data Guard 使用duplicate from active database 创建 standby database(四)

2015-01-21 12:17:34 · 作者: · 浏览: 18
le instead of recovery catalog


connected to auxiliary database: DG (notmounted)


?


不然会报如下错误:


?


DBGSQL:? ? TARGET> begin :fhdbi := dbms_rcvcat.getDbid; end;


DBGSQL:? ? ? ? sqlcode = 6550


DBGSQL:? ? ? ? B :fhdbi = 32767


RMAN-00571: ===========================================================


RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============


RMAN-00571:===========================================================


RMAN-03002: failure of Duplicate Db commandat 10/28/2011 17:53:04


RMAN-05501: aborting duplication of targetdatabase


RMAN-03015: error occurred in stored scriptMemory Script


ORA-06550: line 1, column 17:


PLS-00201: identifier'DBMS_RCVCAT.GETDBID' must be declared


ORA-06550: line 1, column 7:


PL/SQL: Statement ignored


?


(2) 在执行duplicate的时候,如果源库和目标库目录相同,那么在duplicate 时,需要加上nofilenamecheck,如下:


?


?



RMAN> duplicate target database for standby from active database dorecover nofilenamecheck;


?


我在上面的示例中,目录结构不同,所以没有用该参数,如果目录相同,而又没有加该参数,那么就会报如下错误:


?


?



RMAN> duplicate target database forstandby from active database dorecover nofilenamecheck;


?


RMAN-05501: aborting duplication of targetdatabase


RMAN-05001: auxiliary file name/u01/app/oracle/oradata/dg/users01.dbf conflicts with a file used by the targetdatabase


RMAN-05001: auxiliary file name/u01/app/oracle/oradata/dg/undotbs01.dbf conflicts with a file used by thetarget database


RMAN-05001: auxiliary file name/u01/app/oracle/oradata/dg/sysaux01.dbf conflicts with a file used by thetarget database


RMAN-05001: auxiliary file name/u01/app/oracle/oradata/dg/system01.dbf conflicts with a file used by thetarget database


?


?


?


?


三. 后续工作


?


1. 主库已经使用了spfile,但是备库用的还是之前的pfile:


Primary:


SQL> show parameter pfile


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? VALUE


------------------------------------ ------- ------------------------------


spfile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? string? /u01/app/oracle/product/11.2.0


?


Standby:


SQL> show parameter pfile


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


------------------------------------ ----------- ------------------------------


spfile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? string


?


? ? ? pfile里面都是我们设置的一些基本参数。 但是备库有冗余的作用,所以这里还是建议用主库的pfile copy过来,然后修改相关参数后,在创建spfile。这样即使切换了,对DB的影响也不大。


?


2.? 只要备库的监听不重启,重启备库后,主库还是能识别的。 如果备库的监听重启了。那么主库也就需要重启。


?


3. 复制结束后的Standby 只启动到mount standby 的状态。 并没有启动MRP的应用归档程序。 所以这个时候查询主备库,归档是不同步的。需要手动的启动MRP进程。


SQL> alter database recover managed standby database disconnect from session;


?


4.? 备库Standby redo log 问题:


? ? ? 在duplicate 结束后,备库没有添加standby redo log file。 但是主库采用的是:lgwr async传送的日志。 当备库的RFS 进程接收到日志后,发现备库没有standby redo log的时候,备库会自动用ARCH将其写入归档文件。


?


以下是备库的alert log:


Tue Mar 08 16:53:32 2011


Archived Log entry 9 added for thread 1 sequence 21 rlc 745174404 ID 0x4bdfd301 dest 2:


RFS[2]: Opened log for thread 1 sequence 22 dbid 1272955137 branch 745174404


Tue Mar 08 16:53:36 2011


Media Recovery Log /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_21_745174404.dbf


Media Recovery Waiting for thread 1 sequence 22 (in transit) --传输中


Tue Mar 08 16:58:58 2011


Archived Log entry 10 added for thread 1 sequence 22 rlc 745174404 ID 0x4bdfd301 dest 2:


RFS[2]: Opened log for thread 1 sequence 23 dbid 1272955137 branch 745174404


Tue Mar 08 16:59:00 2011


Media Recovery Log /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_22_745174404.dbf


Media Recovery Waiting for thread 1 sequence 23 (in transit)


-- 注意这里归档文件目录,使用的是$ORACLE_HOME/dbs, 自动转换为ARCH时,也是使用默认的归档目录。


?


5.? 在备库添加stan