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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdkyxy2013/article/details/89707702

        最近在操作Oracle数据库的时候出现了如下的一个错误:

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

         这个错误产生的原因主要是因为归档日志太多,导致硬盘空间不足导致的,可以通过删除日志或加大空间就能够解决,具体操作如下:(这里通过删除日志的方式进行解决)

1、首先在终端使用如下命令登录Oracle

sqlplus /nolog
connect /as sysdba

2、执行下面语句,检查flash recovery area的使用情况,可以发现archivelog已经非常大了,接近100。

select * from V$FLASH_RECOVERY_AREA_USAGE;

3、使用如下命令查询archivelog的存放目录,有需要的可以进行备份。

show parameter recover;

4、删除相应目录下的日志文件

5、在删除日志文档之后,必须使用RMAN维护控制文件,否则空间仍然不会释放。终端使用如下命令进入RMAN维护:

rman target sys/pass

检查无用的archivelog:

crosscheck archivelog all;

删除截止到前一天的所有archivelog:

delete archivelog until time 'sysdate-1';

6、再次查询flash recovery area的使用情况,会发现释放出了很多空间。至此,这个错误就已经解决了~

猜你喜欢

转载自blog.csdn.net/gdkyxy2013/article/details/89707702