DG归档日志删除脚本怎么写

这篇文章主要介绍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 

以上是“DG归档日志删除脚本怎么写”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!