【問題處理】因ASM磁碟組空間不足導致資料庫例項無法啟動的故障處理
1.問題現象
資料庫無法啟動,錯誤號ORA-03113
RACDB1@rac1 /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Nov 6 15:52:49 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 88082700 bytes
Database Buffers 71303168 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
2.問題分析
1)alert日誌檔案中記錄瞭如下錯誤資訊
alert中記錄的資訊
ARC2 started with pid=28, OS id=11242
Sat Nov 6 15:54:31 2010
Errors in file /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc:
ORA-19504: failed to create file "+DATA/racdb/1_21_733447664.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA/racdb/1_21_733447664.dbf
ORA-15041: diskgroup space exhausted
Sat Nov 6 15:54:31 2010
ARC1: Error 19504 Creating archive log file to '+DATA/racdb/1_21_733447664.dbf'
ARC1: Failed to archive thread 1 sequence 21 (19504)
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Nov 6 15:54:33 2010
ORACLE Instance RACDB1 - Archival Error
Sat Nov 6 15:54:33 2010
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
Sat Nov 6 15:54:33 2010
Errors in file /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc:
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
Sat Nov 6 15:54:34 2010
2)trace檔案中記錄的資訊如下
+ASM1@rac1 /home/oracle$ cat /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc
/u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: rac1
Release: 2.6.18-53.el5xen
Version: #1 SMP Wed Oct 10 17:06:12 EDT 2007
Machine: i686
Instance name: RACDB1
Redo thread mounted by this instance: 1
Oracle process number: 26
Unix process pid: 11177, image: oracle@rac1 (ARC1)
*** SERVICE NAME:() 2010-11-06 15:54:30.927
*** SESSION ID:(144.1) 2010-11-06 15:54:30.927
kcrrwkx: work to do 0x1 (start)
Failed to create file '+DATA/racdb/1_21_733447664.dbf' (file not accessible?)
ORA-19504: failed to create file "+DATA/racdb/1_21_733447664.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA/racdb/1_21_733447664.dbf
ORA-15041: diskgroup space exhausted
*** 2010-11-06 15:54:31.432 60679 kcrr.c
ARC1: Error 19504 Creating archive log file to '+DATA/racdb/1_21_733447664.dbf'
*** 2010-11-06 15:54:31.432 58941 kcrr.c
kcrrfail: dest:1 err:19504 force:0 blast:1
ARCH: Connecting to console port...
ARCH: Connecting to console port...
*** 2010-11-06 15:54:33.979 20145 kcrr.c
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
3.問題原因
導致資料庫例項無法啟動的原因是Oracle ASM存放歸檔日誌的磁碟組已被耗盡。因無法完成歸檔,導致資料庫無法啟動。
4.處理方法
1)第一種處理方法
如果可以將資料庫調整為非歸檔模式,可以保證資料庫例項正常啟動。
如果是生產環境不建議這樣操作。
2)第二種處理方法
使用asmcmd工具清理歸檔日誌,釋放磁碟組上的空間
具體操作過程如下:
RACDB1@rac1 /home/oracle$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
RACDB1@rac1 /home/oracle$ export ORACLE_SID=+ASM1
ASMCMD [+] > lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 2047 7 0 7 0 DATA/
MOUNTED EXTERN N N 512 4096 1048576 2047 1825 0 1825 0 FRA/
ASMCMD [+] > cd DATA
ASMCMD [+DATA] > cd RACDB
ASMCMD [+DATA/RACDB] > cd ARCHIVELOG
ASMCMD [+DATA/RACDB/ARCHIVELOG] > ls
2010_10_26/
2010_10_27/
2010_10_28/
2010_10_29/
2010_10_30/
2010_11_01/
2010_11_04/
ASMCMD [+DATA/RACDB/ARCHIVELOG] > du
Used_MB Mirror_used_MB
841 841
ASMCMD [+DATA/RACDB/ARCHIVELOG] > rm -rf *
ASMCMD [+data/racdb] > lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 2047 848 0 848 0 DATA/
MOUNTED EXTERN N N 512 4096 1048576 2047 1825 0 1825 0 FRA/
此時資料庫例項便可正常啟動。
3)第三種處理方法
調整歸檔路徑,或增加調整磁碟組大小。
5.小結
在資料庫系統部署之前我們要對磁碟組大小充分的評估,以避免出現因空間不足導致系統故障,以及分配過多的空間造成磁碟和系統資源的浪費。
Good luck.
secooler
10.11.07
-- The End --
資料庫無法啟動,錯誤號ORA-03113
RACDB1@rac1 /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Nov 6 15:52:49 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 88082700 bytes
Database Buffers 71303168 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
2.問題分析
1)alert日誌檔案中記錄瞭如下錯誤資訊
alert中記錄的資訊
ARC2 started with pid=28, OS id=11242
Sat Nov 6 15:54:31 2010
Errors in file /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc:
ORA-19504: failed to create file "+DATA/racdb/1_21_733447664.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA/racdb/1_21_733447664.dbf
ORA-15041: diskgroup space exhausted
Sat Nov 6 15:54:31 2010
ARC1: Error 19504 Creating archive log file to '+DATA/racdb/1_21_733447664.dbf'
ARC1: Failed to archive thread 1 sequence 21 (19504)
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Nov 6 15:54:33 2010
ORACLE Instance RACDB1 - Archival Error
Sat Nov 6 15:54:33 2010
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
Sat Nov 6 15:54:33 2010
Errors in file /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc:
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
Sat Nov 6 15:54:34 2010
2)trace檔案中記錄的資訊如下
+ASM1@rac1 /home/oracle$ cat /u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc
/u01/app/oracle/admin/RACDB/bdump/racdb1_arc1_11177.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: rac1
Release: 2.6.18-53.el5xen
Version: #1 SMP Wed Oct 10 17:06:12 EDT 2007
Machine: i686
Instance name: RACDB1
Redo thread mounted by this instance: 1
Oracle process number: 26
Unix process pid: 11177, image: oracle@rac1 (ARC1)
*** SERVICE NAME:() 2010-11-06 15:54:30.927
*** SESSION ID:(144.1) 2010-11-06 15:54:30.927
kcrrwkx: work to do 0x1 (start)
Failed to create file '+DATA/racdb/1_21_733447664.dbf' (file not accessible?)
ORA-19504: failed to create file "+DATA/racdb/1_21_733447664.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA/racdb/1_21_733447664.dbf
ORA-15041: diskgroup space exhausted
*** 2010-11-06 15:54:31.432 60679 kcrr.c
ARC1: Error 19504 Creating archive log file to '+DATA/racdb/1_21_733447664.dbf'
*** 2010-11-06 15:54:31.432 58941 kcrr.c
kcrrfail: dest:1 err:19504 force:0 blast:1
ARCH: Connecting to console port...
ARCH: Connecting to console port...
*** 2010-11-06 15:54:33.979 20145 kcrr.c
ORA-16038: log 2 sequence# 21 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 2 thread 1: '+DATA/racdb/onlinelog/group_2.262.733447669'
ORA-00312: online log 2 thread 1: '+FRA/racdb/onlinelog/group_2.258.733447671'
3.問題原因
導致資料庫例項無法啟動的原因是Oracle ASM存放歸檔日誌的磁碟組已被耗盡。因無法完成歸檔,導致資料庫無法啟動。
4.處理方法
1)第一種處理方法
如果可以將資料庫調整為非歸檔模式,可以保證資料庫例項正常啟動。
如果是生產環境不建議這樣操作。
2)第二種處理方法
使用asmcmd工具清理歸檔日誌,釋放磁碟組上的空間
具體操作過程如下:
RACDB1@rac1 /home/oracle$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
RACDB1@rac1 /home/oracle$ export ORACLE_SID=+ASM1
ASMCMD [+] > lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 2047 7 0 7 0 DATA/
MOUNTED EXTERN N N 512 4096 1048576 2047 1825 0 1825 0 FRA/
ASMCMD [+] > cd DATA
ASMCMD [+DATA] > cd RACDB
ASMCMD [+DATA/RACDB] > cd ARCHIVELOG
ASMCMD [+DATA/RACDB/ARCHIVELOG] > ls
2010_10_26/
2010_10_27/
2010_10_28/
2010_10_29/
2010_10_30/
2010_11_01/
2010_11_04/
ASMCMD [+DATA/RACDB/ARCHIVELOG] > du
Used_MB Mirror_used_MB
841 841
ASMCMD [+DATA/RACDB/ARCHIVELOG] > rm -rf *
ASMCMD [+data/racdb] > lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 2047 848 0 848 0 DATA/
MOUNTED EXTERN N N 512 4096 1048576 2047 1825 0 1825 0 FRA/
此時資料庫例項便可正常啟動。
3)第三種處理方法
調整歸檔路徑,或增加調整磁碟組大小。
5.小結
在資料庫系統部署之前我們要對磁碟組大小充分的評估,以避免出現因空間不足導致系統故障,以及分配過多的空間造成磁碟和系統資源的浪費。
Good luck.
secooler
10.11.07
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1251197/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 應用使用JNDI,資料庫無法連線,導致的程序無法啟動問題處理資料庫
- 【故障處理】修改主機名導致oracle例項無法啟動暨如何修改hostnameOracle
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Windows 下處理資料庫無法啟動問題Windows資料庫
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- 【故障處理】使用GC調整資料庫為SGA自動管理後導致例項無法啟動(ORA-00824)GC資料庫
- sysaux 表空間不足問題處理UX
- 【RAC】處理因ASM例項異常導致RAC第一節點例項異常終止故障ASM
- ASM磁碟組空間不足ASM
- ASM磁碟組故障導致資料庫不能起來ASM資料庫
- 資料庫異常關閉後無法啟動問題處理一例資料庫
- 【問題處理】因誤修改inittab檔案導致Oracle 10gR2 CRS無法啟動Oracle 10g
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- ORACLE的歸檔空間滿導致的監聽故障資料庫無法啟動Oracle資料庫
- 表空間無法擴充套件問題處理套件
- 【恢復】非歸檔模式下因誤刪除資料檔案導致資料庫無法OPEN的故障處理模式資料庫
- 使用資料庫處理併發可能導致的問題資料庫
- 表空間資料檔案故障處理
- oracle 10g rac+asm 歸檔路徑磁碟組空間滿問題處理Oracle 10gASM
- 【故障處理】多陣列掛接使裝置名稱混亂導致RAC無法啟動問題陣列
- 歸檔問題導致的資料庫無法啟動資料庫
- 一次資料庫無法啟動問題的處理-ORA-00845資料庫
- 【故障處理】通過重建資料庫物件解決因EXPDP/IMPDP工具損壞無法使用問題資料庫物件
- 【問題處理】恢復因誤生成PFILE 導致RAC的SPFILE無效的問題
- Jenkins臨時空間不足處理辦法Jenkins
- [20170203]dg磁碟空間不足的處理.txt
- 10g資料庫例項使用11g asm錯誤問題處理資料庫ASM
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- undo表空間故障處理
- 歸檔日誌滿導致的資料庫掛起故障處理資料庫
- 【故障恢復】因spfile修改錯誤導致資料庫無法啟動的恢復方法資料庫
- ffmpeg無法接收組播流問題處理
- 歸檔空間不足導致例項死鎖
- oracle 表空間 不足時如何處理Oracle
- Oracle資料庫無效物件問題處理Oracle資料庫物件
- 【RAC】處理因ons導致CPU使用率過高的問題
- oracle 11gR2 asm例項 不能啟動處理方法OracleASM
- ASM無法自動載入磁碟組問題ASM