Product: Oracle RDBMS
Version: 11.1.0 - 21c (19.3.x)
OS: Windows, Linux, HP-UX, AIX
The introduction of FAST_RECOVERY_AREA has been more than 10 years, which automatically housekeep archive logs. This allow DBA to indirectly delete physical archive log files resides in the OS, even they do not have physical OS access.
However, for those DBA or SA who have access to the OS, or managed the storage and DB, it is often required to cleanup archive log files in OS first, then in Oracle's FAST_RECOVERY_AREA later.
This post show how to perform the manual clean up of it
1. Verify the usage of FAST_RECOVERY_AREA to get a breakdown what used up all the storage
col file_type format a40
set pagesize 50
set line 110
select * from v$recovery_area_usage;
2. For the purpose of this post, this is covering scenario where FILE_TYPE=ARCHIVED LOG. So the SQL will be
select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
3. If archive log have not backup, and you want to backup the archive log to disk, then use following RMAN command to backup to disk, and delete from the disk
RMAN target /
backup archivelog all delete input;
4. If archive log already been deleted, then you need to sync up the status with Oracle DB. Uses this RMAN command to sync up the status of all the archive log files
RMAN target /
crosscheck archivelog all;
5. After FAST_RECOVERY_AREA detected the archive log files are deleted, then you can run RMAN command to delete it from FAST_RECOVERY_AREA's internal table, This does not delete archive log which present (no deleted) in FAST_RECOVERY_AREA
RMAN target /
delete noprompt expired archivelog all;
1 comment:
To manually clean up archived logs in Oracle RDBMS with FAST_RECOVERY_AREA, use the HostingSpell DELETE ARCHIVELOG command in RMAN or ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE=DEFER to disable archiving temporarily before deleting older logs.
Post a Comment