RMAN RAC 到 单实例 duplicate 自动分配通道 触发 ORA-19505 错误



用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 2;

 

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

 

 

 

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

 

有兴趣的同学,可以自己测试一下。

 

 

 

 

 

 

 

 

 

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

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware


<think>好的,我现在需要帮助用户解决在使用RMAN进行活动数据复制时遇到的RMAN-03009、ORA-17628和ORA-19505错误。首先,我得回忆一下这些错误代码通常代表什么问题。 RMAN-03009通常表示RMAN在执行某个命令时遇到了错误,可能是由于脚本错误或权限问题。ORA-17628涉及到Oracle协议错误,可能和网络或访问权限有关。ORA-19505则通常与文件访问问题相关,比如找到指定的文件或目录,或者权限足。 用户提到的是在活动数据复制(Duplicate Active Database)过程中出现这些错误。根据之前的引用内容,Doc ID 1439632.1和BUG:12609412可能提到了解决方法,比如在磁盘组中创建特定目录,或者检查文件路径是否正确。另外,权限问题也是常见的原因,需要确认辅助实例是否有权限访问相关目录。 接下来,我需要整理解决步骤。首先检查目标目录是否存在,尤其是辅助数据的磁盘组路径。如果使用ASM,可能需要手动创建目录。然后,确认权限是否正确设置,确保Oracle用户有读写权限。接着,检查初始化参数中的文件路径是否正确,特别是控制文件和日志文件的路径。另外,检查网络连接是否正常,确保主和辅助之间的通信没有问题。如果问题依旧,可能需要应用相关的补丁或参考Oracle的文档建议。 最后,生成相关问题的时候,需要考虑用户可能遇到的后续问题,比如如何验证目录权限、如何正确配置初始化文件,或者如何应用Oracle的补丁来解决这类错误。确保用户能够一步步排查问题,并找到解决方案。</think>### RMAN-03009、ORA-17628、ORA-19505 错误解决方案 在使用RMAN执行 **Active Database Duplication** 时,若遇到以下错误组合: - `RMAN-03009`(RMAN命令执行失败) - `ORA-17628`(Oracle协议错误- `ORA-19505`(文件访问权限或路径问题) 以下是逐步排查和解决方案: --- #### **1. 检查辅助数据目录权限** - **问题根源**:辅助实例(Auxiliary Instance)无法在目标存储路径(如ASM磁盘组)创建文件[^2]。 - **解决方案**: 1. 登录到辅助数据服务器,手动创建目标目录: ```sql -- 若使用ASM: ALTER DISKGROUP <磁盘组名称> ADD DIRECTORY '+<磁盘组名称>/<目录路径>'; ``` 2. 确保Oracle用户对目录有读写权限: ```bash chown -R oracle:oinstall /path/to/target chmod -R 775 /path/to/target ``` --- #### **2. 验证文件路径配置** - **问题根源**:`SPFILE` 或 `PFILE` 中配置的文件路径与目标存储匹配[^1]。 - **解决方案**: 1. 检查辅助实例的初始化参数文件: ```sql -- 确认以下参数指向有效路径: db_file_name_convert = '+DATA/primary_db/datafile', '+DATA/auxiliary_db/datafile' log_file_name_convert = '+REDO/primary_db/onlinelog', '+REDO/auxiliary_db/onlinelog' ``` 2. 若使用ASM,确保路径格式为 `+<磁盘组名称>/<自定义路径>`。 --- #### **3. 修复网络连接问题** - **问题根源**:主与辅助之间的TNS通信异常。 - **解决方案**: 1. 使用 `tnsping` 测试连接: ```bash tnsping <辅助TNS别名> ``` 2. 检查 `tnsnames.ora` 和 `listener.ora` 配置,确保端口和协议一致。 --- #### **4. 应用补丁(若需)** - **问题根源**:已知的Oracle Bug可能导致此问题(如BUG:12609412)[^2]。 - **解决方案**: 1. 查询Oracle支持文档,确认是否需要应用补丁: ```bash opatch apply <补丁号> ``` --- #### **完整示例命令** ```bash # 主执行RMAN命令: rman TARGET sys@primary DB AUXILIARY sys@auxiliary RUN { ALLOCATE CHANNEL ch1 TYPE DISK; DUPLICATE DATABASE TO auxiliary_db SPFILE SET db_unique_name 'auxiliary_db' NOFILENAMECHECK; } ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值