我是靠谱客的博主 漂亮飞机,最近开发中收集的这篇文章主要介绍11g的RMAN在命令出错后退出程序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天尝试使用11gRMAN进行恢复时,发现了这个问题。

 

 

刚开始还没有太在意,后来发现,几乎只要命令没有正确的返回,都会造成这个错误,而且其中的信息还包括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,发现似乎是11gbug,在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.7fixed这个bug

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-442180/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-442180/

最后

以上就是漂亮飞机为你收集整理的11g的RMAN在命令出错后退出程序的全部内容,希望文章能够帮你解决11g的RMAN在命令出错后退出程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部