oracle创建一个只读账号oracle自动清理archivelog文件

oracle自动清理archivelog文件

 

登陆到服务器上创建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=$Poracle账号ATH:$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 metalink账号分类目录,贴了标签。将固定链接加入收藏夹。