儲存壞道造成資料庫hang住
一、現象描述:
在測試環境HP-UX 11.2平臺上oracle 10.2.0.4,突然資料庫hang住,使用SQLPLUS登入,登入介面hang住,沒有顯示任何出錯資訊,無法訪問bdump下目錄,使得不能讀取alert.log日誌檔案。
二、分析:
1、最先懷疑是作業系統問題,機器重啟後,問題依然存在
2、檢視系統日誌,出現如下錯誤
vmunix: SCSI: Write error -- dev: b 31 0x1b6300, errno: 126, resid: 8192
3、使用exportvg和importvg後發現,原先的用於資料庫資料檔案的邏輯卷全部變成了lvol??的卷組名。
4、初步診斷是EMC DMX800儲存盤出問題,反饋廠家檢查,發現同一個RAID5磁碟組中的兩個磁碟出現了壞道。
5、需要對資料庫重新進行遷移到新的磁碟。
三、資料庫遷移
1、mount 檔案系統(包含udump等目錄)出現如下錯誤
$ mount /dev/xxxxx/lvol1 /home/xxxx
system error "UX:vxfs mount: ERROR: V-3-21268: /dev/xxxxx/lvol1 is
corrupted. needs checking"
2、修復該檔案系統
$fsck -F vxfs -o full, nolog /dev/xxxxxx/lvol1
$mount /dev/xxxxx/lvol1 /home/xxxx
3、因為lv的卷名已發生了變化,需要通過strings命令檢視lv資訊,確認邏輯卷是否可讀,並定位該邏輯卷名可能屬於的資料庫表空間
4、先恢復控制檔案,匯出控制檔案資訊,讀取控制檔案中資料檔案資訊
SQL>alter database backup controlfile to trace
5、將每個資料檔案中的邏輯卷硬dd命令拷貝到新的磁碟中所建立的lv
dd if=/dev/xxxx/rlvolxx f=/dev/xxx/rnewxxlv bs=4k
6、dd完成後,重新按照控制檔案中資料檔案所指定的目錄進行ln -s命令操作
7、重新開啟資料庫成功
四、其他
在檢視alert.log檔案中發現資料庫損壞前出現如下錯誤:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1,
osid 7789'
該問題解決可參看metelink 779552.1
從文件中知道與 Bug 7692631和Bug 7914003相關,解決辦法如下:
1、If you want to avoid the kill of the blocker (background or
non-background process) you can set
_kill_controlfile_enqueue_blocker=false.
2、In order to prevent a background blocker from being killed, you can
set the following init.ora parameter to 1 (default is 3).
_kill_enqueue_blocker=1
在測試環境HP-UX 11.2平臺上oracle 10.2.0.4,突然資料庫hang住,使用SQLPLUS登入,登入介面hang住,沒有顯示任何出錯資訊,無法訪問bdump下目錄,使得不能讀取alert.log日誌檔案。
二、分析:
1、最先懷疑是作業系統問題,機器重啟後,問題依然存在
2、檢視系統日誌,出現如下錯誤
vmunix: SCSI: Write error -- dev: b 31 0x1b6300, errno: 126, resid: 8192
3、使用exportvg和importvg後發現,原先的用於資料庫資料檔案的邏輯卷全部變成了lvol??的卷組名。
4、初步診斷是EMC DMX800儲存盤出問題,反饋廠家檢查,發現同一個RAID5磁碟組中的兩個磁碟出現了壞道。
5、需要對資料庫重新進行遷移到新的磁碟。
三、資料庫遷移
1、mount 檔案系統(包含udump等目錄)出現如下錯誤
$ mount /dev/xxxxx/lvol1 /home/xxxx
system error "UX:vxfs mount: ERROR: V-3-21268: /dev/xxxxx/lvol1 is
corrupted. needs checking"
2、修復該檔案系統
$fsck -F vxfs -o full, nolog /dev/xxxxxx/lvol1
$mount /dev/xxxxx/lvol1 /home/xxxx
3、因為lv的卷名已發生了變化,需要通過strings命令檢視lv資訊,確認邏輯卷是否可讀,並定位該邏輯卷名可能屬於的資料庫表空間
4、先恢復控制檔案,匯出控制檔案資訊,讀取控制檔案中資料檔案資訊
SQL>alter database backup controlfile to trace
5、將每個資料檔案中的邏輯卷硬dd命令拷貝到新的磁碟中所建立的lv
dd if=/dev/xxxx/rlvolxx f=/dev/xxx/rnewxxlv bs=4k
6、dd完成後,重新按照控制檔案中資料檔案所指定的目錄進行ln -s命令操作
7、重新開啟資料庫成功
四、其他
在檢視alert.log檔案中發現資料庫損壞前出現如下錯誤:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1,
osid 7789'
該問題解決可參看metelink 779552.1
從文件中知道與 Bug 7692631和Bug 7914003相關,解決辦法如下:
1、If you want to avoid the kill of the blocker (background or
non-background process) you can set
_kill_controlfile_enqueue_blocker=false.
2、In order to prevent a background blocker from being killed, you can
set the following init.ora parameter to 1 (default is 3).
_kill_enqueue_blocker=1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-621579/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫hang住,分析處理資料庫
- 導數時資料庫hang住分析資料庫
- 資料庫異常hang住解決資料庫
- 資料庫Hang住怎麼辦 - HANGANALYZE資料庫
- oracle僵死會話鎖住buffer,導致資料庫hang住Oracle會話資料庫
- 一個儲存過程編譯HANG住的分析儲存過程編譯
- 資料庫Hang住怎麼辦 - HANGANALYZE[final]資料庫
- 【伺服器資料恢復】IBM儲存伺服器硬碟壞道離線、oracle資料庫損壞的資料恢復伺服器資料恢復IBM硬碟Oracle資料庫
- Oracle 19.3資料庫impdp匯入view時hang住Oracle資料庫View
- 19c資料庫impdp匯入view時hang住資料庫View
- 恢復資料庫hang住/parallel recovery read buffer free資料庫Parallel
- oracle資料庫hang住分析工具Hanganalyze使用總結Oracle資料庫
- DELL EqualLogic PS6100儲存硬碟壞道資料恢復硬碟資料恢復
- file-max設定過小導致oracle資料庫hang住Oracle資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- 列式儲存資料庫資料庫
- 【伺服器資料恢復】EqualLogic儲存磁碟出現壞道的資料恢復案例伺服器資料恢復
- 資料庫HANG著資料庫
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- oracle 11g rac 共享儲存壞掉後資料庫恢復Oracle資料庫
- 【資料庫】資料庫儲存過程(一)資料庫儲存過程
- 記一次Oracle資料庫無響應(hang住)故障的處理Oracle資料庫
- 如何診斷oracle資料庫執行緩慢或hang住的問題Oracle資料庫
- Flash Recovery Area空間不足導致資料庫不能開啟或hang住資料庫
- MySQL 資料庫儲存引擎MySql資料庫儲存引擎
- 資料庫突然hang了資料庫
- IOS資料儲存之Sqlite資料庫iOSSQLite資料庫
- IOS資料儲存之FMDB資料庫iOS資料庫
- 資料庫關閉Hang住,出現錯誤PMON failed to acquire latch, see PMON dump資料庫AIUI
- 資料泵匯入分割槽表長時間HANG住
- 【儲存資料恢復】IBM儲存檔案NTFS系統損壞的資料恢復案例資料恢復IBM
- 報表資料分庫儲存
- MySql資料庫——儲存過程MySql資料庫儲存過程
- MySQL資料庫操作、儲存引擎MySql資料庫儲存引擎
- gitlab資料庫儲存位置Gitlab資料庫
- 使用Room持久庫儲存資料OOM
- 管理資料庫儲存結構資料庫
- 儲存與資料庫系統資料庫