ITPub博客

首页 > 数据库 > Oracle > 简单DG归档日志删除脚本

简单DG归档日志删除脚本

Oracle 作者:hlroracle 时间:2017-08-15 09:23:43 0 删除 编辑


最近在摆弄DG,由于磁盘资源紧缺,需要一个归档日志处理的策略

网上找了几个脚本,发现写的那么麻烦

毛了,于是简单写了一个,实际路径等可以自己在修改

主库备库都可以用,自己再做crontab就好,建议错开时间进行

需要注意,提前查询DEST_ID,下面这个是主库删除的脚本(备库只需更改dest_id即可),我的主库v$archived_log里,主库的归档dest_id=1,备库是dest_id=2

 

1.  #!/bin/bash 

2.   

3.  ############ easy script by lcrash @ 2011-1-25############ 

4.  # for delete DG archive log                              # 

5.  # you should modify USER_HOME && make sure del_dir exists# 

6.  # and you can change your keep date by modify SQL below  # 

7.  ########################################################## 

8.   

9.  USER_HOME=/opt/Oracle 

10.DEL_DIR=$USER_HOME/del_arch 

11. 

12.source $USER_HOME/.bash_profile  

13.$ORACLE_HOME/bin/sqlplus -S "/as sysdba" <<eof  </eof <>

14.set heading off 

15.set feedback off 

16.spool /opt/oracle/del_arch/del_arch.list 

17.select 'rm -rf '||name from v\$archived_log  

18.where DEST_ID=1 and SEQUENCE#<(select max(SEQUENCE#) from v\$archived_log where applied='YES') and COMPLETION_TIME<=sysdate-0; 

19.spool off 

20.exit 

21.EOF 

22. 

23.cd $DEL_DIR 

24.sed -n '/dbf/p' del_arch.list>del_arch_do.sh 

25.chmod +x del_arch_do.sh 

26.source del_arch_do.sh 

27. 

28.rm del_arch.list 

29.mv {,`date +%Y-%m-%d-%H`}del_arch_do.sh 

30. 

31. 

32.rman target / <<eof  </eof <>

33.crosscheck archivelog all; 

34.delete obsolete; 

35.delete noprompt expired archivelog all; 

36.EOF 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29942527/viewspace-2143518/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-10-08

  • 博文量
    27
  • 访问量
    48698