签到成功

知道了

CNDBA社区CNDBA社区

Oracle Data Guard 备库 归档文件 删除脚本

2016-11-25 15:51 734 0 原创 Oracle 11g
作者: Dave

 

 

       Oracle Data Guard 是通过归档文件来进行数据同步的。 主库的归档文件,我们可以在RMAN 备份的时候进行删除,但是备库的归档文件无法自动删除,需要写脚本来定时删除。

 

       如果直接删除归档文件的话,可能会出现一种情况,就是归档文件还没有来的急apply,就被删除掉了。所以最安全的做法是在删除归档文件做一个判断。 然后在删除。

 

       整理的一个删除备库的shell 脚本如下:

 

[oracle@qs-xezf-db2 scripts]$ 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" <<eof >/u02/scripts/max_sn.log

set head off;

set feedback;https://www.cndba.cn/Dave/article/869

select max(sequence#) from v/$log_history;

exit;

eof

max_sn=`cat /u02/scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`

max_sn=`expr $max_sn - 30`

-- 我这里是保留最近的30个归档文件,这个具体情况自己决定

echo $max_sn

while [ $del_seq -lt $max_sn ]https://www.cndba.cn/Dave/article/869

do

  rm /u02/archivelog/1_"$del_seq"_737806218.arc

-- 这里是我定义归档文件的格式,具体根据自己的归档文件格式来匹配,关键是匹配日志的sequence no

  del_seq=`expr $del_seq + 1`

  echo $del_seq

done

 

--脚本里的红色部分根据自己的情况进行修改

https://www.cndba.cn/Dave/article/869

 

[oracle@qs-xezf-db2 scripts]$ ls

del_st_archive.sh  del_st_arch.log  max_sn.log

--max_sn.log 是存放最大seq tmp文件。 用来进行比较的

 

添加到crontab,定时执行:https://www.cndba.cn/Dave/article/869

[oracle@qs-xezf-db2 scripts]$ crontab -l

00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1

 

Linux Crontab 定时任务 命令详解

http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspxhttps://www.cndba.cn/Dave/article/869

 

 

 https://www.cndba.cn/Dave/article/869

 

 

 

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()https://www.cndba.cn/Dave/article/869

DBA3 群:62697850   DBA 超级群:63306533;     https://www.cndba.cn/Dave/article/869https://www.cndba.cn/Dave/article/869

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请https://www.cndba.cn/Dave/article/869

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 11g

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1879
    原创
  • 2
    翻译
  • 437
    转载
  • 127
    评论
  • 访问:3440074次
  • 积分:3049
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群