如何釋放 DB_RECOVERY_FILE_DEST_SIZE

oracle默認安裝之後,如何沒有手動設置歸檔路徑(alter system set log_archive_dest_1="LOCATION=/oracle/oracle/archive" scope =spfile;)的話,默認是在db_revovery路徑之下。所以我們有的時候在這個路徑下產生了大量的archivelog.然後我們某天把archivelog 迁移到了别的路径,然后把 revery路径下的文件都清空。但是空间并未释放。

 

这时我们需要执行以下步骤;

 

1.

select * from v$recovery_file_dest;
查看都是那些占用空间,而没有在数据字典删除的。





FILE_TYPE                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES


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


CONTROLFILE                               0                         0               0


ONLINELOG                                 0                         0               0


ARCHIVELOG                            80.04                         0             171


BACKUPPIECE                               0                         0               0


IMAGECOPY                                 0                         0               0


FLASHBACKLOG                              0                         0               0

 

2 .rman target /

 

 

rman >crosscheck archivelog all;

rman >delete expired archivelog all;

 

必须要先执行crosscheck,不然直接执行delete不认。

 

完成之后在执行一次
select * from v$recovery_file_dest;

 

或者关闭数据库,开启数据库,一直tail -f $ORACLE_BASE/admin/justin/bdump/alter*.log

观看整个关闭启动过程就会提示空间是不是已经释放。





你可能感兴趣的:(oracle)