ORA-16038,ORA-19809,ORA-00312

出現ORA-16038 ORA-19809 ORA-00312

Oracle 10g默認的歸檔日誌存放在flash_recovery_area,而默認安裝的時候該區間選擇了1G大小
當歸檔日誌超過1G的時候,空間不足,於是無法歸檔,當時手工刪除歸檔日誌文件,Oracle是無法識別空間是否釋放。

導致數據庫無法啓動

 

 

解決辦法:
1、mount數據庫
sql> startup mount            (注意,這時候還會報錯,但是可以更改系統參數)

2、 更改系統參數
sql> alter system set  db_recovery_file_dest_size=2g scope=spfile;
參數db_recovery_file_dest_size的值根據磁盤剩餘空間大小和實際需要來設置,沒有定論

3、打開數據庫
sql> alter database open

不會成功的


4、刪除失效歸檔日誌.
rman
RMAN> connect target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> exit

5、重新啓動數據庫

sql> shutdown immediate
sql> startup
OK

--另一個版本的解決方法---------------------------------------------------------------------------------------------

oracle出現ORA-16038,ORA-19809,ORA-00312問題的解決方法 SQL> startup
ORACLE 例程已經啓動。

Total System Global Area 188743680 bytes
Fixed Size 1248020 bytes
Variable Size 79693036 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
數據庫裝載完畢。
ORA-16038: 日誌 3 序列號 46 無法歸檔
ORA-19809: 超出了恢復文件數的限制
ORA-00312: 聯機日誌 3 線程 1:
'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG'


SQL> alter database clear unarchived logfile 'D:ORACLEPRODUCT10.2.0ORADATAO
RCLREDO03.LOG';

數據庫已更改。

SQL> shutdown immediate
ORA-01109: 數據庫未打開


已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。

Total System Global Area 188743680 bytes
Fixed Size 1248020 bytes
Variable Size 79693036 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL>

無法歸檔錯誤主要是因爲數據庫不正常關閉,SQL語句出錯造成數據線程停止所因起。

發佈了63 篇原創文章 · 獲贊 5 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章