Oracle 11g Data Guard 備庫歸檔日誌清理指令碼(保留一週歸檔)
#!/bin/sh
#clean archived log
#author jiadingyi
#version 1.0 2015/11/04
#設定資料庫環境變數
TMP=/tmp
export TMP
TMPDIR=$TMP
export TMPDIR
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME
ORACLE_SID=gtfdb
export ORACLE_SID
ORACLE_UNQNAME=gtfdbdg
export ORACLE_UNQNAME
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export CLASSPATH
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
now=`date +%Y%m%d`
Gap=`sqlplus -silent "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select count(*) from v\\\$archive_gap;
exit;`
Arc_applied=`sqlplus -silent "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select count(*) from v\\\$archived_log where applied='NO';
exit;`
#check the archive log applicance and the gap information
if [ $Gap -eq 0 ] && [ $Arc_applied -eq 0 ]
then
rman target / log=/home/oracle/log/$now.log << EOF
delete noprompt archivelog until time 'sysdate-7';
exit
EOF
else
echo "Please check the archivelog appliance error.." >> /home/oracle/log/error_$now.log
#sendmail
#mail -s "subject" jiadingyi@xxx.com < /home/oracle/log/$now.log
fi
#clean archived log
#author jiadingyi
#version 1.0 2015/11/04
#設定資料庫環境變數
TMP=/tmp
export TMP
TMPDIR=$TMP
export TMPDIR
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME
ORACLE_SID=gtfdb
export ORACLE_SID
ORACLE_UNQNAME=gtfdbdg
export ORACLE_UNQNAME
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export CLASSPATH
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
now=`date +%Y%m%d`
Gap=`sqlplus -silent "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select count(*) from v\\\$archive_gap;
exit;`
Arc_applied=`sqlplus -silent "/ as sysdba" << EOF
set pagesize 0 feedback off verify off heading off echo off
select count(*) from v\\\$archived_log where applied='NO';
exit;`
#check the archive log applicance and the gap information
if [ $Gap -eq 0 ] && [ $Arc_applied -eq 0 ]
then
rman target / log=/home/oracle/log/$now.log << EOF
delete noprompt archivelog until time 'sysdate-7';
exit
EOF
else
echo "Please check the archivelog appliance error.." >> /home/oracle/log/error_$now.log
#sendmail
#mail -s "subject" jiadingyi@xxx.com < /home/oracle/log/$now.log
fi
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2050904/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉載】Oracle Data Guard 備庫 歸檔檔案 刪除指令碼Oracle指令碼
- 刪除data guard歸檔日誌
- data guard 歸檔日誌管理 (standby)
- data guard 歸檔日誌管理 (primary)
- Oracle歸檔日誌清理Oracle
- RMAN備份歸檔日誌指令碼指令碼
- oracle歸檔日誌過滿清理Oracle
- rman清理歸檔日誌
- Oracle Data Guard 主庫歸檔檔案刪除策略Oracle
- Oracle Data Guard 主庫 歸檔檔案 刪除策略Oracle
- 刪除歸檔,保留最近的5個歸檔日誌
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- 備份歸檔日誌
- Oracle Data Guard 主庫 歸檔檔案 刪除策略--續Oracle
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- 備份歸檔日誌檔案
- 【轉載】Oracle Data Guard 主庫 歸檔檔案 刪除策略Oracle
- rman全庫備份備份歸檔日誌檔案
- dg刪除備庫已經應用的歸檔日誌指令碼指令碼
- 歸檔oracle alert日誌Oracle
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- Oracle設定多個歸檔路徑生成多份歸檔日誌,Rman備份時也只備份其中的一份歸檔日誌Oracle
- 歸檔日誌
- Linux/Unix shell 指令碼清除歸檔日誌檔案Linux指令碼
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- Oracle RMAN 清除歸檔日誌Oracle
- ORACLE 歸檔日誌資訊sqlOracleSQL
- oracle刪除歸檔日誌Oracle
- Oracle RMAN清除歸檔日誌Oracle
- Oracle歸檔日誌管理技巧Oracle
- oracle archive log 歸檔日誌OracleHive
- Oracle歸檔日誌刪除Oracle
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- oracle之 Oracle歸檔日誌管理Oracle
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