ORA-00257: archiver error. Connect internal only, until freed 解决办法,原因 redo log 无法切换

来源:互联网 发布:微信打开未备案域名 编辑:程序博客网 时间:2024/06/11 07:32

故障现象:
plsql登陆发生报错
ORA-00257: archiver error. Connect internal only, until freed
[oracle@dg1 ~]$ oerr ora 00257

00257, 00000, "archiver error. Connect internal only, until freed."// *Cause:  The archiver process received an error while trying to archive//       a redo log.  If the problem is not resolved soon, the database//       will stop executing transactions. The most likely cause of this//       message is the destination device is out of space to store the//       redo log file.// *Action:  Check archiver trace file for a detailed description//        of the problem. Also verify that the//       device specified in the initialization parameter//       ARCHIVE_LOG_DEST is set up properly for archiving.

根据提示检查归档空间,但是归档空间足够。
查看告警日志:

[root@dg1 trace]# pwd /oracle/app/diag/rdbms/hacc/hacc_2/trace[root@dg1 trace]# tail -f alert_dg1.log 发现:ARCH: Archival stopped, error occurred. Will continue retryingORACLE Instance hacc_2 - Archival ErrorORA-16038: log 4 sequence# 14168 cannot be archivedORA-19504: failed to create file ""ORA-00312: online log 4 thread 2: '+HACCDG/hacg/redo04.log'Sun Oct 29 11:38:42 2017ARCH: Archival stopped, error occurred. Will continue retryingORACLE Instance hacc_2 - Archival ErrorORA-16014: log 4 sequence# 14168 not archived, no available destinationsORA-00312: online log 4 thread 2: '+HACCDG/hacg/redo04.log'

如果这时候shutdown immediate ,会出现以下报错:

Sun Oct 29 11:39:59 2017DIA0 detected that there is an archiving problem on the cluster. Several     processes including LGWR and at least one ARC process are hung.     Instance termination is not allowed.  External intervention     is required.Sun Oct 29 11:41:42 2017

检查redo log

SQL> select group#,bytes/1024/1024 size_M,status ,archived from v$log;    GROUP#     SIZE_M STATUS           ARC---------- ---------- ---------------- ---         1        256 INACTIVE         YES         2        256 INACTIVE         YES         3        256 CURRENT          NO         4        256 INACTIVE         NO         5        256 INACTIVE         YES         6        256 INACTIVE         YES
SQL> alter system switch logfile;卡住。。。

根据报错,发现 online log 4 thread 2: '+HACCDG/hacg/redo04.log' 归档失败

清理 redo lSQL> alter database clear unarchived logfile group 4;
Database altered.
或者:alter database clear unarchived logfile ‘+HACCDG/hacc/redo04.log’;换redo log

SQL> alter system switch logfile;System altered.  ---这里可能要等一会儿,在alert_dg1.log 中可以看到在运行。

查看 redo log 组

SQL> select group#,bytes/1024/1024 size_M,status ,archived from v$log;    GROUP#     SIZE_M STATUS           ARC---------- ---------- ---------------- ---         1        256 INACTIVE         YES         2        256 INACTIVE         YES         3        256 CURRENT          NO         4        256 INACTIVE         YES         5        256 INACTIVE         YES         6        256 INACTIVE         YES

总结:
其实ora-00257不只是网友说的归档空间满了这一个原因,只要归档出现失败,就可能造成这个。还是要多检查alert log 才行。

阅读全文
0 0
原创粉丝点击