千家信息网

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

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍DG归档日志删除脚本怎么写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!由于磁盘资源紧缺,需要一个归档日志处理的策略网上找了几个脚本,发现写的那么麻烦毛了,于是
千家信息网最后更新 2025年02月01日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" <

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 / <

33.crosscheck archivelog all;

34.delete obsolete;

35.delete noprompt expired archivelog all;

36.EOF

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

0