oracle歸檔日誌滿了,導致無法啟動 ORA-03113

煙花丶易冷發表於2016-06-28
今天在進行Oracle相關測試,因為Windows自動更新,自己重啟機器了,結果重啟完畢之後,我的oracle就無法正常啟動了
報ora-03113錯誤。
[csharp] view plain copy print?
ORA-03113: 通訊通道的檔案結尾  
程式 ID: 8636  
會話 ID: 192 序列號: 9  


去D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log裡面檢視報錯資訊,發現以下相關資訊
[csharp] view plain copy print?
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:  
ORA-19815: 警告: db_recovery_file_dest_size 位元組 (共 4102029312 位元組) 已使用 100.00%, 尚有 0 位元組可用。  
************************************************************************  
You have following choices to free up space from recovery area:  
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,  
   then consider changing RMAN ARCHIVELOG DELETION POLICY.  
2. Back up files to tertiary device such as tape using RMAN  
   BACKUP RECOVERY AREA command.  
3. Add disk space and increase db_recovery_file_dest_size parameter to  
   reflect the new space.  
4. Delete unnecessary files using RMAN DELETE command. If an operating  
   system command was used to delete files, then use RMAN CROSSCHECK and  
   DELETE EXPIRED commands.  
************************************************************************  
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:  
ORA-19809: 超出了恢復檔案數的限制  
ORA-19804: 無法回收 47112704 位元組磁碟空間 (從 4102029312 限制中)  
ARCH: Error 19809 Creating archive log file to 'D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_%U_.ARC'  
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:  
ORA-16038: 日誌 3 sequence# 171 無法歸檔  
ORA-19809: 超出了恢復檔案數的限制  
ORA-00312: 聯機日誌 3 執行緒 1: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG'  
這個資訊以及很清楚了,說明我的歸檔日誌滿了
那麼怎麼才能驗證我的歸檔日誌滿了呢?
首先我看一下我的DB_RECOVERY_FILE_DEST_SIZE值有多大
[csharp] view plain copy print?
C:\Users\Administrator>sqlplus /nolog  
  
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 7月 10 15:33:36 2013  
  
Copyright (c) 1982, 2010, Oracle.  All rights reserved.  
  
SQL> conn / as sysdba  
已連線。  
SQL> startup mount;  
ORACLE 例程已經啟動。  
  
Total System Global Area 5110898688 bytes  
Fixed Size                  2184592 bytes  
Variable Size            3355445872 bytes  
Database Buffers         1744830464 bytes  
Redo Buffers                8437760 bytes  
資料庫裝載完畢。  
SQL> show parameter db_recovery_file_dest_size;  
  
NAME                                 TYPE        VALUE  
------------------------------------ ----------- -----  
db_recovery_file_dest_size           big integer 3912M  
但是我實際的歸檔日誌檔案
db_recovery_file_dest    = "D:\app\Administrator\flash_recovery_area"
  db_recovery_file_dest_size= 3912M
D:\app\Administrator\flash_recovery_area\orcl\ARCHIVELOG路徑下有3.8GB已經達到臨界值,也就是錯誤上面所述。


問題已經找到,我怎麼才能進行修復呢。其實報錯日誌裡面的資訊以及寫的很清楚了使用RMAN登入
因為歸檔日誌很多,我緊緊擷取了少部分
[csharp] view plain copy print?
C:\Users\Administrator>rman  target /  
  
恢復管理器: Release 11.2.0.1.0 - Production on 星期三 7月 10 14:58:42 2013  
  
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.  
  
連線到目標資料庫: ORCL (DBID=1336354077)  
  
RMAN> delete archivelog all;  
  
使用目標資料庫控制檔案替代恢復目錄  
分配的通道: ORA_DISK_1  
通道 ORA_DISK_1: SID=222 裝置型別=DISK  
db_unique_name 為 ORCL 的資料庫的歸檔日誌副本列表  
=====================================================================  
  
關鍵字     執行緒序列     S 時間下限  
------- ---- ------- - ----------  
96      1    167     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_167_8XSOXYGH_.ARC  
  
97      1    168     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_168_8XSOY383_.ARC  
  
98      1    169     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_169_8XSOY9R0_.ARC  
  
