ORACLE的歸檔空間滿導致的監聽故障資料庫無法啟動
故障現象:
ERROR : ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務解決
像平常一樣,使用PLSQL準備做點小實驗,登入自己的測試庫的時候,突然無法連線了
剛開始還以為是監聽的問題,lsnrctl status看了一下發現例項是UNKNOWN的
例項 "ORA11G", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
然後想去查查資料庫執行狀態,發現連線的是空閒例項,startup無法啟動,報錯如下:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 778387456 bytes
Fixed Size 1374808 bytes
Variable Size 436209064 bytes
Database Buffers 335544320 bytes
Redo Buffers 5259264 bytes
資料庫裝載完畢。
ORA-03113: 通訊通道的檔案結尾
程式 ID: 19936
會話 ID: 125 序列號: 5
然後去檢視alert.log,發現歸檔日誌空間爆滿了。
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_arc2_19692.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 47455232 bytes disk space from 4294967296 limit
ARCH: Archival stopped, error occurred. Will continue retrying
ARC2: Error 19809 Creating archive log file to 'D:\ORACLE11G\FLASH_RECOVERY_AREA\ORA11G\ARCHIVELOG\2015_11_26\O1_MF_1_111_%U_.ARC'
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_arc1_4212.trc:
ORA-16038: log 5 sequence# 110 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 5 thread 1: 'D:\ORACLE11G\PRODUCT\GROUP_5_REDO_LOG_05.LOG'
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_ora_19936.trc:
ORA-19815: 警告: db_recovery_file_dest_size 位元組 (共 4294967296 位元組) 已使用 100.00%, 尚有 0 位元組可用。
手動刪除了所有物理上的歸檔日誌檔案,(刪之前看了一眼,檔案大小達到3.99G,我給歸檔日誌空間設定的總大小是4G,明顯爆滿了)
rman target /
crosscheck archivelog all;
delete expired archivelog all;
再重新啟動資料庫,可以開啟資料庫,恢復正常
SQL> alter database open;
資料庫已更改。
SQL> select status from v$instance;
STATUS
------------
OPEN
總結:
ORACLE資料庫開啟歸檔模式後,雖然能方便進行level級的全增備份策略,但是總會因為歸檔日誌空間爆滿的問題而遇到各種各樣的報錯,所以日常巡檢中一定要多注意觀察歸檔日誌空間的使用情況,在儲存空間足夠的情況下,儘量將歸檔日誌空間設定大一些,同時每天進行備份的時候要及時對過期日誌進行自動清除。
ERROR : ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務解決
像平常一樣,使用PLSQL準備做點小實驗,登入自己的測試庫的時候,突然無法連線了
剛開始還以為是監聽的問題,lsnrctl status看了一下發現例項是UNKNOWN的
例項 "ORA11G", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
然後想去查查資料庫執行狀態,發現連線的是空閒例項,startup無法啟動,報錯如下:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 778387456 bytes
Fixed Size 1374808 bytes
Variable Size 436209064 bytes
Database Buffers 335544320 bytes
Redo Buffers 5259264 bytes
資料庫裝載完畢。
ORA-03113: 通訊通道的檔案結尾
程式 ID: 19936
會話 ID: 125 序列號: 5
然後去檢視alert.log,發現歸檔日誌空間爆滿了。
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_arc2_19692.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 47455232 bytes disk space from 4294967296 limit
ARCH: Archival stopped, error occurred. Will continue retrying
ARC2: Error 19809 Creating archive log file to 'D:\ORACLE11G\FLASH_RECOVERY_AREA\ORA11G\ARCHIVELOG\2015_11_26\O1_MF_1_111_%U_.ARC'
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_arc1_4212.trc:
ORA-16038: log 5 sequence# 110 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 5 thread 1: 'D:\ORACLE11G\PRODUCT\GROUP_5_REDO_LOG_05.LOG'
Errors in file d:\oracle11g\diag\rdbms\ora11g\ora11g\trace\ora11g_ora_19936.trc:
ORA-19815: 警告: db_recovery_file_dest_size 位元組 (共 4294967296 位元組) 已使用 100.00%, 尚有 0 位元組可用。
手動刪除了所有物理上的歸檔日誌檔案,(刪之前看了一眼,檔案大小達到3.99G,我給歸檔日誌空間設定的總大小是4G,明顯爆滿了)
rman target /
crosscheck archivelog all;
delete expired archivelog all;
再重新啟動資料庫,可以開啟資料庫,恢復正常
SQL> alter database open;
資料庫已更改。
SQL> select status from v$instance;
STATUS
------------
OPEN
總結:
ORACLE資料庫開啟歸檔模式後,雖然能方便進行level級的全增備份策略,但是總會因為歸檔日誌空間爆滿的問題而遇到各種各樣的報錯,所以日常巡檢中一定要多注意觀察歸檔日誌空間的使用情況,在儲存空間足夠的情況下,儘量將歸檔日誌空間設定大一些,同時每天進行備份的時候要及時對過期日誌進行自動清除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1846926/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 歸檔問題導致的資料庫無法啟動資料庫
- 歸檔日誌滿導致的資料庫掛起故障處理資料庫
- ORACLE 歸檔空間滿導致的enq: TX - row lock contentionOracleENQ
- oracle歸檔日誌滿了,導致無法啟動 ORA-03113Oracle
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- Oracle資料庫的歸檔日誌寫滿磁碟空間解決辦法Oracle資料庫
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- 啟動資料庫,啟動監聽,檢視是否歸檔資料庫
- 歸檔日誌滿導致的資料庫掛起故障處理【轉載】資料庫
- 【問題處理】因ASM磁碟組空間不足導致資料庫例項無法啟動的故障處理ASM資料庫
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- Oracle10g中的flashback啟用日誌歸檔,寫滿空間導致錯誤Oracle
- ASM空間爆滿導致資料庫掛起ASM資料庫
- UNDO表空間損壞導致資料庫無法OPEN資料庫
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- 非歸檔模式下異常斷電導致的資料庫無法啟動的問題修復模式資料庫
- oracle資料庫歸檔日誌空間滿引起的錯誤處理Oracle資料庫
- ORACLE DATAGUARD災備歸檔空間滿導致的ORA-00600 [2619]Oracle
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 【恢復】非歸檔模式下因誤刪除資料檔案導致資料庫無法OPEN的故障處理模式資料庫
- 【故障恢復】因spfile修改錯誤導致資料庫無法啟動的恢復方法資料庫
- Oracle監聽服務無法啟動Oracle
- oracle資料庫監聽啟動不了的原因分析Oracle資料庫
- ORA-00257 archiver error--資料閃回區滿導致無法歸檔HiveError
- 修改SQLNET.ORA導致資料庫無法啟動SQL資料庫
- 【LISTENER】謹防相同的 IPC key導致多監聽無法啟動--TNS-1106故障處理
- undo表空間滿導致的ogg discard檔案寫滿
- 啟動資料庫監聽資料庫
- Linux磁碟空間爆滿,MySQL無法啟動LinuxMySql
- oracle adg備庫歸檔滿了無法同步Oracle
- 一次oracle資料庫down事件(歸檔量較大,造成ASM空間滿)Oracle資料庫事件ASM
- /tmp檔案系統無許可權導致監聽listener啟動失敗
- 歸檔空間不足導致例項死鎖
- 應用使用JNDI,資料庫無法連線,導致的程序無法啟動問題處理資料庫
- ORACLE windows驅動磁碟機代號自動變更導致oracle資料庫崩潰無法啟動OracleWindows資料庫
- 資料庫夯住!ORA-19815!歸檔空間滿資料庫
- memory_target設定不當導致資料庫無法啟動的問題資料庫