Oracle Data Guard 是通过归档文件来进行数据同步的。 主库的归档文件,我们可以在RMAN 备份的时候进行删除,但是备库的归档文件无法自动删除,需要写脚本来定时删除。
如果直接删除归档文件的话,可能会出现一种情况,就是归档文件还没有来的急apply,就被删除掉了。所以最安全的做法是在删除归档文件做一个判断。 然后在删除。
整理的一个删除备库的shell 脚本如下:
[oracle@linuxidc www.linuxidc.com]$ cat del_st_archive.sh
#!/usr/bin/ksh
# created by tianlesoftware
# 2010/12/24
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=xxxx
export SHELL_DIR=/u02/scripts
del_seq=`ls /u02/archivelog/|head -1|cut -f2 -d_`
echo $del_seq
$ORACLE_HOME/bin/sqlplus -s "user/pwd@sid_pd as sysdba" /u02/scripts/del_st_arch.log 2>&1
Linux Crontab 定时任务 命令详解 http://www.linuxidc.com/Linux/2007-09/7681.htm