Oracle 归档日志占满存储空间处理方法(11gR2)

1.若是使用的快速恢复区且磁盘还有空间,调大归档sql

SQL> show parameter recover

NAME                                    TYPE          VALUE
------------------------------------ -----------    ------------------------------
db_recovery_file_dest              string         /u01/app/oracle/fast_recovery_area
                                                
db_recovery_file_dest_size       big integer  60G


SQL> alter system set db_recovery_file_dest_size=80G;

System altered.


2.若是归档所在磁盘已经没有空间,要么加大可用磁盘空间,要么手工删除归档,下面假设不能加大归档所在磁盘的空间

2.1其余磁盘有空间,且须要保留归档 (删除以前先保留,为归档地址腾出空间)
RMAN> backup format '/有空间的路径/arc001.bk'  archivelog all delete input;

2.2若是是相似测试库,归档无需保留,直接手工删除
[oracle@hgzx-oracle11g-test ~]$ cd /u01/app/oracle/fast_recovery_area/HGZX/archivelog

[oracle@hgzx-oracle11g-test archivelog]$ ll
total 52
drwxr-x---. 2 oracle oinstall 12288 Jul 21 23:02 2017_07_21
drwxr-x---. 2 oracle oinstall  4096 Jul 22 23:01 2017_07_22
drwxr-x---. 2 oracle oinstall  4096 Jul 23 23:01 2017_07_23
drwxr-x---. 2 oracle oinstall  4096 Jul 24 23:01 2017_07_24
drwxr-x---. 2 oracle oinstall  4096 Jul 25 23:01 2017_07_25
drwxr-x---. 2 oracle oinstall 20480 Jul 27 11:03 2017_07_26
drwxr-x---. 2 oracle oinstall  4096 Jul 27 14:45 

删除全部归档,只须要保留最近的一个归档,由于多是正在写的归档文件

手工删除归档后,建议当即rman备份数据库
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> delete noprompt obsolete;

手工删除归档后,建议当即rman备份数据库
RMAN> backup as compressed backupset database plus archivelog delete input;