FLASH_RECOVERY_AREA:闪回恢复区
顾名思义,默认这个区是存放所有备份文件和闪回数据。
默认的闪回区是2G,当闪回区满了之后,理论上是会自动清理归档日志,但是还是会出现无法归档的报错,所以需要手工清理,除了清理,还可以增大闪回恢复区,缩小闪回时间或者直接关闭闪回功能。
1、调小闪回时间
SQL> alter system set db_flashback_retention_target=120 scope=both;
System altered.
2、删除归档日志
rman target /
crosscheck archivelog all;
delete expired archivelog all;
或者删除指定时间之前的archivelog:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)
查看归档日志列表:
list archivelog all;
查看闪回恢复区使用情况
sqlplus / as sysdba
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 0 0 0
ONLINELOG 4.88 0 1
ARCHIVELOG 61.94 0 50
BACKUPPIECE 27.9 0 2
IMAGECOPY 0 0 0
FLASHBACKLOG 8.32 0 37
6 rows selected.
顾名思义,默认这个区是存放所有备份文件和闪回数据。
默认的闪回区是2G,当闪回区满了之后,理论上是会自动清理归档日志,但是还是会出现无法归档的报错,所以需要手工清理,除了清理,还可以增大闪回恢复区,缩小闪回时间或者直接关闭闪回功能。
1、调小闪回时间
SQL> alter system set db_flashback_retention_target=120 scope=both;
System altered.
2、删除归档日志
rman target /
crosscheck archivelog all;
delete expired archivelog all;
或者删除指定时间之前的archivelog:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)
查看归档日志列表:
list archivelog all;
查看闪回恢复区使用情况
sqlplus / as sysdba
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 0 0 0
ONLINELOG 4.88 0 1
ARCHIVELOG 61.94 0 50
BACKUPPIECE 27.9 0 2
IMAGECOPY 0 0 0
FLASHBACKLOG 8.32 0 37
6 rows selected.