Oracle出現ORA-16038,ORA-19809,ORA-00312的解決方法

lpwebnet發表於2013-11-21
SQL>startup mount
Total System Global Area 2097152000 bytes
Fixed Size                  1268436 bytes
Variable Size             536872236 bytes
Database Buffers         1543503872 bytes
Redo Buffers               15507456 bytes
Database mounted
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16038: log 3 sequence# 498 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/opt/oracle/oradata/nuage/redo03.log'

從 上面不難看出資料庫無法歸檔.那什麼原因造成的呢?透過檢視了alter的日誌,分析在某個時點出現了異常隨後找了相關的瞭解下情況,主要是開發人員在不 正常的情況下關閉資料庫,這樣一來使得在沒有執行完畢的SQL語句造成資料庫執行緒停止.知道了原因接下來就解決問題吧!
SQL> alter database clear unarchived logfile '/opt/oracle/oradata/nuage/redo03.log';
Database altered.

SQL>shutdown immediate
Database closed.
Database dismounted.

SQL>startup mount
Total System Global Area 2097152000 bytes
Fixed Size                  1268436 bytes
Variable Size             536872236 bytes
Database Buffers         1543503872 bytes
Redo Buffers               15507456 bytes
Database mounted
SQL> alter database open;
Database altered.
透過這次的故障給我們敲響警鐘,在任何情況下都得正常的關閉資料庫.

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

相關文章