Oracle归档日志清理
一、Linux平台
备注:RAC环境同样适用
操作步骤:
1、在/home/oracle内创建一个目录,用来放shell脚本日志。
[root@orcldb4 arch_clean_log]$ su - oracle
--->从root用户切换到oracle用户,注意横线“-”左右都有空格
[oracle@orcldb4 arch_clean_log]$ mkdir /home/oracle/arch_clean_log
2、查看Oracle环境变量
[oracle@orcldb ~]$ env|grep ORA --->敲完命令之后,将如下名称记录下来,用于第三步设置脚本的环境变量
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
3、在/home/oracle/目录下新建脚本文件
以下的环境变量需要在第2步中获取
[oracle@orcldb4 ORACLE]vi clean_arch.sh
#!/bin/bash
export ORACLE_SID=orcl --->生产环境中Oracle实例名
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 --->数据库软件目录
export ORACLE_BASE=/u01/app/oracle --->Oracle基目录
time=`date +"20%y%m%d%H%M%S"` --->日期格式
logdir="/home/oracle/arch_clean_log" --->脚本执行日志
find $logdir -type f -name "*.log" -mtime +7 -exec rm -rf {} \;--->此处保留7天脚本执行日志
$ORACLE_HOME/bin/rman target / log=$logdir/archClean_$time.log <<EOF
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';--->此处示例为保留7天的归档日志
}
exit
EOF
4、对脚本文件赋予可执行权限
[oracle@orcldb4 ORACLE]$ chmod +x clean_arch.sh
5、设置定时计划
在oracle用户下,添加crontab
下面示例为每天凌晨3点开始执行定时清理脚本
[oracle@orcldb4 arch_clean_log]$ crontab -e
0 3 * * * /bin/bash /home/oracle/clean_arch.sh >/dev/null 2>&1
最后检查下crontab是否已添加
[oracle@orcldb4 arch_clean_log]$ crontab -l
0 3 * * * /bin/bash /home/oracle/clean_arch.sh >/dev/null 2>&1
二、Windows平台
操作步骤:
1、新建一个文件夹用于存放脚本执行的日志
2、查看Oracle sid
在Windows环境可以:
开始—>运行(输入regedit),在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb开头g_home1中有ORACLE_SID的键值(系统默认值),如下图所示:
3、新建txt,将如下内容复制到文本内
set ORACLE_SID=orcl --->注册表中Oracle实例名
set arch_log=D:\arch_log --->脚本执行日志目录
rman target / cmdfile='%arch_log%\script.txt' log='%arch_log%\del_arch_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'
--->调用RMAN脚本
forfiles /P %arch_log% /M *.log /S /D -7 /C "cmd /c del /F /s /q @file"
--->此处示例为保留7天的脚本日志记录
4、添加RMAN脚本
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
--->此处示例为保留7天的归档日志
}
5、修改脚本后缀名为bat
确保bat文件与script文件在一个目录
6、添加任务计划
在windows添加任务计划,设定时间即可