用RMAN Duplicate来搭建RAC 到 单实例的Data Guard,结果在duplicate时,触发ORA-19505的错误,如下:

ORA-19505:failed to identify file "/u01/app/oracle/11.2.0/db_1/dbs/orapwdave1"

 

看了一下log,修改了一下通道数量,再次duplicate 成功。

 

一. 报错的情况

RMAN> show all;

 

RMAN configuration parameters for databasewith db_unique_name DAVE are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1;# default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; #default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; #default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO '%F'; # default

CONFIGURE DEVICE TYPEDISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICETYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FORDEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; #default

CONFIGURE ENCRYPTION FOR DATABASE OFF; #default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; #default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' ASOF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TONONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO'/u01/app/oracle/11.2.0/db_1/dbs/snapcf_dave1.f'; # default

 

 

 

RMAN> duplicate targetdatabase for standby from active database;

 

Starting Duplicate Db at 03-JUL-13

using target database control file insteadof recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=19 devicetype=DISK

allocated channel: ORA_AUX_DISK_2

channel ORA_AUX_DISK_2: SID=20 devicetype=DISK

allocated channel: ORA_AUX_DISK_3

channel ORA_AUX_DISK_3: SID=21 devicetype=DISK

allocated channel: ORA_AUX_DISK_4

channel ORA_AUX_DISK_4: SID=22 devicetype=DISK

 

contents of Memory Script:

{

  backup as copy reuse

  targetfile '/u01/app/oracle/11.2.0/db_1/dbs/orapwdave1' auxiliary format

 '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwdave'   ;

}

executing Memory Script

 

Starting backup at 03-JUL-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1:SID=43 instance=dave2 device type=DISK

allocated channel: ORA_DISK_2

channel ORA_DISK_2:SID=63 instance=dave1 device type=DISK

allocated channel: ORA_DISK_3

channel ORA_DISK_3:SID=42 instance=dave2 device type=DISK

allocated channel: ORA_DISK_4

channel ORA_DISK_4:SID=55 instance=dave1 device type=DISK

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

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

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

RMAN-03002: failure of Duplicate Db commandat 07/03/2013 01:44:01

RMAN-05501: aborting duplication of targetdatabase

RMAN-03015: error occurred in stored scriptMemory Script

RMAN-03009: failure of backup command onORA_DISK_1 channel at 07/03/2013 01:44:01

ORA-19505: failed toidentify file "/u01/app/oracle/11.2.0/db_1/dbs/orapwdave1"

ORA-27037: unable toobtain file status

Linux-x86_64 Error: 2: Nosuch file or directory

Additional information: 3

 

这里的文件我之前创建过,在每个节点都存在。

 

 

二. 修改通道后成功执行

 

RMAN> configuredevice type disk  parallelism

old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 4BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters aresuccessfully stored
released channel: ORA_DISK_1
released channel: ORA_DISK_2
released channel: ORA_DISK_3
released channel: ORA_DISK_4
released channel: ORA_AUX_DISK_1
released channel: ORA_AUX_DISK_2
released channel: ORA_AUX_DISK_3
released channel: ORA_AUX_DISK_4

RMAN> duplicate targetdatabase for standby from active database;

Starting Duplicate Db at 03-JUL-13
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=19 devicetype=DISK
allocated channel: ORA_AUX_DISK_2
channel ORA_AUX_DISK_2: SID=20 devicetype=DISK

contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/11.2.0/db_1/dbs/orapwdave1' auxiliary format
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwdave' ;
}
executing Memory Script

Starting backup at 03-JUL-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1:SID=63 instance=dave1 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2:SID=55 instance=dave1 device type=DISK
Finished backup at 03-JUL-13

contents of Memory Script:
{
backup as copy current controlfile for standby auxiliary format '/u01/app/oracle/oradata/dave/control01.ctl';
restore clone controlfile to '/u01/app/oracle/fast_recovery_area/dave/control02.ctl' from
'/u01/app/oracle/oradata/dave/control01.ctl';
}
executing Memory Script

 

 

 

原因根据红色标记处思考。 我这里是通过修改通道数量来解决的,还有另一种解决方法,就是分别在两个节点创建另一个节点的口令文件。