转自原文 如何釋放 DB_RECOVERY_FILE_DEST_SIZE,有删减
oracle默認安裝之後,如何沒有手動設置歸檔路徑(alter system set log_archive_dest_1="LOCATION=/oracle/oracle/archive" scope =spfile;)的話,默認是在db_revovery路徑之下。所以我們有的時候在這個路徑下產生了大量的archivelog.然後我們某天把archivelog 迁移到了别的路径,然后把 revery路径下的文件都清空。但是空间并未释放。
这时我们需要在SQL>下执行如下语句,可以看到归档日志的使用情况;
select * from v$recovery_file_dest;
查看都是那些占用空间,而没有在数据字典删除的。
归档日志的清理流程
(1)cmd下执行
.rman target /
(2)rman下运行归档检查和删除
rman >crosscheck archivelog all;
rman >delete expired archivelog all;
必须要先执行crosscheck,不然直接执行delete不认。
(3)查看归档日志清理的结果
完成之后在执行一次
select * from v$recovery_file_dest;
或者关闭数据库,开启数据库,一直tail -f $ORACLE_BASE/admin/justin/bdump/alter*.log
观看整个关闭启动过程就会提示空间是不是已经释放。