oracle自動清理archivelog文件

  1. 登陸到服務器上創建rman自動刪除兩天前的歸檔日誌腳本
[oracle@108 ~]$ cat >>del_ora_log.rman <<EOF
 crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt force archivelog until time 'sysdate -2';   -------刪除兩天前的archivelog
exit;
EOF
  2.  手動執行清除日誌
[oracle@108 ~]$ rman target/ cmdfile=/home/oracle/del_ora_log.rman msglog=/home/oracle/del_ora_log.rman.log
 
  3. 將腳本加入系統定時任務
注意:任務執行的時候環境變量不能應用上,導致rman命令不能執行成功,可以將環境變量和命令放到一個腳本中,這樣執行就沒有問題。
PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=ORCL

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib

rman target/ cmdfile=/home/oracle/del_ora_log.rman msglog=/home/oracle/del_ora_log.rman.log >>/home/oracle/rman.log 2>&1
 
[oracle@108 ~]$ crontab -e   
13 * * * * /home/oracle/del_ora_log.sh >>del_ora_log.log 2>&1
 
   4.  某些表插入數據頻繁但數據又不太重要可以去掉log。
alter table  <tablename>  NOLOGGING;
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章