Oracle+RAC+ASM数据库ora-00257日志归档器错误解决方法


ERROR:
ORA-00257: archiver error. Connect internal only, until freed.

(1)SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM

发现所有的arc 为NO,表示系统没法自动做归档。

(3)手工切换日志

SQL> alter system switch logfile;

alter system switch logfile

*

第1行出现错误:

ORA-01013: 用户请求取消当前的操作

在等待长时间没反应后,中断操作,手工切换日志没有成功。

(4)查看报警日志文件,发现有日志不能归档的错误信息。

$ tail -100 alert_devdb1.log


(5)SQL> select * from v$recovery_file_dest;

发现该数据库应用ASM为归档贮存

(6)SQL>select * from v$flash_recovery_area_usage;

发现ARCHIVELOG PERCENT_SPACE_USED已超过90%;

(7)删除归档日志,方法有多种,可以用asmcmd直接删除日志文件,然后

RMAN> crosscheck archivelog all;

RMAN> delete expired archivelog all;

推荐直接用RMAN做日志备份与删除,参考http://download.Oracle.com/docs/cd/B12037_01/server.101/b10734/rcmbackp.htm:

RMAN> backup archivelog all delete input;

以下命令备份日志,并删除一周前的所有日志:

BACKUP ARCHIVELOG ALL;
DELETE COPY OF ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

相关内容