Shell Script to Delete Archive Log with crontab

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:

Ara