11g的RMAN在命令出錯後退出程式
今天嘗試使用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g RMAN備份-RMAN的backup database plus archivelog命令背後的操作OracleDatabaseHive
- 把oracle RMAN的命令輸出寫在檔案上Oracle
- 在IDEA上執行成功,打包成jar包後,執行報錯,程式自動退出IdeaJAR
- Linux終端退出後導致nohup程式退出Linux
- VIM退出命令
- shell:nohup (在系統後臺不掛起地執行命令,退出終端不會影響程式的執行)
- 用nohup命令程式在後臺執行
- RMAN中檢查指令碼語法錯誤的命令指令碼
- Linux 命令出現>號(大於號)如何退出Linux
- 在論壇設定的最後一步出錯
- 遠端啟動命令,讓命令程式在後臺執行
- 線上追蹤壓縮後的JS出錯程式碼JS
- 【RMAN】Oracle12c之後,rman備份Dataguard備端恢復可能出現邏輯錯誤Oracle
- MySQL退出命令列模式MySql命令列模式
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- rman 命令
- RMAN命令
- ORACLE 11G 新的後臺程式Oracle
- Nohup命令讓Linux下的程式在後臺執行 - 轉Linux
- 執行npm update等命令出錯後如何分析問題根源NPM
- 安裝QTP後,啟動qtp程式自動退出QT
- oracle rman backup命令檢查資料庫錯誤Oracle資料庫
- Oracle 11g RMAN恢復時報錯"RMAN-06100"、"RMAN-06026"、"RMAN-03002"Oracle
- python命令列如何退出Python命令列
- expdp exclude/include 命令出錯
- 登路後跳入退出前的路由路由
- 使用rman執行recover database 的時候出現RMAN-06054的錯誤提示Database
- RMAN刪除歸檔日誌出現RMAN-0813錯誤的處理
- Android 退出多個Activity | 退出程式Android
- 【RMAN】在備庫執行rman備份時報錯RMAN-06820 ORA-17629
- RMAN的"rman: can't open target"錯誤
- RMAN命令大全
- rman(2)--命令
- RMAN命令整理
- informix onbar恢復報錯,onbar程式直接退出ORM
- Oracle 11g RMAN 異機恢復報錯 RMAN-06172、ORA-07202Oracle
- RMAN中常用的命令(一)
- RMAN常用的命令和操作