oracle 11 g生产环境清理归档日志脚本

  
 <代码>最近几个客户生产环境都遇到一些故障,原因就是开归档,没有部署删除归档定时任务,以下大家可以参考,经过本人测试,在生产环境上正常运行。 
  
 <代码> * * roidba删除归档日志脚本* *
  一,基于RHEL6服务器端的归档日志删除脚本
  生产库部署环境:
  数据库:Oracle 11.2.0.4
  操作系统:RHEL 6.6
  第一步:设置control_file_record_keep_time
  此参数很重要,备份记录,归档记录等都会存放在控制文件中,而此参数提供保留记录的时间段,默认值为7天,通常我们要设置此参数大于备份文件保留的时间段。这里我们设置31天。
  操作如下:
  完成;显示参数keep_time
  名称类型值
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  control_file_record_keep_time整数7
  完成;
  完成;改变系统设置control_file_record_keep_time=31=范围;——动态参数
  完成;显示参数keep_time
  名称类型值
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  control_file_record_keep_time整数31
  第二步:创建detele_archivelog.sh脚本
  选择存放脚本的路径
  mkdir - p/home/oracle/scripts美元,创建脚本存放目录
  $ cd/home/oracle/scripts——打开/home/oracle
  触摸delete_archivelog美元。sh——创建脚本
  delete_archivelog chmod 755美元。sh -赋予读写权限
  vi delete_archivelog美元。sh——编辑脚本
  注意修改ORACLE_SID、日志路径要写绝对路径,不写绝对路径会导致单独执行成功,定时任务执行时找不到对应的日志
  脚本:
  猫在/home/oracle/scripts/delete_archivelog。sh & lt; & lt; eof
  # !/bin/bash
  #作者Roidba
  #文件名:delete_archivelog.sh
  日期:2019-01-25
  # DESC:删除所有5天archivelog之前完成。
  出口ORACLE_SID=orcl
  出口ORACLE_BASE=/u01/app/oracle
  出口ORACLE_HOME=$ ORACLE_BASE/产品/11.2.0/dbhome_1
  $ ORACLE_HOME/bin/rman日志=/home/oracle/脚本/rman_archive。日志& lt; & lt; EOF
  连接目标sys/oracle@orcl
  运行{
  反复核对archivelog;
  删除noprompt archivelog到期;
  删除noprompt archivelog‘sysdate - 5之前完成;
  }
  退出;
  EOF
  eof
  
  第三步:执行detele_archivelog.sh脚本
  sh delete_archivelog美元。sh -执行脚本
  查看对应日志执行成功
  第四步:添加crontab计划任务
  使用甲骨文用户添加例行任务:
  crontab - l -查看计划任务
  crontab - e -编辑计划任务
  新打开的窗口中添加一下内容:
  * * */home/oracle/scripts/delete_archivelog.sh 0 1
  - - - - -每天1点执行
  编辑完成后按Esc键,输入”:wq”存盘退出
  关于crontab每一列的含义可以参考一下内容:
  #更多/etc/crontab
  SHELL=/bin/bash
  路径=/sbin/bin:/usr/sbin:/usr/bin
  MAILTO=根
  家=/#详情见人4 crontab中
  
  #工作定义的示例:
  #。- - - - - - - - - - - - - - - - -分钟(0 - 59)
  # |。- - - - - - - - - - - - -小时(0 - 23)
  # | |。- - - - - - - - - - -月日(1 - 31)
  # | | |。- - - - - - -月(1 - 12)或1月,2月,3月,4月…
  # | | | |。- - - - -天的周(0 - 6)(星期日=0 7)或太阳,星期一,星期二,星期三,星期四,星期五,坐
  # | | | | |
  # * * * * *用户名要执行的命令
  第五步:执行验证
  1、查看执行计划是否自动启动
  ps ef | grep crond #判断定时服务是否启动
  服务crond开始|停止|重启#启动,停止或重启服务
  crontab - l #查看是否有正确添加定时任务
  2,crontab成功执行验证:
  在根目录下执行尾- f/var/log/cron,监控cron日志来确保crontab的成功执行:
  在oracle下执行尾- f/var/spool/mail/oracle
  或者在甲骨文下执行邮件查看最近的日志看执行情况
   之前

oracle 11 g生产环境清理归档日志脚本