99      1    170     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_170_8XSOYH2F_.ARC  
  
100     1    171     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_8XT08TB7_.ARC  
  
101     1    172     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_172_8XT08TGG_.ARC  
  
102     1    173     A 10-7月 -13  
        名稱: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_173_8XT0900C_.ARC  
  
  
是否確定要刪除以上物件 (輸入 YES 或 NO)?  
  
是否確定要刪除以上物件 (輸入 YES 或 NO)? yes  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_167_8XSOXYGH_.ARC RECID=96 ST  
AMP=820410050  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_168_8XSOY383_.ARC RECID=97 ST  
AMP=820410057  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_169_8XSOY9R0_.ARC RECID=98 ST  
AMP=820410062  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_170_8XSOYH2F_.ARC RECID=99 ST  
AMP=820410067  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_8XT08TB7_.ARC RECID=100 S  
TAMP=820420638  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_172_8XT08TGG_.ARC RECID=101 S  
TAMP=820420638  
已刪除的歸檔日誌  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_173_8XT0900C_.ARC RECID=102 S  
TAMP=820420643  
7 物件已刪除  
其實方法還有很多
1:增大db_recovery_file_dest_size值
2:更換歸檔日誌路徑
3:檢查失效的歸檔日誌檔案,然後刪除
[csharp] view plain copy print?
C:\Users\Administrator>rman  target /  
  
恢復管理器: Release 11.2.0.1.0 - Production on 星期三 7月 10 15:41:53 2013  
  
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.  
  
已連線到目標資料庫: ORCL (DBID=1336354077, 未開啟)  
  
RMAN> crosscheck archivelog all;  
  
使用目標資料庫控制檔案替代恢復目錄  
分配的通道: ORA_DISK_1  
通道 ORA_DISK_1: SID=189 裝置型別=DISK  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_174_8XT1VGG9_.ARC RECID=103 S  
TAMP=820422255  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_175_8XT1WOMS_.ARC RECID=104 S  
TAMP=820422294  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_176_8XT1Y02X_.ARC RECID=105 S  
TAMP=820422338  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_177_8XT1Z783_.ARC RECID=106 S  
TAMP=820422377  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_178_8XT20GWL_.ARC RECID=107 S  
TAMP=820422416  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_179_8XT21P6K_.ARC RECID=108 S  
TAMP=820422458  
對歸檔日誌的驗證成功  
歸檔日誌檔名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_180_8XT231SN_.ARC RECID=109 S  
TAMP=820422499  
已交叉檢驗的 7 物件  


如何刪除參考:http://www.blogjava.net/decode360/archive/2009/06/25/287747.html


其實本身我的Oracle是非歸檔模式,前一段時間進行了測試切換成歸檔模式了,所以導致今天的問題,那麼這次就直接切換成非歸檔模式
[csharp] view plain copy print?
SQL> conn / as sysdba  
已連線。  
SQL> archive log list  
資料庫日誌模式            存檔模式  
自動存檔             啟用  
存檔終點            USE_DB_RECOVERY_FILE_DEST  
最早的聯機日誌序列     178  
下一個存檔日誌序列   180  
當前日誌序列           180  
  
SQL> shutdown immediate;  
資料庫已經關閉。  
已經解除安裝資料庫。  
ORACLE 例程已經關閉。  
  
SQL> startup mount;  
ORACLE 例程已經啟動。  
  
Total System Global Area 5110898688 bytes  
Fixed Size                  2184592 bytes  
Variable Size            3355445872 bytes  
Database Buffers         1744830464 bytes  
Redo Buffers                8437760 bytes  
資料庫裝載完畢。  
SQL> alter database noarchivelog;  
  
資料庫已更改。  
  
SQL> alter database open;  
  
資料庫已更改。  
  
SQL> archive log list;  
資料庫日誌模式             非存檔模式  
自動存檔             禁用  
存檔終點            USE_DB_RECOVERY_FILE_DEST  
最早的聯機日誌序列     179  
當前日誌序列           181  

---文件轉載地址:http://blog.csdn.net/linghe301/article/details/9291273

如果出現ORA-00257錯誤可參照文件http://www.cnblogs.com/xwdreamer/p/3804509.html

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

相關文章