As demonstrated earlier, Oracle may maintain Flashback Logs for a duration that is longer than the Flashback Retention Target. This can happen when the db_recovery_filie_dest_size is large enough to support them (along with ArchiveLogs, Backups etc)
For example, in my play database I have reset the retention target to 1day but the Flashback Logs exceed 4 days :
The DBA should not manually delete Flashback Logs.
The only way I've found to purge older Flashback Logs is to reset db_recovery_file_dest_size to a lower value such that current FRA usage exceeds the dest_size. This prompts Oracle to purge older Flashback Logs.
However, if ArchiveLogs exist and consume significant space and frequncy in the FRA, you do run the risk of
errors.
So, be careful to monitor your FRA usage and the Flashback Logs. Use V$FLASHBACK_DATABASE_LOG, V$FLASHBACK_DATABASE_LOGFILE, V$FLASHBACK_DATABASE_STAT and V$FLASH_RECOVERY_AREA_USAGE view.
(see my earlier post that also points to an Oracle Support Doc about the first two views).
.
.
.
For example, in my play database I have reset the retention target to 1day but the Flashback Logs exceed 4 days :
SQL> show parameter flashback_ret NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_flashback_retention_target integer 1440 SQL> select sysdate-oldest_flashback_time from v$flashback_database_log; SYSDATE-OLDEST_FLASHBACK_TIME ----------------------------- 4.21686343
The DBA should not manually delete Flashback Logs.
The only way I've found to purge older Flashback Logs is to reset db_recovery_file_dest_size to a lower value such that current FRA usage exceeds the dest_size. This prompts Oracle to purge older Flashback Logs.
However, if ArchiveLogs exist and consume significant space and frequncy in the FRA, you do run the risk of
ARCH: Archival stopped, error occurred. Will continue retrying ORACLE Instance orcl - Archival Error ORA-16038: log 1 sequence# nnn cannot be archived ORA-19809: limit exceeded for recovery files and/or ORACLE Instance orcl- Cannot allocate log, archival required Thread 1 cannot allocate new log, sequence nnn All online logs need archiving Examine archive trace files for archiving errors
errors.
So, be careful to monitor your FRA usage and the Flashback Logs. Use V$FLASHBACK_DATABASE_LOG, V$FLASHBACK_DATABASE_LOGFILE, V$FLASHBACK_DATABASE_STAT and V$FLASH_RECOVERY_AREA_USAGE view.
(see my earlier post that also points to an Oracle Support Doc about the first two views).
.
.
.
1 comment:
Awesome content thank you for sharing useful content
Post a Comment