RMAN-03009 ORA-19554 ORA-27211

本文记录了使用SymantecNBU进行Oracle11gR2热备份过程中遇到的问题及解决方法。通过调整Oracle链接库文件解决了备份失败的情况。

symantec NBU 备份oracle 11gR2

Script/tmp/hot_database_backup.sh
==== started on Mon Oct 14 18:27:33 CST 2013====

RMAN:/oracle/db/oracle/app/oracle/product/11.2.0/dbhome_1/bin/rman
ORACLE_SID: orc1
ORACLE_USER: oracle
ORACLE_HOME:/oracle/db/oracle/app/oracle/product/11.2.0/dbhome_1

NB_ORA_FULL: 1
NB_ORA_INCR: 0
NB_ORA_CINC: 0
NB_ORA_SERV: bmsoft-d3933e35
NB_ORA_POLICY: orc1

Full backup requested
Recovery Manager: Release 11.2.0.3.0 -Production on Mon Oct 14 18:27:34 2013
Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.
connected to target database: ORC(DBID=1347074656)
using target database control file instead ofrecovery catalog

RMAN> 2> 3> 4> 5> 6> 7>8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18>19> 20> 21> 22> 23> 24> 25> 26> 27> 28> 29>30> 
31> 32> 33> 34> 35> 36> 37>38> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11>12> 13> 14> 15> 16> 17> 18> 19> 20> 21>22> 
23> 24> 25> 26> 27> 28> 29>30> 31> 32> 33> 34> 35> 36> 37> 38> 
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGE STACKFOLLOWS ===============
RMAN-00571:===========================================================
RMAN-03009: failure of allocate command on ch00 channelat 10/14/2013 18:27:36
ORA-19554: error allocating device, device type:SBT_TAPE, device name: 
ORA-27211: Failed to load Media ManagementLibrary
Additional information: 2

RMAN> RMAN> 
Recovery Manager complete.

Script /tmp/hot_database_backup.sh
==== ended in error on Mon Oct 14 18:27:36 CST2013 ====

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

检查带库、和脚本都没有问题,网络解析也没问题

解决方法:

symantec nbu在备份是需要调用oracle lib库文件,symantec bin目录下提供了此脚本

[oracle@orc1 bin]$ pwd
/usr/openv/netbackup/bin
[oracle@orc1 bin]$ ls oracle_link
oracle_link

 

[oracle@orc1bin]$ ./oracle_link
Tue Oct 15 10:01:20 CST 2013
All Oracle instances should be shutdown before running this script.

Please log into the Unix system as the Oracle owner for running this script

Do you want to continue? (y/n) [n] y

LIBOBK path: /usr/openv/netbackup/bin
ORACLE_HOME: /oracle/db/oracle/app/oracle/product/11.2.0/dbhome_1
Oracle version: 11.2.0.3.0
Platform type: x86_64
Linking LIBOBK:
ln -s /usr/openv/netbackup/bin/libobk.so64/oracle/db/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libobk.so
Done

Please check the trace file located in /tmp/make_trace.12823 
to make sure the linking process was successful.

再次启动备份,问题解决。

 


