Oracle归档日志清理
2019-02-07 20:36
274 查看
版权声明:本文为作者原创,转载请标明出处! https://blog.csdn.net/kiral07/article/details/86772849
操作步骤:
1、在/home/oracle内创建一个目录,用来放shell脚本日志。
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添加任务计划,设定时间即可
相关文章推荐
- oracle归档日志清理
- oracle设置自动清理归档日志脚本
- Oracle rman 自动清理归档日志
- Oracle 日志归档 自动清理
- oracle日志归档空间清理
- ORACLE 定时清理归档日志详细过程
- ORACLE 定时清理归档日志详细过程
- Linux下Oracle归档日志自动清理脚本代码(sh)
- Oracle监听挂掉以及归档库日志满清理方法
- 清理oracle的归档日志
- oracle每天清理归档日志
- Oracle 简单清理归档日志文件
- oracle归档日志清理
- oracle归档、alert、监听日志备份与清理
- Oracle 定时清理归档日志的方法
- Oracle自动清理归档日志脚本
- oracle归档日志的自动清理
- ORACLE 数据库日志归档的清理
- 清理Oracle归档日志
- ORACLE清理归档日志