00257归档日志已满解决

2016年4月3日 14:30

客户环境:Linux+ RAC

客户端账号登录,报错提示:ORA-00257: archiver error. Connect internal only, until freed

使用PUTTY连接服务器

进入Oracle账户:

[root@hisrac2 ~]# su - oracle

[oracle@hisrac2 ~]$ sqlplus

SQL*Plus: Release 10.2.0.4.0 - Production on 星期日 4月 3 15:06:57 2016

Copyright (c) 1982, 2007, Oracle. ALL Rights Reserved.

SQL>conn / as sysdba;

Connected.

SQL>Archive log list;

Database log mode                        Archive Mode

Automatic archive                          Enabled

Archive destination                        /u01/app/oracle/archivelog

Oldest online log sequence          1716

[oracle@hisrac2 ~]$ RMAN TARGET/

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 4月 5 15:23:09 2016

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: ORCL (DBID=1285975621)

--清除45天之前的归档日志;

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-45';

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=30 设备类型=DISK

db_unique_name 为 ORCL 的数据库的归档日志副本列表

=====================================================================

关键字    线程序列    S 时间下限

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

173    1    142    A 31-3月 -16

名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_142_CHYQF6FK_.ARC

174    1    143    A 01-4月 -16

名称: \u01\app\oracle\archivelog\\2016_04_02\O1_MF_1_143_CHYQFH52_.ARC

175    1    144    A 01-4月 -16

名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_144_CHYQH98G_.ARC

176    1    145    A 02-4月 -16

名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_145_CHYQNRXX_.ARC

177    1    146    A 02-4月 -16

名称:\u01\app\oracle\archivelog\016_04_02\O1_MF_1_146_CHYQNX6S_.ARC

178    1    147    A 02-4月 -16

名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_147_CHYQRC6C_.ARC

………

是否确定要删除以上对象 (输入 YES 或 NO)?YES

已删除的归档日志

归档日志文件名=\u01\app\oracle\archivelog\2016_04_02\O1_MF_1_142_CHYQF6FK_.ARC RECID=173 STAMP=908113836

已删除的归档日志

归档日志文件名=\u01\app\oracle\archivelog\2016_04_02\O1_MF_1_143_CHYQFH52_.ARC RECID=174 STAMP=908113848

……….

XX 对象已删除

RMAN>

客户端账号重新登录,正常。

处理总结:

遇到报错提示:ORA-00257: archiver error. Connect internal only, until freed

--先查询ARCHIVED LOG的使用率,结果超过99%时说明归档日志已经满了

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE where file_type='ARCHIVED LOG';

--(1).处理方法一:增大归档日志路径限额大小

--查看归档日志路径限额

SQL> show parameter db_recovery_file_dest;

NAME                                    TYPE          VALUE

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

db_recovery_file_dest            string          D:\app\Administrator\flash_recovery_area

db_recovery_file_dest_size      big integer    4000M

--可以调整db_recovery_file_dest_size大小(10*1024*1024*1024),10GB

SQL> alter system set db_recovery_file_dest_size=10737418240;

--(2).处理方法一:删除归档日志文件

--RMAN登录交叉检查

RMAN> crosscheck archivelog all;

--删除过期归档日志

RMAN> delete expired archivelog all;

--删除指定时间以前的归档日志...

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

以下附件RMAN_DelArc.rar

个人制作了一个windows环境下的.bat的文件,功能如下

(1).双击可删除所有归档日志;

(2).并生成一个日志文件;

(3).每次执行会清空日志文件内容,重新写入生成日志内容。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4dc5108b8ee16e6a4551949db9c88c40.html