一次帶庫備份異常
今天在測試RAC的備份時發現,一個節點上備份到帶庫出現異常。
現象是在一個節點上備份到帶庫,整個備份過程就沒有任何的相應了。
透過netbackup的圖形管理工具jnbSA,發現後臺備份job已經失敗。錯誤狀態54。
前臺程式必須透過CTRL+C來手工中止,其中錯誤資訊類似如下:
RMAN> backup spfile;
啟動 backup 於 22-6月 -07忽略 SBT_TAPE 通道 2 的配置分配的通道: ORA_SBT_TAPE_1通道 ORA_SBT_TAPE_1: sid=288 例項=testrac1 devtype=SBT_TAPE通道ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)通道 ORA_SBT_TAPE_1: 啟動全部資料檔案備份集通道 ORA_SBT_TAPE_1: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 ORA_SBT_TAPE_1: 正在啟動段 1 於 22-6月 -07
^C
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (ORA_SBT_TAPE_1 通道上, 在 06/22/2007 20:24:54 上) 失敗
ORA-19506: 無法建立順序檔案, 名稱 = "p3ikujbo_1_1", 引數 = ""
ORA-27028: skgfqcre: sbtbackup 返回錯誤
ORA-19511: 從介質管理器層接收到錯誤, 錯誤文字為:
VxBSACreateObject: Failed with error:
Server Status: Communication with the server has not been iniatated or the server status has not been retrieved from the server.
RMAN>
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: 分析輸入命令時出錯
RMAN-01006: 在分析時出錯訊號
RMAN-02003: 無法識別的字元:
或者:
$ rman target /
恢復管理器: Release 10.2.0.3.0 - Production on 星期五 6月 22 22:00:42 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: TESTRAC (DBID=4291216984)
RMAN> backup spfile;
啟動 backup 於 22-6月 -07使用目標資料庫控制檔案替代恢復目錄忽略 SBT_TAPE 通道 2 的配置分配的通道: ORA_SBT_TAPE_1通道 ORA_SBT_TAPE_1: sid=283 例項=testrac1 devtype=SBT_TAPE通道ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)通道 ORA_SBT_TAPE_1: 啟動全部資料檔案備份集通道 ORA_SBT_TAPE_1: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 ORA_SBT_TAPE_1: 正在啟動段 1 於 22-6月 -07
^C接受到使用者中斷完成 backup 於 22-6月 -07
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03099: 按使用者要求取消作業
RMAN>
RMAN> RUN
2> {
3> ALLOCATE CHANNEL C1 DEVICE TYPE SBT;
4> BACKUP TABLESPACE USERS;
5> }
釋放的通道: ORA_SBT_TAPE_1分配的通道: C1通道 C1: sid=283 例項=testrac1 devtype=SBT_TAPE通道C1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
啟動 backup 於 22-6月 -07通道 C1: 啟動全部資料檔案備份集通道 C1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 C1: 正在啟動段 1 於 22-6月 -07
^C 接受到使用者中斷完成 backup 於 22-6月 -07
釋放的通道: C1
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03099: 按使用者要求取消作業
透過jnbSA的圖形介面,觀測錯誤資訊的詳細記錄發現:
1: (54) timed out connecting to client
看來似乎是連線出了問題,但是如果連線失敗,RAC環境就會出現問題,其中一個例項會自動關閉,而現在仍然是正常的,檢查網路也未發現異常。
而且,這個問題只發生在一個節點上,對另一個節點上的RMAN執行沒有影響。
莫非是配置的問題,檢查了一下RMAN的配置:
RMAN> SHOW ALL;
RMAN 配置引數為:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO 'c_%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
CONFIGURE CHANNEL 2 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/backup/%U', '/data1/%U';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/data/oracle/product/10.2/database/dbs/snapcf_testrac1.f'; # default
發現了為了測試多個備份集而設定了CHANNEL的SEND配置引數。而且備份引數傳遞的CLIENT資訊就是可以成功備份的那個節點。
莫非就是這個問題導致的,嘗試清除所有的CHANNEL配置:
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE SBT CLEAR;
舊的 RMAN 配置引數:
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';已成功刪除舊的 RMAN 配置引數
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE SBT CLEAR;
舊的 RMAN 配置引數:
CONFIGURE CHANNEL 2 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';已成功刪除舊的 RMAN 配置引數
RMAN> EXIT
恢復管理器完成。
$ rman target /
恢復管理器: Release 10.2.0.3.0 - Production on 星期五 6月 22 22:52:56 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: TESTRAC (DBID=4291216984)
RMAN> backup spfile;
啟動 backup 於 22-6月 -07使用目標資料庫控制檔案替代恢復目錄分配的通道: ORA_SBT_TAPE_1通道 ORA_SBT_TAPE_1: sid=281 例項=testrac1 devtype=SBT_TAPE通道ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)通道 ORA_SBT_TAPE_1: 啟動全部資料檔案備份集通道 ORA_SBT_TAPE_1: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 ORA_SBT_TAPE_1: 正在啟動段 1 於 22-6月 -07通道 ORA_SBT_TAPE_1: 已完成段 1 於 22-6月 -07段控制程式碼=p9ikusus_1_1 標記=TAG20070622T225315 註釋=API Version 2.0,MMS Version 5.0.0.0通道 ORA_SBT_TAPE_1: 備份集已完成, 經過時間:00:02:06完成 backup 於 22-6月 -07
居然就是由於SEND的CLIENT資訊與當前節點不匹配造成的。奇怪的是,前面嘗試手工分配CHANNDEL的時候,按說應該不會繼承自動配置的結果,沒想到也同樣的報錯了。看來這個SEND配置會對後面所有的CHANNEL都生效。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69321/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mssql資料庫異地進行異地備份的方法SQL資料庫
- ManagerDB 備份檔案管理與異地備份
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- RMAN備份異機恢復
- 【問題備忘錄】記一次DNS解析異常現象處理DNS
- Flutter | 記一次Mixin Analysis異常Flutter
- 記錄一次事務異常
- oracle資料庫備份之exp增量備份Oracle資料庫
- 資料庫備份資料庫
- Oracle磁帶備份模擬Oracle
- DataIntegrityViolationException異常:java利用mymatis連線資料庫異常AIExceptionJava資料庫
- BMMySQL定時備份資料庫(全庫備份)的實現meuMySql資料庫
- 一次django記憶體異常排查Django記憶體
- Linux 常見異常分析,請收好這份排查指南~Linux
- rman備份異機恢復(原創)
- 企業網盤伺服器資料異地備份、遠端備份、增量備份解決方案伺服器
- mysql 資料庫 備份MySql資料庫
- 資料庫備份策略資料庫
- MongoDB資料庫備份MongoDB資料庫
- 一次分割槽查詢異常的分析
- 備份與恢復:polardb資料庫備份與恢復資料庫
- OceanBase-OB備份異地恢復流程
- 異地自動備份INSTALL資料夾
- 使用RMAN備份資料庫資料庫
- 資料庫備份恢復資料庫
- SQL資料庫備份管理SQL資料庫
- innobackupex 備份MySQL資料庫MySql資料庫
- 資料庫備份指令碼資料庫指令碼
- mysqlpump 資料庫備份程式MySql資料庫
- mysqldump 資料庫備份程式MySql資料庫
- SQL Server資料庫判斷最近一次的備份執行結果SQLServer資料庫
- muduo網路庫Exception異常類Exception
- MySQLNonTransientConnectionException資料庫連線異常MySqlException資料庫
- STANDBY_FILE_MANAGEMENT引數未設定auto導致的ADG備庫異常
- 記錄一次Springboot Data Jdbc的autoWorkController異常Spring BootJDBCController
- 記一次訂單號重複的異常
- 一次ceph心跳機制異常的處理
- Mysqldump 在備庫進行備份時會阻塞備庫的sql_threadMySqlthread
- 如何使用Hyper Backup備份資料至異地