oracle11g释放recovery_file_dest,解决ORA-00257

SQL> conn hr/hr
ERROR:
ORA-00257: archiver error. Connect internal only, until freed.


Warning: You are no longer connected to ORACLE.

看提示是recovery_file_dest满了。通过alert验证
Errors in file /data01/apps/oracle/diag/rdbms/dwh01/dwh01/trace/dwh01_arc2_3412.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 42827776 bytes disk space from 4039114752 limit
ARC2: Error 19809 Creating archive log file to '/data01/apps/oracle/flash_recovery_area/DWH01/archivelog/2013_04_18/o1_mf_1_113_%u_.arc'


是因为recovery_file_dest满了,测试环境,所以直接手工删了,但空间没有释放。

SQL> select * from v$recovery_file_dest;

NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
/data01/apps/oracle/flash_recovery_area
 4039114752 4004434944    0              93

SPACE_USED还是满的,归档数仍然是93,实际上已经删光了。

这种情况在衣钩大师的blog中找到了解决办法:
http://www.eygle.com/archives/2005/03/oracle10gecieif.html

[oracle@rhel63db ~]$ rman target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

此时问题得到解决:
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
/data01/apps/oracle/flash_recovery_area
 4039114752          0                 0               0

另外还有这样的解决办法,是将闪回空间备份到第三方介质
RMAN> backup recovery area;

 


 

你可能感兴趣的:(oracle11g释放recovery_file_dest,解决ORA-00257)