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