一次oracle資料庫down事件(歸檔量較大,造成ASM空間滿)

darren__chan發表於2014-11-12
今天下午,小白我值班,領導接到電話說預生產庫down,讓我看了,小白我出大糗了

連上主機,ps -ef |grep smon

發現資料庫例項不存在。

sqlplus / as sysdba

startup 之後能啟動到mount狀態。提示以下錯。
ORA-03113: end-of-file on communication channel
小白一時不知道該如何做了。我是小白啊
後來領導看不下去自己去弄了。

大致流程如下
su - grid 
grid's password:
asmcmd
asmcmd>du                         這一步是看不出問題的
used_mb    mirror_used_mb
741939     741939
其實可以這樣:


asmcmd>ls -ls
也可以在sql>下,select name,total_mb,free_mb from v$asm_diskgroup;
這個可以確認是asm磁碟滿了導致的
接著是檢視錯誤文件。
在sqlplus 下 查出路徑
startup mount
SQL>show parameter background
然後cd /software/oracle/diag/rdbms/gdlthxzg/gdlthxzg/trace
tail -1000f alert_gdlthxzg.log
其中檢視有關於歸檔的錯誤。
Errors in file /software/oracle/diag/rdbms/gdlthxzg/gdlthxzg/trace/gdlthxzg_ora_33816690.trc:
ORA-19816: WARNING: Files may exist in db_recovery_file_dest that are not known to database.


ARCH: Error 19504 Creating archive log file to '+DGSYSTEM'
Errors in file /software/oracle/diag/rdbms/gdlthxzg/gdlthxzg/trace/gdlthxzg_ora_33226774.trc:

接下來直接rman 刪除歸檔
rman target /
delete noprompt archivelog all completed before 'trunc(sysdate)+12/24';

刪除之後,
SQL>alter database open
資料庫正常啟動

為防止下次磁碟空間滿造成這種事故
在aix下做定時刪除任務
crontab -e
30 01 * * * /home/oracle/scripts/delarch.sh > /home/oracle/scripts/delarch.log




delarch.sh
export ORACLE_SID=bjschxsb1
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
/u01/app/oracle/product/11.2.0/db_1/bin/rman target / nocatalog log /u01/app/oracle/bakscripts/del_arch.log <



                                                            

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

相關文章