Clean the flashback recovery area
free space in flash recovery area
NOTE: You can remove the file on the filesystem level.
cd /fast_recovery_area/TESTDB/archivelogls -al
2022_10_07/
2022_10_08/
2022_10_09/
I am going to remove all files older then 5 hours.
find /fast_recovery_area/TESTDB/archivelog/2022* \( -mmin +360 -a -name "*.arc" \) -exec rm {} \; > /dev/null 2>&1
Login into DB and check the parameter:
sqlplus / as sysdbaq
col size_mb format 999,999,999
col used_mb format 999,999,999
col pct_used format 999
select
name,
ceil( space_limit / 1024 / 1024 /1024) size_gb,
ceil( space_used / 1024 / 1024 /1024) used_gb,
decode( nvl( space_used, 0),0, 0,
ceil ( ( space_used / space_limit) * 100) ) pct_used
from
v$recovery_file_dest
order by
name desc;
NAME SIZE_GB USED_GB PCT_USED
-------------------------------- ------------ ------------ --------
/fast_recovery_area 2,600 2,590 100
Increate the sieze as follow.
NOTE: NO NEED DB RESART:
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE =3500G SCOPE=BOTH;
RMAN command required to make empty space show via sql command..
crosscheck archivelog all;
delete noprompt force expired archivelog all;
Make empty all files older then 0ne day:
#delete noprompt archivelog all completed before 'sysdate - 1';
Or older the 6 hours:
delete noprompt archivelog all completed before 'sysdate - 6/24';
Now execute the above sql command again and check the space:
-------------------------------- ------------ ------------ --------
/fast_recovery_area 3,500 2,590 74
You can use the follwing scrip to execute the RMAN commands.
delete_archivelog.sh
more delete_archivelog.sh
date '+%Y-%m-%d %H:%M:%S'
. /set_home_env TESTDB #set DB environment variables.
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
rman target / <<EOF
crosscheck archivelog all;
delete noprompt force expired archivelog all;
#delete noprompt archivelog all completed before 'sysdate - 1';
delete noprompt archivelog all completed before 'sysdate - 6/24';
EOF
date '+%Y-%m-%d %H:%M:%S'
cd /fast_recovery_area/TESTDB/archivelog
find /fast_recovery_area/TESTDB/archivelog/* -type d -empty -print -exec rm -r {} \;
Your comments are most valuable and it would help me to come up with better posts.
No comments:
Post a Comment