首页 > 代码库 > 异常 ORA-00257: archiver error. Connect internal only, until freed

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

我oracle 是安装在linux 下。

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

得知是错误是由于归档日志(archive log)已满引起的。

以下是解决办法:


异常 ORA-00257: archiver error. Connect internal only, until freed
解决办法:
sqlplus / as sysdba
conn /as sysdba

1、使用sysdba用户登录查看archive log 存放位置:

show parameter log_archive_dest;
2、可以用archive log list;检查一下归档目录和log sequence:
archive log list

3、检查flash recovery area的使用情况,可以看见archivelog
select * from v$flash_recovery_area_usage;
4、计算flash recovery area已经占用的空间
select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
2.997
5、找到recovery目录, show parameter recover
6、清除或转移归档不用日志,注意保留最后几个文件
7、登录rman,检查一些无用的archivelog
rman target /

crosscheck archivelog all;

8、删除过期的归档: 删除截止到前一天的所有archivelog
delete expired archivelog all;
delete archivelog until time ‘sysdate-1‘
9、再次查询文件大小
select * from v$FLASH_RECOVERY_AREA_USAGE;
Connected.
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
.0777

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