DATAGUARD_standby刪除歸檔日誌的指令碼
oracle使用者下crontab增加任務計劃
*/15 * * * * /u01/app/scripts/remove_stdby_arch.sh>>/dev/null 2>&1
如下資訊表示刪除1小時以前的,已經透過RFS程式接受的並被recover的歸檔日誌
select max(completion_time)-1/24 from v\$archived_log where sequence# is NOT NULL and applied='YES' and registrar ='RFS'
指令碼名稱/u01/app/scripts/remove_stdby_arch.sh
指令碼內容
#!/bin/sh
source ~/.bash_profile
sqlplus "/as sysdba" < set pagesize 200
set heading off
set feedback off
spool /u01/app/script/remove_arch_file.lst
select 'rm '|| al.name from v\$archived_log al
where al.sequence# is NOT NULL and al.applied='YES' and al.registrar ='RFS'
and al.name like '/u01/app/oracle/archivelog/1_%.dbf'
and al.completion_time < (select max(completion_time)-1/24 from v\$archived_log where sequence# is NOT NULL and applied='YES' and registrar ='RFS')
order by al.sequence#;
spool off
exit
EOF
sed '1,5d' /u01/app/script/remove_arch_file.lst | sed '$d' > /u01/app/script/remove_arch_file.sh
DELETE_LOG=/u01/app/script/log/remove_stdby_arch`date "+%Y%m%d%H%M%S"`.log
echo "************SQL************">$DELETE_LOG
cat /u01/app/script/remove_arch_file.lst>>$DELETE_LOG
echo "************RM***********">>$DELETE_LOG
cat /u01/app/script/remove_arch_file.sh>>$DELETE_LOG
sh /u01/app/script/remove_arch_file.sh
echo "************RMAN************">>$DELETE_LOG
rman target / >> $DELETE_LOG << EOF
run{
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
}
exit
EOF
#自己最常用最簡單的一個
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=MESDB
FILEDATE=`date '+%Y%m%d%H%M%S'`
LOGFILE=/u01/app/backup/deletearchivelog/deletearchivelog_$FILEDATE.log
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target / > ${LOGFILE} << EOF
delete noprompt archivelog until time "sysdate-7";
EOF
*/15 * * * * /u01/app/scripts/remove_stdby_arch.sh>>/dev/null 2>&1
如下資訊表示刪除1小時以前的,已經透過RFS程式接受的並被recover的歸檔日誌
select max(completion_time)-1/24 from v\$archived_log where sequence# is NOT NULL and applied='YES' and registrar ='RFS'
指令碼名稱/u01/app/scripts/remove_stdby_arch.sh
指令碼內容
#!/bin/sh
source ~/.bash_profile
sqlplus "/as sysdba" < set pagesize 200
set heading off
set feedback off
spool /u01/app/script/remove_arch_file.lst
select 'rm '|| al.name from v\$archived_log al
where al.sequence# is NOT NULL and al.applied='YES' and al.registrar ='RFS'
and al.name like '/u01/app/oracle/archivelog/1_%.dbf'
and al.completion_time < (select max(completion_time)-1/24 from v\$archived_log where sequence# is NOT NULL and applied='YES' and registrar ='RFS')
order by al.sequence#;
spool off
exit
EOF
sed '1,5d' /u01/app/script/remove_arch_file.lst | sed '$d' > /u01/app/script/remove_arch_file.sh
DELETE_LOG=/u01/app/script/log/remove_stdby_arch`date "+%Y%m%d%H%M%S"`.log
echo "************SQL************">$DELETE_LOG
cat /u01/app/script/remove_arch_file.lst>>$DELETE_LOG
echo "************RM***********">>$DELETE_LOG
cat /u01/app/script/remove_arch_file.sh>>$DELETE_LOG
sh /u01/app/script/remove_arch_file.sh
echo "************RMAN************">>$DELETE_LOG
rman target / >> $DELETE_LOG << EOF
run{
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
}
exit
EOF
#自己最常用最簡單的一個
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=MESDB
FILEDATE=`date '+%Y%m%d%H%M%S'`
LOGFILE=/u01/app/backup/deletearchivelog/deletearchivelog_$FILEDATE.log
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target / > ${LOGFILE} << EOF
delete noprompt archivelog until time "sysdate-7";
EOF
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2140084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DataGuard已應用歸檔日誌刪除指令碼指令碼
- 歸檔日誌的刪除
- oracle刪除歸檔日誌Oracle
- Oracle歸檔日誌刪除Oracle
- 刪除歸檔日誌檔案
- 日誌刪除指令碼指令碼
- dg刪除備庫已經應用的歸檔日誌指令碼指令碼
- 刪除data guard歸檔日誌
- 手動刪除歸檔日誌
- 作用RMAN 刪除歸檔日誌
- 自動刪除歸檔日誌的指令碼(尤其是dataguard環境)指令碼
- 刪除歸檔,保留最近的5個歸檔日誌
- oracle 刪除過期的歸檔日誌Oracle
- 歸檔日誌刪除的五種方法
- 【Oracle】 rman 刪除歸檔日誌的命令Oracle
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- 定期刪除歸檔檔案的指令碼指令碼
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- rman刪除舊的歸檔日誌問題
- rman刪除歸檔日誌命令集
- crontab不能自動刪除歸檔日誌
- oracle dataguard 自動刪除歸檔日誌Oracle
- 如何定期自動刪除歸檔日誌
- 【警鐘】謹慎刪除歸檔日誌
- 一個刪除重做日誌檔案的參考指令碼指令碼
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- rman 刪除指定時間點的歸檔日誌
- RMAN備份歸檔日誌指令碼指令碼
- 用rman 正確地刪除歸檔日誌
- rac+dg環境刪除歸檔日誌
- 【shell 指令碼】刪除/var/log 下的日誌指令碼
- DELETE OBSOLETE不刪除歸檔日誌以及歸檔的備份集delete
- ORA-00257 (線上更改歸檔路徑,刪除歸檔日誌)
- 11gR2 RMAN歸檔日誌刪除策略
- Oracle DG standby刪除歸檔的判斷指令碼Oracle指令碼