Shell Script
for RMAN Delete Archive Log
Öncelikle
neden böyle bir ihtiyaç doğar ki ? Diye sorabilirsiniz elbette. Bunu manuel
yapabileceğiniz gibi aynı zamanda RMAN scripti içine de ekleyip ihtiyaç olmayan
Archive Loglar FRA (Flash Recovery Area) dan temizleyebilirsiniz.
Bazı
zamanlar geliyor bu şekilde emniyet alınabiliyor. Örneğin RMAN backup fail
edebilir yada henüz backup alınmaya
başlanmamış fakat Arşiv log üretiyorsunuzdur. Böyle durumlar için bir crontab
sh yazılıp belli periyotlar içersin de çalışması sağlanarak eski arşiv loglarını
silebilirsiniz.
Ben şu
şekilde bir örnek vereceğim.
Önce sh
dosyamızı yaratalım:
[oracle@prodb01 scripts]$ vi Delete_Archive_Log.sh
#!/bin/bash
_xvcTime=`date
"+%Y%m%d%H%M%S"`
echo
"================ START Session: $_xvcTime - Delete_Archive_Log, log
follows:" >> /tmp/Delete_Archive_Log.log
echo
"Current timestamp: `date "+%Y%m%d%H%M%S"`" >>
/tmp/Delete_Archive_Log.log
echo
>> /tmp/Delete_Archive_Log.log
rman target
/ << EOF >> /tmp/Delete_Archive_Log.log
list
archivelog all; /**Test amaçlı list komutu koydum,Direk
silinebilir. **/
delete archivelog until time 'sysdate-10';
crosscheck archivelog all;
exit;
EOF
echo
"================ END Session: $_xvcTime - Delete_Archive_Log, log
follows:" >> /tmp/Delete_Archive_Log.log
[oracle@prodb01 scripts]$
Tercihiğim her adımı Log’a yazmak bu
yüzden login olmadan, yapılanlara kadar “/tmp/Delete_Archive_Log.log” yazdırdım. Sonra yarattığım “Delete_Archive_Log.sh”
crontab –e ile otomatik
çalışacak şekilde schedule ediyorum.
İyi Çalışmalar..
Usta
Hiç yorum yok:
Yorum Gönder