Linux系統Oracle定時刪除歸檔日誌
阿新 • • 發佈:2018-12-31
使用rman命令刪除做Oracle資料庫定期刪除歸檔日誌處理
1、準備工作:
以root使用者角色登入Linux作業系統,建立儲存刪除歸檔時記錄日誌及刪除shell指令碼檔案的目錄並授權給Oracle使用者,命令如下:
mkdir -p /home/del_log
mkdir -p /home/del_log/log
chown -R oracle:oinstall /home/del_log/log 2、編輯刪除指令碼 刪除歸檔日誌先檢查歸檔日誌,把物理刪除的資訊從控制檔案刪除,然後執行物理刪, 本文刪除 1天前的所有的歸檔。 進入/home/del_log 目錄建立刪除指令碼檔案vi del_arc.sh,編輯如下內容,並儲存 。 #! /bin/bash source ~/.bash_profile #記錄歸檔刪除的日誌 exec >> /home/rman_log/log/del_arch`date +%F-%H`.log $ORACLE_HOME/bin/rman target / <<EOF #檢查歸檔 crosscheck archivelog all; #刪除無效歸檔 delete noprompt expired archivelog all; #刪除一天前的歸檔
delete noprompt archivelog until time 'sysdate-1'; #刪除所有的歸檔
#delete noprompt archivelog all; exit; EOF 3、由於該指令碼是用root使用者建立,需要授權給orale使用者去執行 chmod 777 del_arc.sh 4、Oracle使用者排程指令碼 crontab -l --查詢已有排程任務
crontab -e --編輯排程任務
* 1 * * * /home/del_log/del_arc.sh
chown -R oracle:oinstall /home/del_log/log 2、編輯刪除指令碼 刪除歸檔日誌先檢查歸檔日誌,把物理刪除的資訊從控制檔案刪除,然後執行物理刪, 本文刪除 1天前的所有的歸檔。 進入/home/del_log 目錄建立刪除指令碼檔案vi del_arc.sh,編輯如下內容,並儲存 。 #! /bin/bash source ~/.bash_profile #記錄歸檔刪除的日誌 exec >> /home/rman_log/log/del_arch`date +%F-%H`.log $ORACLE_HOME/bin/rman target / <<EOF #檢查歸檔 crosscheck archivelog all; #刪除無效歸檔 delete noprompt expired archivelog all; #刪除一天前的歸檔
delete noprompt archivelog until time 'sysdate-1'; #刪除所有的歸檔
#delete noprompt archivelog all; exit; EOF 3、由於該指令碼是用root使用者建立,需要授權給orale使用者去執行 chmod 777 del_arc.sh 4、Oracle使用者排程指令碼 crontab -l --查詢已有排程任務