oracle自动清理archivelog文件的具体方法
1.登陆到服务器上创建rman自动删除两天前的归档日志脚本
[oracle@108 ~]$ cat >>del_ora_log.rman EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt force archivelog until time 'sysdate -2'; -------删除两天前的archivelog
exit;
EOF
2.手动执行清除日志
[oracle@108 ~]$ rman target/ cmdfile=/home/oracle/del_ora_log.rman msglog=/home/oracle/del_ora_log.rman.log
3.将脚本加入系统定时任务
注意:任务执行的时候环境变量不能应用上,导致rman命令不能执行成功,可以将环境变量和命令放到一个脚本中,这样执行就没有问题。
Shell代码
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=ORCL
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
rman target/ cmdfile=/home/oracle/del_ora_log.rman msglog=/home/oracle/del_ora_log.rman.log >>/home/oracle/rman.log 2>1
[oracle@108 ~]$ crontab -e
13 * * * * /home/oracle/del_ora_log.sh >>del_ora_log.log 2>1
4.某些表插入数据频繁但数据又不太重要可以去掉log。
alter table tablename> NOLOGGING;
您可能感兴趣的文章:- 关于Oracle Dataguard 日志传输状态监控问题
- ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
- Oracle 11g Dataguard参数详解
- Oracle删除archivelog文件的正确方法
- Oracle WebLogic Server 12.2.1.2安装部署教程
- Oracle数据库由dataguard备库引起的log file sync等待问题