aix_设置定期删除oracle日志归档
系统环境
操作系统: AIX 5.3.0.0
数据库: 10.2.0
设置过程
设置定时器
1. 切换到超级用户(root),并创建oracle用户定时器,命令如下:
#执行su命令后请输入root用户密码
su
#创建oracle定时器
crontab -e oracle
2. 执行命令后,将进入编辑界面,在该界面中制定定时器执行脚本,命令如下:
#输入i进入编辑模式
i
#编辑oracle定时器,为其添加一个每天晚上1点执行的定时任务,执行脚本为/oracle/clearArchiveLog/clearArchiveLog.sh,内容如下:
0 1 * * * /oracle/clearArchiveLog/clearArchiveLog.sh
#保存退出
:wq
编辑执行命令脚本
#进入oracle目录,并创建clearArchiveLog文件夹,创建执行脚本clearArchiveLog.sh
cd /oracle
mkdir clearArchiveLog
vi clearArchiveLog.sh
#进入编辑模式
i
#输入如下内容:
#重新是oracle_home和oracle_sid环境变量生效
export ORACLE_HOME=/oracle/app/product/10.2.0/db_10g
export ORACLE_SID=orcl
#定义日期格式
d=$(date +"%Y%m%d_%H%M")
#输出开始清除日志
echo $d"\t""Start cleanIng archivelog before 7 days..." >> /oracle/clearArchiveL
og/archlog_rm.log
#开始执行rman清除归档日志命令,rman中命令在/oracle/clearArchiveLog/rmanArch.sh中,执行过程日志追加到archlog_rm.(日期).log中
/oracle/app/product/10.2.0/db_10g/bin/rman target / nocatalog cmdfile=/oracle/cl
earArchiveLog/rmanArch.sh msglog=/oracle/clearArchiveLog/archlog_rm.$d.log
#保存退出
:wq
编辑rman执行命令脚本
#进入编辑模式
i
#输入如下内容
#删除oracle3天前的归档日志
run{crosscheck archivelog all;delete noprompt archivelog until time "sysdate -3";}