【oracle脚本】ADG主库紧急清理归档定时任务脚本

发布时间:2024-12-22 08:46

定期清理已完成但未归档的任务 #生活常识# #时间管理建议# #任务清单#

1、部署背景:
系统ip:XXXXXXXX oracleADG由于归档目录设置不合理且数据文件开启自增模式(已做调整),且nbu偶尔会资源等待没及时备份走归档走主库的归档日志,为避免归档满造成业务影响及产生告警
部署监控目录脚本并紧急清理已同步的归档

2、测试情况:
已在测试环境测试通过

3、以下是脚本部署步骤:(oracle用户)

3.1获取/oradata目录使用率,不超过输出file system not over flow,超过95%后执行删除adg已同步的归档
cat > /home/oracle/scripts/clear_arch.sh
#!/bin/bash
#created by chenzhaohai
#created at 08-17-2021
arch_space_using=df -h|grep /oradata|awk '{if($5/1>95)print $NF" Filesystem Usage :"$5}'
if test -z “$arch_space_using”; then
echo “file system not over flow”
else
nohup sh /home/oracle/scripts/del_arc.sh >> /home/oracle/scripts/del_arc.sh.out&
fi

3.2删除当前时间3个小时前applied='YES’的归档,
cat > /home/oracle/scripts/del_arc.sh
#!/bin/bash
#created by chenzhaohai
#created at 08-17-2021
export ORACLE_SID=jfdg
export ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
export ORACLE_BASE=/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
sqlplus / as sysdba <<EOF
set heading off;
set feedback off;
spool /tmp/tmp.txt
select ‘delete archivelog until sequence ‘|| SEQUENCE#||’;’ from (select t.SEQUENCE# from v$archived_log t where applied=‘YES’ and t.DELETED=‘NO’ and completion_time<(sysdate-3/24) order by t.SEQUENCE# desc) where rownum <=1;
spool off;
exit;
EOF
echo “run{” >/tmp/delarch.sql
echo “ALLOCATE CHANNEL ab1 DEVICE TYPE disk;” >>/tmp/delarch.sql
cat /tmp/tmp.txt |grep “delete” |grep -v archived_log >>/tmp/delarch.sql
echo “release CHANNEL ab1;” >>/tmp/delarch.sql
echo “}” >>/tmp/delarch.sql
rman target / @/tmp/delarch.sql
exit
echo “-----------------date------------------------”
echo “-----------------FINISHED--------------------”

3.3部署定时任务,没半个小时监测/oradata目录使用率
crontab -e
##每10分钟监测归档目录/oradata,若大于95%,执行
0,05,10,15,20,25,30,35,40,45,50,55 * * * * sh /home/oracle/scripts/clear_arch.sh >> /home/oracle/scripts/clear_arch.sh.out

【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

网址:【oracle脚本】ADG主库紧急清理归档定时任务脚本 https://www.yuejiaxmz.com/news/view/537698

相关内容

脚本自动化任务
十个Python脚本,轻松实现日常任务自动化
10个Python脚本轻松实现日常任务自动化
10个Python脚本,轻松实现日常任务自动化!
10个Python脚本,轻松实现日常任务自动化
从零开始构建:Python自定义脚本自动化你的日常任务
oracle 清理lob set (lob字段)='n',ORACLE数据库使用的常见问题(三)
轻松实现日常任务自动化的6个Python脚本
10个Python自动化脚本,让日常任务轻松便捷!
突发!Oracle数据库临时表空间不翼而飞,紧急应对指南揭秘

随便看看