archivelog滿了導致資料庫怠機的solution
以前就遇到過archivelog滿了,導致無法登陸資料庫。今天自己在測試append直接插入和insert插入時不巧自己剛好又遇見了,ora-16038 ora-19809 ora-00312。Oracle資料庫中有個閃回恢復區flash_recovery_area預設的是2G的大小,由於本機資料庫是archivelog和flashback on同時開啟了,產生的歸檔日誌和閃回日誌超過了2G容量的大小,也就導致無法歸檔,造成arch程式失敗資料庫而怠機了。
首先flash_recovery_area滿了導致sys使用者也無法登陸資料庫,此時肯定需要做的是先登陸資料庫吧。於是手動在os上刪除部分archivelog來騰出空間,但是此時資料庫還是無法登陸。
由於是windows測試機自己os上
net stop oracleserviceorcl
停止了資料庫服務歷程。
Net start oracleserviceorcl
開啟資料庫服務歷程
不過此服務只存在與windows下,linux下是不存在此服務的。
I:
Sqlplus / as sysdba
Startup;
此時檢視alert日誌:
Errors in file d:oracleproduct10.2.0adminorclbdumporcl_arc1_916.trc:
ORA-16038: log 1 sequence# 56 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: 'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG'
出現了上述三個ora錯誤,還是已經滿了redo log無法完成歸檔。雖然我們在os上刪除了archivelog騰出了空間,但是還需要在oracle上也就是控制檔案中的記錄再次清除os上刪除的archivelog
Rman target /
Crosscheck archivelog all
Delete expired archivelog all
利用crosscheck把os上刪除archivelog在rman目錄中標記為expired過期,然後delete expired archivelog all。
此時再連線資料庫
Sqlplus / as sysdba
Shutdown immediate
Startup;
此時資料庫也正常工作了!所以有時候還是要多關心一下flash_recovery_area的引數的設定。
II:
當然一樣需要用sys使用者進入資料庫啟動資料庫,同樣到open狀態出錯
Startup
ORA-16038: 日誌 3 序列號 46 無法歸檔
ORA-19809: 超出了恢復檔案數的限制
ORA-00312: 聯機日誌 1 執行緒 1: 'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG'
(此時記得以前的blog中提到了丟失log的解決方法
Alter database clear unarchived logfile 'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG';
重新清除redo log新建,但是如果是當前的redo且還沒有歸檔是不行的。如果丟失的非當前redo完全可以這樣來解決。Alter database clear unarchived logfile重建redo)
那就直接增大flash_recovery_area容量吧
Alter system set db_recovery_file_dest_size=10g scope=both
然後檢視一下
Select * from v$flash_recovery_area_usage
其中的archivelog的used已經降下來了!
Alter database open
即可開啟
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1055605/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASM空間爆滿導致資料庫掛起ASM資料庫
- 歸檔日誌滿導致的資料庫掛起故障處理資料庫
- 歸檔日誌滿導致的資料庫掛起故障處理【轉載】資料庫
- ORACLE的歸檔空間滿導致的監聽故障資料庫無法啟動Oracle資料庫
- ORA-1652 臨時表空間滿了導致新會話資料不能入庫診斷案例會話
- flashback_area 區域溢位導致資料庫當機資料庫
- 由hugepage設定導致的資料庫事故資料庫
- 一次快速閃回區滿導致資料庫不能啟動的解決過程資料庫
- ORACLE一體機pcie 快取卡損壞導致資料庫dang機Oracle快取資料庫
- dg中備庫歸檔目錄滿了,導致不能接收主庫歸檔檔案
- ORA-01034,修改主機名導致的資料庫問題資料庫
- 一條sql語句導致的資料庫當機問題及分析SQL資料庫
- 一條sql語句“導致”的資料庫當機問題及分析SQL資料庫
- Oracle資料庫導致效能問題的可能原因Oracle資料庫
- memlock過低導致的資料庫效能問題資料庫
- Zend Studio導致PHP插入資料庫中文亂碼【坑了個爹】PHP資料庫
- Oracle 資料庫不一致導致異常的恢復Oracle資料庫
- MySQL伺服器Swap滿了100%導致db很慢很卡MySql伺服器
- 總結導致oracle資料庫主機CPU sys%高的一些原因Oracle資料庫
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- inode節點耗盡導致資料庫OOM資料庫OOM
- 資料庫預設安裝配置導致的問題資料庫
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- 資料庫的FLASHBACK 與ARCHIVELOG模式的關係資料庫Hive模式
- 歸檔目錄滿或不夠用.致資料庫down!!資料庫
- 故障分析 | 血的教訓-由慢查詢引發的備份等待導致資料庫連線打滿資料庫
- 核心引數導致的備庫當機分析
- 使用資料庫處理併發可能導致的問題資料庫
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 歸檔問題導致的資料庫無法啟動資料庫
- 資料庫統計資訊不更新導致的效能問題資料庫
- 在ARCHIVELOG模式中恢復資料庫Hive模式資料庫
- 將資料庫轉換至archivelog模式資料庫Hive模式
- MySQL 5.6因為OOM導致資料庫重啟MySqlOOM資料庫
- 大事務導致資料庫恢復時間長資料庫
- 快取穿透導致資料庫效能不穩定快取穿透資料庫
- ASM磁碟組故障導致資料庫不能起來ASM資料庫
- EM自動任務導致資料庫緩慢資料庫