我的数据库不知什么原因无故挂起,今天启动数据库报如下错误:
SQL>alter database open;
alterdatabase open
*
ERROR atline 1:
ORA-16014:log 3 sequence# 99 not archived, no available destinations
ORA-00312:online log 3 thread 1: '+DGROUP1/oralife/redo03.log'
重做日志不能归档,查看日志文件:
[Oracle@simpleit ~]$ cd admin/oralife/bdump/
[oracle@simpleit bdump]$ tail -20 alert_oralife.log
Thu Dec 1 11:13:18 2011
Errors in file /home/oracle/admin/oralife/bdump/oralife_arc1_3465.trc:
ORA-19504: Message 19504 not found; No message file for product=RDBMS, facility=ORA; arguments: [+DGROUP1/oralife/1_99_762803211.dbf]
ORA-17502: Message 17502 not found; No message file for product=RDBMS, facility=ORA; arguments: [4] [+DGROUP1/oralife/1_99_762803211.dbf]
ORA-15041: diskgroup space exhausted
Thu Dec 1 11:13:18 2011
ARC1: Error 19504 Creating archive log file to '+DGROUP1/oralife/1_99_762803211.dbf'
ARC1: Failed to archive thread 1 sequence 99 (19504)
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Dec 1 11:13:18 2011
ORACLE Instance oralife - Archival Error
Thu Dec 1 11:13:18 2011
ORA-16038: Message 16038 not found; No message file for product=RDBMS, facility=ORA; arguments: [3] [99]
ORA-19504: Message 19504 not found; No message file for product=RDBMS, facility=ORA
ORA-00312: Message 312 not found; No message file for product=RDBMS, facility=ORA; arguments: [3] [1] [+DGROUP1/oralife/redo03.log]
Thu Dec 1 11:13:18 2011
Errors in file /home/oracle/admin/oralife/bdump/oralife_arc1_3465.trc:
ORA-16038: Message 16038 not found; No message file for product=RDBMS, facility=ORA; arguments: [3] [99]
ORA-19504: Message 19504 not found; No message file for product=RDBMS, facility=ORA
ORA-00312: Message 312 not found; No message file for product=RDBMS, facility=ORA; arguments: [3] [1] [+DGROUP1/oralife/redo03.log]
于是知道是asm空间不足的原因导致,这时可以登录rman删除无用的归档日志,来释放磁盘空间。这时便可以成功启动数据库。
RMAN> run{
2> delete archivelog until time 'sysdate-7';--删除7天前的无用的归档日志}