<think> 嗯,用户这次提出了三个Oracle错误代码的组合查询:RMAN-03002、RMAN-03014和ORA-03114。从历史引用看,用户似乎正在处理RMAN备份恢复相关的故障,且之前遇到过权限问题(引用2)和脚本顺序错误(引用3)。这三个错误同时出现很可能是同一个问题的连锁反应。 用户引用的资料里提到过RMAN-03002通常与操作失败相关(如引用1和2),而引用3显示脚本顺序错误也会引发这个错误。现在结合新出现的ORA-03114(数据库连接中断),需要重点排查网络和实例状态。有趣的是,用户特意强调"不是真正的需求",说明ta可能经历过无效解决方案,需要更本质的原因分析。 先拆解这三个错误的关系链:ORA-03114(连接丢失)→导致RMAN-03014(备份操作失败)→触发RMAN-03002(命令执行失败)。所以核心应该是ORA-03114的根因排查。考虑到RMAN特性,以下可能性较大:数据库实例异常终止、网络闪断、监听器故障,或者用户手动kill了会话。 特别要注意引用2中提到的权限问题——如果归档日志目录权限变更,可能导致RMAN写入失败间接引发连接中断。另外引用3的脚本顺序错误提示也很关键,用户可能在恢复控制文件时步骤错误。需要建议ta交叉验证:先用sqlplus测试数据库连接稳定性,再检查$ORACLE_HOME/log下的trace文件,这是最直接的诊断依据。 对于解决方案的排序,应该把成本最低的放在前面:先检查网络和实例状态(5分钟),再看监听日志(2分钟),最后才建议检查归档完整性(可能耗时较久)。用户明显是运维人员,所以故障诊断命令要给出完整示例,比如tnsping和lsnrctl status这种可快速执行的命令。 </think>基于您查询的RMAN-03002、RMAN-03014和ORA-03114错误组合,以下是系统化的分析和解决方案: --- ### **错误关联分析** 1. **ORA-03114:数据库连接丢失** - 根本原因:网络中断、数据库实例崩溃、监听器故障或客户端进程被终止。 - 影响:导致后续RMAN操作(如备份/恢复)失败,触发`RMAN-03014`和`RMAN-03002`。 2. **RMAN-03014: RMAN操作失败** - 触发条件:因`ORA-03114`导致RMAN无法继续执行任务。 3. **RMAN-03002: RMAN命令执行失败** - 最终表现:因前序错误导致命令彻底终止。 --- ### **分步解决方案** #### **第一步:解决ORA-03114(连接中断)** 1. **检查数据库状态** ```sql SQL> SELECT status FROM v$instance; -- 若返回`OPEN`则实例正常,否则需启动实例 ``` - 若实例关闭:`STARTUP` 2. **验证网络与监听器** ```bash tnsping <TNS_NAME> # 测试TNS连通性 lsnrctl status # 检查监听器状态 ``` - 监听器异常时:`lsnrctl start` 3. **检查客户端日志** - 定位`$ORACLE_HOME/log`下的客户端trace文件,搜索`ORA-03114`的详细上下文[^3]。 4. **排查资源冲突** - 检查是否有防火墙阻断、DNS解析失败或操作系统资源(如socket)耗尽。 --- #### **第二步:解决RMAN-03014与RMAN-03002** > *需在确保数据库连接稳定后操作* 1. **验证备份/恢复环境** ```bash RMAN> CROSSCHECK BACKUP; # 检查备份集有效性 RMAN> VALIDATE DATABASE; # 验证数据文件完整性 ``` 2. **检查脚本逻辑顺序** - 错误示例:在`RESTORE`前执行`SWITCH DATAFILE`(如引用[3]所述) - **正确顺序**: ```bash RESTORE DATABASE; SWITCH DATAFILE ALL; # 必须在RESTORE后执行 ``` 3. **权限与文件路径** - 确保RMAN操作目录权限正确(参考引用[2]): ```bash chown -R oracle:oinstall /backup_path ``` - 确认备份文件路径存在且可访问。 --- ### **关键预防措施** 1. **监控连接稳定性** - 定期检查`$ORACLE_HOME/network/log`下的监听日志。 2. **优化RMAN脚本** - 添加错误处理逻辑: ```bash RUN { ALLOCATE CHANNEL ch1 DEVICE DISK; SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; BACKUP DATABASE PLUS ARCHIVELOG; RELEASE CHANNEL ch1; } ``` 3. **启用RMAN冗余配置** - 使用`CONFIGURE CONTROLFILE AUTOBACKUP ON;`确保控制文件自动备份[^1][^3]。 --- ### **典型场景示例** 若在恢复备库控制文件时出现: ```bash RMAN> RESTORE STANDBY CONTROLFILE FROM '/backup/control.ctl'; RMAN-03002, RMAN-06172, ORA-03114 ``` **解决流程**: 1. 检查主库到备库的网络(`ping`/`tnsping`) 2. 确认备库监听器运行(`lsnrctl status`) 3. 验证`/backup/control.ctl`文件权限: ```bash chown oracle:oinstall /backup/control.ctl ``` 4. 重新执行`RESTORE`命令 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king_harry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值