歸檔日誌滿導致的資料庫掛起故障處理【轉載】
crosscheck archivelog all;
delete noprompt expired archivelog all;
當資料庫執行在歸檔模式時,如果沒有做好備份策略或歸檔檔案和備份檔案放到同一個邏輯區,則偶爾會遇到歸檔日誌滿導致系統掛起事故。在這樣情況下,重啟資料庫不僅沒有用而且將問題更復雜化(記得重啟後在HA模式下的共享儲存也不見了,進行了手工mount後進行手工刪除部分歸檔日誌)。
根據實際環境有不同處理方法,如下是比較通用的處理過程:
1、檢視資料庫日誌檔案(alert_log)
2、檢視用於歸檔日誌或備份的磁碟空間
3、刪除歸檔日誌物理檔案,歸檔日誌一般都是位於目錄下
4、把歸檔日誌的物理檔案刪除後,Oracle就可以恢復正常了,但是還沒完全把歸檔日誌刪除乾淨。登入Rman,執行如下 兩條命令:
crosscheck archivelog all;
delete noprompt expired archivelog all;
本人也經歷了幾次,雖然當時沒有做記錄,現在覺得還是有必要進行總結分享。
[@more@]
當資料庫執行在歸檔模式時,如果沒有做好備份策略或歸檔檔案和備份檔案放到同一個邏輯區,則偶爾會遇到歸檔日誌滿導致系統掛起事故。在這樣情況下,重啟資料庫不僅沒有用而且將問題更復雜化(記得重啟後在HA模式下的共享儲存也不見了,進行了手工mount後進行手工刪除部分歸檔日誌)。
根據實際環境有不同處理方法,如下是比較通用的處理過程:
1、檢視資料庫日誌檔案(alert_log)
2、檢視用於歸檔日誌或備份的磁碟空間
3、刪除歸檔日誌物理檔案,歸檔日誌一般都是位於目錄下
4、把歸檔日誌的物理檔案刪除後,Oracle就可以恢復正常了,但是還沒完全把歸檔日誌刪除乾淨。登入Rman,執行如下 兩條命令:
crosscheck archivelog all;
delete noprompt expired archivelog all;
本人也經歷了幾次,雖然當時沒有做記錄,現在覺得還是有必要進行總結分享。
1、檢視資料庫日誌檔案(alert_sid.log)
檢視日誌檔案最後100行記錄:$tail -100lf alert_sid.log
2、檢視用於歸檔日誌或備份的磁碟空間
在Linux或Unix下可以透過檢視空間使用情況: $df -h
如果使用Oracle ASM儲存技術,則透過如下命令檢視:
$export ORACLE_SID=+ASM1
$asmcmd
ASMCMD> lsdg
3、刪除歸檔日誌物理檔案,歸檔日誌一般都是位於歸檔目錄下
刪除歸檔日誌既可以手工刪除,也可以透過RMAN來刪除。如果採用手工刪除則需要進行本文第4步驟來清理控制檔案內容。
在檔案系統管理模式下手工刪除方法:
$ls -lrt --該命令按時間升序顯示檔案
$rm filename --filename為要刪除的檔名
在ASM管理模式下手工刪除方法:
ASMCMD> cd archivelog
ASMCMD> ls
2011_10_05/
2011_10_06/
ASMCMD> cd 2011_10_05
ASMCMD> ls -lrt ----該命令按時間升序顯示檔案
ASMCMD> rm filename --filename為要刪除的檔名
4、把歸檔日誌的物理檔案刪除後,Oracle就可以恢復正常了,但是還沒完全把歸檔日誌刪除乾淨。登入Rman,執行如下 兩條命令:
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired archivelog all;
透過如上處理過程,可以讓系統執行恢復正常。但是透過這個方式後清理出來空間肯能並不是很大。在一般情況先如果採用RMAN備份方案,則建議將執行如下幾行Rman命令,這樣可能清理因備份不安計劃執行等原因造成一些過期或重複的備份檔案;
RMAN> crosscheck backup;
RMAN> delete noprompt expired backup;
RMAN> delete noprompt obsolete;
RMAN> resync catalog;
最終還要總結其他兩種情況:
刪除某幾天前所有歸檔日誌的方法
當出現應急情況下,如果對資料庫備份方案熟悉,則透過如下Rman命令也可以刪除某幾天之前的所有歸檔日誌。刪除7天前所有歸檔日誌:
RMAN>run{
DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7';
}
RMAN>crosscheck archivelog all;
RMAN>delete noprompt expired archivelog all;
UNIX/LINUX下也可以透過FIND找到7天前的歸檔資料,使用EXEC子操作刪除
find /archivelog -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
這樣做仍然會在RMAN裡留下未管理的歸檔檔案
仍需要在RMAN裡執行下面2條命令
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
db_recovery_file_dest_size 引數
從Oracle10g開始,db_recovery_file_dest_size引數一般用來存放歸檔日誌(archivelog)和rman的備份集(backupset),預設值一般為2G,當備份和歸檔日誌超過該引數是也會出現ORA-19815錯誤。解決辦法就是增大db_recovery_file_dest_size 的引數值:
SQL> show parameter db_recovery_file_dest_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size big integer 2G
SQL> alter system set db_recovery_file_dest_size=4G;
系統已更改。
SQL> show parameter db_recovery_file_dest_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size big integer 4G
SQL>
透過以上街上Rman命令刪除不必要的資料並同步控制檔案或catalog庫內容。
原文地址:http://blog.itpub.net/18841027/viewspace-1055471/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28853590/viewspace-2122740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASM空間爆滿導致資料庫掛起ASM資料庫
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- 歸檔日誌滿導致ORA-13516錯誤,awr報表不能自動收集
- oracle資料庫歸檔日誌量陡增分析Oracle資料庫
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- SQLServer資料庫日誌太大處理方式SQLServer資料庫
- sqlldr標準輸出未處理導致批處理掛起問題SQL
- sqlsever處理資料庫的恢復掛起狀態SQL資料庫
- 使用資料庫處理併發可能導致的問題資料庫
- 對歸檔模式下CLEAR 未歸檔日誌後恢復資料庫的一點看法模式資料庫
- hbase 故障的處理方案。 (轉載文章)
- Oracle資料庫分割槽表SPLIT操作導致歸檔瘋漲Oracle資料庫
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- 達夢資料庫DM8之刪除歸檔日誌檔案資料庫
- 達夢資料庫[-718]收集到的歸檔日誌不連續資料庫
- openGauss資料庫日誌管理指導資料庫
- 【YashanDB知識庫】archivelog磁碟滿導致資料庫abnormalHive資料庫ORM
- jenkins導致硬碟佔用滿了如何處理Jenkins硬碟
- RMAN刪除歸檔日誌出現RMAN-0813錯誤的處理
- 歸檔日誌挖掘
- PostgreSQL 歸檔日誌SQL
- oracle歸檔日誌Oracle
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- 測試,ogg從歸檔日誌中抽取資料
- RMAN備份整庫和歸檔日誌的方法
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- ORACLE DATAGUARD災備歸檔空間滿導致的ORA-00600 [2619]Oracle
- 【伺服器資料恢復】raid5故障導致儲存的卷無法掛載的資料恢復伺服器資料恢復AI
- 歸檔oracle alert日誌Oracle
- 14. 日誌歸檔
- Oracle歸檔日誌清理Oracle
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 【伺服器資料恢復】IBM儲存raid5故障導致卷無法掛載的資料恢復伺服器資料恢復IBMAI
- 雲伺服器系統盤滿導致桌面檔案不見了的處理方法伺服器
- 故障分析 | 血的教訓-由慢查詢引發的備份等待導致資料庫連線打滿資料庫
- 故障分析 | MySQL convert 函式導致的字符集報錯處理MySql函式
- 轉載ORA-01591錯誤故障處理(ji)