概述
今天尝试使用11g的RMAN进行恢复时,发现了这个问题。
刚开始还没有太在意,后来发现,几乎只要命令没有正确的返回,都会造成这个错误,而且其中的信息还包括RMAN-600这种内部错误。
类似的错误包括:
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
DBGANY: Mismatched message length! [14:05:33.050] (krmiduem)
DBGANY: Mismatched message length! [14:05:33.051] (krmiduem)
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00600: internal error, arguments [3045] [] [] [] []
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: startup 命令 (在 09/04/2008 14:05:33 上) 失败
ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志
$
控制文件出错,RMAN并没有给出错误原因,而是让用户直接去看alert日志,首先在可读性方面就有问题。其次rman命令的错误不应该导致rman工具的退出。
类似的错误还有:
RMAN> restore database;
启动 restore 于 04-9月 -08
使用通道 ORA_DISK_1
创建数据文件, 文件号 = 1 名称 = /dev/vx/rdsk/datavg/rac11g_system_1_1g
DBGANY: Mismatched message length! [14:18:20.868] (krmiduem)
DBGANY: Mismatched message length! [14:18:20.870] (krmiduem)
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00600: internal error, arguments [3045] [] [] [] []
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 09/04/2008 14:18:20 上) 失败
ORA-01180: 无法创建数据文件 1
ORA-01110: 数据文件 1: '/dev/vx/rdsk/datavg/rac11g_system_1_1g'
$
以及错误:
RMAN> catalog backuppiece '+DATA/RAC11G/01jpk0bj_1_1';
DBGANY: Mismatched message length! [14:33:30.426] (krmiduem)
DBGANY: Mismatched message length! [14:33:30.471] (krmiduem)
DBGANY: Mismatched message length! [14:33:30.473] (krmiduem)
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00600: internal error, arguments [3045] [] [] [] []
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: catalog 命令 (default 通道上, 在 09/04/2008 14:33:30 上) 失败
RMAN-00600: internal error, arguments [3045] [] [] [] []
ORA-19870: 还原备份片段 +DATA/rac11g/01jpk0bj_1_1 时出错
ORA-19505: 无法识别文件"+DATA/rac11g/01jpk0bj_1_1"
ORA-17503: ksfdopn: 2 未能打开文件 +DATA/rac11g/01jpk0bj_1_1
ORA-15173: entry '01jpk0bj_1_1' does not exist in directory 'rac11g'
$
检查了metalink,发现似乎是11g的bug,在Bug No. 7027628中描述了这个错误,不过这个bug并不是一个基础bug,而是指向了另一个看起来和当前问题不相关的错误,不管怎样,根据这个bug描述的方法是可以避免错误的。
$ bash
bash-3.00$ export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
bash-3.00$ rman target /
Recovery Manager: Release 11.1.0.6.0 - Production on Thu Sep 4 17:58:31 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: RAC11G (DBID=1712482917)
RMAN> catalog backuppiece '+DATA/RAC11G/01jpk0bj_1_1';
using target database control file instead of recovery catalog
ORA-19870: error while restoring backup piece +DATA/rac11g/01jpk0bj_1_1
ORA-19505: failed to identify file "+DATA/rac11g/01jpk0bj_1_1"
ORA-17503: ksfdopn:2 Failed to open file +DATA/rac11g/01jpk0bj_1_1
ORA-15173: entry '01jpk0bj_1_1' does not exist in directory 'rac11g'
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of catalog command at 09/04/2008 17:58:40
RMAN-06209: List of failed objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Backup Piece +DATA/rac11g/01jpk0bj_1_1
将NLS_LANG设置为非中文环境,就可以临时避免这个问题的产生。Oracle计划在11.1.0.7中fixed这个bug。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-442180/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-442180/
最后
以上就是漂亮飞机为你收集整理的11g的RMAN在命令出错后退出程序的全部内容,希望文章能够帮你解决11g的RMAN在命令出错后退出程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复