asm下如何自動刪除standby上已經applied過的歸檔日誌
由於是asm,所以和檔案系統處理起來可能還不太一樣,這要完全依賴rman了,不能依賴os了,當然我的這些指令碼適合db是檔案系統。
[@more@]首先先寫了一個指令碼purge_archlog_sql_.sh,內容如下:
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/11.1.0/db_1
ORACLE_SID=lnmsadg
export ORACLE_BASE ORACLE_HOME ORACLE_SID
applied_days=3
cat /dev/null>applied_arch.lst
chmod +x applied_arch.lst
sqlplus -s "/ as sysdba"<
set feedback off
set pages 0
set head off
set timing off
set echo off
spool applied_arch.lst
select 'run{' from dual;
select 'delete noprompt archivelog sequence '||sequence#||' ;' from v$archived_log where DEST_ID=1 and name like '%.dbf' and status='A'
and SEQUENCE#and COMPLETION_TIME<=sysdate-${applied_days}
order by COMPLETION_TIME;
select '}' from dual;
spool off;
exit
EOF
--================================
以上指令碼用來生成檔案applied_arch.lst,applied_arch.lst的內容就是rman要呼叫的刪除歸檔日誌的指令碼,內容大致如下:
$ more applied_arch.lst
run{
delete noprompt archivelog sequence 14254 ;
delete noprompt archivelog sequence 14255 ;
delete noprompt archivelog sequence 14256 ;
delete noprompt archivelog sequence 14257 ;
delete noprompt archivelog sequence 14258 ;
..................
delete noprompt archivelog sequence 14268 ;
delete noprompt archivelog sequence 14269 ;
delete noprompt archivelog sequence 14270 ;
delete noprompt archivelog sequence 14271 ;
delete noprompt archivelog sequence 14272 ;
delete noprompt archivelog sequence 14273 ;
}
--===============================
最後在指令碼purge_archlog.sh裡呼叫就可以了,purge_archlog.sh的內容如下:
$ more purge_archlog.sh
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/11.1.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=lnmsadg
rman target / cmdfile='/home/oracle/purge_archlog/applied_arch.lst' log='/home/o --========================== 最後透過crontab自動執行就可以了,crontab -l的結果如下: $ crontab -l
racle/purge_archlog/purge_archlog.log' append <
10 22 * * * purge_archlog_sql.sh >/dev/null 2>&1
20 22 * * * purge_archlog.sh >/dev/null 2>&1
$
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1060033/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何定期自動刪除歸檔日誌
- 備庫自動刪除已應用的歸檔日誌
- crontab不能自動刪除歸檔日誌
- oracle dataguard 自動刪除歸檔日誌Oracle
- 配置rman來自動刪除應用過的歸檔日誌
- DATAGUARD_standby刪除歸檔日誌的指令碼指令碼
- 手動刪除歸檔日誌
- 指令碼定期自動刪除ASM下的歸檔檔案指令碼ASM
- oracle 刪除過期的歸檔日誌Oracle
- 歸檔日誌的刪除
- dg刪除備庫已經應用的歸檔日誌指令碼指令碼
- 通過RMAN設定standby接收日誌後主庫歸檔日誌才可刪除
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- oracle刪除歸檔日誌Oracle
- Oracle歸檔日誌刪除Oracle
- 刪除歸檔日誌檔案
- DataGuard已應用歸檔日誌刪除指令碼指令碼
- RMAN刪除歸檔日誌時將ASM上空目錄同時刪除ASM
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- 刪除data guard歸檔日誌
- 作用RMAN 刪除歸檔日誌
- oracle rman不能自動刪除歸檔日誌備份解決Oracle
- 刪除歸檔,保留最近的5個歸檔日誌
- 自動刪除歸檔日誌的指令碼(尤其是dataguard環境)指令碼
- 歸檔日誌刪除的五種方法
- 【Oracle】 rman 刪除歸檔日誌的命令Oracle
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 邏輯dg刪除主庫過期歸檔日誌
- Oracle 11g 自動刪除ASM歸檔檔案指令碼OracleASM指令碼
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- rman刪除舊的歸檔日誌問題
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- rman刪除歸檔日誌命令集
- 【警鐘】謹慎刪除歸檔日誌
- DataGuard備庫刪除已經應用的日誌
- 在ASM磁碟組中刪除歸檔日誌報ORA-15028ASM