在DG中,备库的归档,假如一应用上后的话,实际上就可以删除了(假如主库有归档的备份)
那么如何通过crontab来定时删除归档日志呢?
当然可以通过OS上的方法来删除,但是其实Oracle就可以搞定,而且更方便和安全。
下面是具体的脚本。
[oracle@server oracle]$ crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.21153 installed on Thu Jun 8 14:04:01 2006)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie
Exp $)
#00 08 * * * /app/shell/readonly.sh
#32 02 * * * /app/shell/dataguard_recover.sh
#32 00 * * * /app/shell/del_log.sh
#20 00 * * * /home/oracle/status_to_partition.sh
#00 01 * * * /home/oracle/history_to_partition.sh
#10 00 * * * find /data2/archlog/ -name "sms_*" -ctime +1 -exec rm
-f {} \;
#00 04 * * * /home/oracle/job433.sh
00 08 * * * /home/oracle/recover_readonly/readonly.sh
32 05 * * *
/home/oracle/recover_readonly/dataguard_recover.sh
30 08 * * * sh
/home/oracle/delete_archive_log.sh
----假如不想加sh 的话,就必须把 “X"权限开通。
[oracle@server oracle]$ ls -l
/home/oracle/recover_readonly/readonly.sh
/home/oracle/recover_readonly/dataguard_recover.sh
/home/oracle/spool_delete.sql
-rwxr-xr-- 1 oracle oinstall 633 May
30 09:09 /home/oracle/recover_readonly/dataguard_recover.sh
-rwxr-xr-- 1 oracle oinstall 577 May
30 09:08 /home/oracle/recover_readonly/readonly.sh
-rwxr--r-- 1 oracle oinstall 291 Jun 8
13:57 /home/oracle/spool_delete.sql
[oracle@server oracle]$ more
/home/oracle/delete_archive_log.sh
export LD_ASSUME_KERNEL=2.4.21
export ORACLE_BASE=/data1/oracle
export ORACLE_HOME=/data1/oracle/product/9.2.0.4
export ORACLE_SID=ice
export ORACLE_TERM=xterm
export ORACLE_OWNER=oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export THREADS_FLAG=native
export
LD_LIBRARY_PATH=/data1/oracle/product/9.2.0.4/lib:/lib:/usr/lib:/usr/local/lib
export PATH=/data1/oracle/product/9.2.0.4/bin:$PATH
export PATH=$PATH:$ORACLE_HOME/bin
sqlplus /nolog <
conn sys/xxx@ice as sysdba
alter session set nls_date_format= 'yyyy-mm-dd hh24:mi:ss';
@/home/oracle/spool_delete.sql
@/home/oracle/del_log.sqlexit
EOF
[oracle@server oracle]$ more
/home/oracle/spool_delete.sql
set feedback off
set echo off
set verify off
set heading off
SET LINESIZE 200
spool /home/oracle/del_log.sql
select 'host rm
/backup/standby/standby_arch/ice_'||to_char(SEQUENCE# -
1)||'_1.dbf'from
v$archived_log
where completion_time > trunc(sysdate -1)
and applied = 'YES';
spool off;
[oracle@server oracle]$ more
/home/oracle/recover_readonly/dataguard_recover.sh
export LD_ASSUME_KERNEL=2.4.21
export ORACLE_BASE=/data1/oracle
export ORACLE_HOME=/data1/oracle/product/9.2.0.4
export ORACLE_SID=ice
export ORACLE_TERM=xterm
export ORACLE_OWNER=oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export THREADS_FLAG=native
export
LD_LIBRARY_PATH=/data1/oracle/product/9.2.0.4/lib:/lib:/usr/lib:/usr/local/lib
export PATH=/data1/oracle/product/9.2.0.4/bin:$PATH
export PATH=$PATH:$ORACLE_HOME/bin
sqlplus /nolog <
conn / as sysdba
shutdown abort
startup nomount
alter database mount standby database;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM
SESSION;
exit
EOF
[oracle@server oracle]$ more
/home/oracle/recover_readonly/readonly.sh
export LD_ASSUME_KERNEL=2.4.21
export ORACLE_BASE=/data1/oracle
export ORACLE_HOME=/data1/oracle/product/9.2.0.4
export ORACLE_SID=ice
export ORACLE_TERM=xterm
export ORACLE_OWNER=oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export THREADS_FLAG=native
export
LD_LIBRARY_PATH=/data1/oracle/product/9.2.0.4/lib:/lib:/usr/lib:/usr/local/lib
export PATH=/data1/oracle/product/9.2.0.4/bin:$PATH
export PATH=$PATH:$ORACLE_HOME/bin
sqlplus /nolog <
conn / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
alter database open read only;
exit
EOF
Btw---测试:
[oracle@server oracle]$ ls -l
/backup/standby/standby_arch/
total 7718108
-rw-r----- 1 oracle oinstall 524287488 Jun 6 00:25
ice_5190_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 01:02
ice_5191_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 01:03
ice_5192_1.dbf
-rw-r----- 1 oracle oinstall 524286976 Jun 6 01:07
ice_5193_1.dbf
-rw-r----- 1 oracle oinstall 195346432 Jun 6 01:08
ice_5194_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 11:48
ice_5195_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 16:59
ice_5196_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 19:54
ice_5197_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 7 00:21
ice_5198_1.dbf
-rw-r----- 1 oracle oinstall 524286976 Jun 7 01:02
ice_5199_1.dbf
-rw-r----- 1 oracle oinstall 384540160 Jun 7 01:05
ice_5200_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 7 12:08
ice_5201_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 7 18:13
ice_5202_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 7 22:57
ice_5203_1.dbf
-rw-r----- 1 oracle oinstall 499927552 Jun 8 01:02
ice_5204_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 8 12:21
ice_5205_1.dbf
[oracle@server oracle]$ sh ~/delete_archive_log.sh
SQL*Plus: Release 9.2.0.4.0 - Production on Thu Jun 8 14:01:15
2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights
reserved.
SQL> Connected.
SQL>
Session altered.
SQL> SQL>
host rm /backup/standby/standby_arch/ice_5197_1.dbf
host rm /backup/standby/standby_arch/ice_5198_1.dbf
host rm /backup/standby/standby_arch/ice_5199_1.dbf
host rm /backup/standby/standby_arch/ice_5200_1.dbf
host rm /backup/standby/standby_arch/ice_5201_1.dbf
host rm /backup/standby/standby_arch/ice_5202_1.dbf
host rm /backup/standby/standby_arch/ice_5203_1.dbf
SQL>
SQL> Disconnected from Oracle9i Enterprise Edition Release
9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
[oracle@server oracle]$ ls -l /backup/standby/standby_arch/
total 4267184
-rw-r----- 1 oracle oinstall 524287488 Jun 6 00:25
ice_5190_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 01:02
ice_5191_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 01:03
ice_5192_1.dbf
-rw-r----- 1 oracle oinstall 524286976 Jun 6 01:07
ice_5193_1.dbf
-rw-r----- 1 oracle oinstall 195346432 Jun 6 01:08
ice_5194_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 11:48
ice_5195_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 6 16:59
ice_5196_1.dbf
-rw-r----- 1 oracle oinstall 499927552 Jun 8 01:02
ice_5204_1.dbf
-rw-r----- 1 oracle oinstall 524287488 Jun 8 12:21
ice_5205_1.dbf