磁盘空间不足导致日志不能归档

2014-11-24 10:18:31 · 作者: · 浏览: 0

昨天我的数据库不知什么原因无故挂起,今天启动数据库报如下错误:

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天前的无用的归档日志}

RMAN> crosscheck archivelog all;

RMAN> delete noprompt expired archivelog all;

[oracle@simpleit bdump]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四12月1 20:48:17 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> select status from v$instance;

STATUS

------------

MOUNTED

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-16014: log 3 sequence# 99 not archived, no available destinations

ORA-00312: online log 3 thread 1: '+DGROUP1/oralife/redo03.log'

SQL> shutdown immediate

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 83888372 bytes

Database Buffers 79691776 bytes

Redo Buffers 2973696 bytes

Database mounted.

Database opened.

摘自 Laughing