最近几个客户生产环境都遇到一些故障,原因就是开归档,没有部署删除归档定时任务,以下大家可以参考,经过本人测试,在生产环境上正常运行。
**roidba删除归档日志脚本**
一、基于RHEL6服务器端的归档日志删除脚本
生产库部署环境:
数据库:Oracle 11.2.0.4
操作系统:RHEL 6.6
第一步:设置control_file_record_keep_time
此参数很重要,备份记录、归档记录等都会存放在控制文件中,而此参数提供保留记录的时间段,默认值为7天。通常我们要设置此参数大于备份文件保留的时间段。这里我们设置31天。
操作如下:
SQL> show parameter keep_time
NAME TYPE VALUE
---------------------------------------- ---------------------- ------------------------------
control_file_record_keep_time integer 7
SQL>
SQL> alter system set control_file_record_keep_time=31 scope=both; --动态参数
SQL> show parameter keep_time
NAME TYPE VALUE
---------------------------------------- ---------------------- ------------------------------
control_file_record_keep_time integer 31
第二步:创建detele_archivelog.sh脚本
选择存放脚本的路径
$ mkdir -p /home/oracle/scripts --创建脚本存放目录
$ cd /home/oracle/scripts --打开/home/oracle
$ touch delete_archivelog.sh --创建脚本
$ chmod 755 delete_archivelog.sh --赋予读写权限
$ vi delete_archivelog.sh --编辑脚本
注意修改ORACLE_SID ,log路径要写绝对路径,不写绝对路径会导致单独执行成功,定时任务执行时找不到对应的log
脚本:
cat > /home/oracle/scripts/delete_archivelog.sh <<eof
#!/bin/bash
#Author Roidba
#FileName: delete_archivelog.sh
#Date: 2019-01-25
#DESC: Delete all complete before 5 days archivelog.
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
$ORACLE_HOME/bin/rman log=/home/oracle/scripts/rman_archive.log <<EOF
connect target sys/oracle@orcl
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate - 5';
}
exit;
EOF
eof
第三步:执行detele_archivelog.sh脚本
$sh delete_archivelog.sh --执行脚本
查看对应日志执行成功
第四步:添加crontab计划任务
使用oracle用户添加例行任务:
crontab -l --查看计划任务
crontab -e --编辑计划任务
新打开的窗口中添加一下内容:
0 1 * * * /home/oracle/scripts/delete_archivelog.sh
----每天1点执行
编辑完成后按Esc键,输入“:wq”存盘退出
关于crontab每一列的含义可以参考一下内容:
# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
第五步:执行验证
1、查看执行计划是否自动启动
ps -ef | grep crond #判断定时服务是否启动
service crond start|stop|restart #启动、停止或重启服务
crontab -l #查看是否有正确添加定时任务
2、crontab成功执行验证:
在root下执行tail -f /var/log/cron,监控cron日志来确保crontab的成功执行:
在oracle下执行tail -f /var/spool/mail/oracle
或者在 oracle 下执行mail 查看最近的日志看执行情况
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为咸阳企业提供专业的做网站、成都网站制作,咸阳网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
分享标题:oracle11g生产环境清理归档日志脚本-创新互联
链接URL:https://www.cdcxhl.com/article16/cecgdg.html
成都网站建设公司_创新互联,为您提供虚拟主机、自适应网站、云服务器、全网营销推广、域名注册、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联