一次快速閃回區滿導致資料庫不能啟動的解決過程

dbhelper發表於2014-12-04
一、事件背景描述:一個測試系統的資料庫由於磁碟空間滿了,清理了磁碟空間的,等待很久系統沒有相應,因此透過shutdown immediate命令重新啟動資料庫,但是資料庫一直關閉不了,所以透過shutdown abort命令關閉資料庫,然後啟動資料庫的時候報以下錯誤:ORA-38760: This database instance failed to turn on flashback database;

二、處理步驟:
1、針對報錯初步認為是由於系統開了閃回,所以啟動不了,因此關閉了資料庫的閃回;命令:alter database flashback off;
重新啟動資料庫,發現問題依舊;
2、檢查快速閃回區的使用情況,預設是3GB,重新配置成5GB後,重啟資料庫依然有問題;(後面查詢日誌,發現5GB的空間仍然不夠, WARNING: db_recovery_file_dest_size of 5368709120 bytes is 100.00% used,如果設定的大寫應該可以解決問題;)
3、刪除快速閃回區的日誌,並重新啟動資料庫,資料庫依然報錯;
4、經過檢查資料庫之前建立了閃回的還原點,刪除了還原點後資料庫可以開啟;(原因:由於建立了還原點,所以即使關閉了快速閃回,資料庫依然也要寫閃回日誌,因為需要保證建立的還原點能夠被閃回,刪除還原點後,閃回日誌自動被刪除;)

日誌如下:Drop guaranteed restore point BCD
Stopping background process RVWR
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxfxb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxhsr_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9056qs4b_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_905bpoz6_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9079prqj_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907k1vdb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907kcvb5_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90b5h7x1_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hg7smd_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hlttpk_.flb

三、問題總結:
本次的系統當機,有兩個原因
1、由於磁碟空間滿了,所以資料庫不能寫歸檔;
2、由於快速閃回去滿了,所以資料庫不能寫閃回日誌;
解決方法:
1、歸檔的問題:刪除了磁碟上面的無效資料,保證能夠寫歸檔;
2、快速閃回去的問題:a)可以擴大快速閃回區的大小,必須足夠大,本例中設定成5G依然不夠;
                                       b)關閉快速閃回,並刪除閃回建立的還原點;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1356164/,如需轉載,請註明出處,否則將追究法律責任。

相關文章