db_recovery_file_dest_size, v$flashback_database_logfile,v$restore_point引發的血案.

itpremier發表於2012-04-10


今天上午,公司的一臺資料庫HDIC的其中一個磁碟空間滿了,導致歸檔失敗,外部程式無法連入。

經過詳細檢查,發現是由於設定了強制的恢復點(v$restore_point)造成的,於是刪除掉不用的恢復點。
但是現在還是出現了磁碟空間大量佔用的情況,經檢查,是DATABASE FLASHBACK LOG佔用的,用了1.4TB,挺嚇人的。
查詢v$flashback_database_logfile確定檔名後,進入ASMCMD手工刪了一些。但是v$flashback_database_logfile中還有記錄,挺不爽的,做事就要做得乾淨徹底嘛。
經過思考和實踐,發現了刪除v$flashback_database_logfile記錄的方法,
其實很簡單,那就是先將資料庫引數db_recovery_file_dest_size改小,改成你希望的目標大小,
然後ORACLE後臺程式會默默地刪除相應的檔案及檢視v$flashback_database_logfile相應的記錄。
這時你可以在ASMCMD環境中用lsdg 檢視磁碟卷組可用空間大小在增長。待完成這一步之後,再將引數db_recovery_file_dest_size改回來即可。
--alter system set db_recovery_file_dest_size=1047883M ;
alter system set db_recovery_file_dest_size=1000M ;

[@more@]

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

相關文章