六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 42|回复: 0

linux oracle archivelog 定时清理方法

[复制链接]

升级  42%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
21
 楼主| 发表于 2013-1-15 02:21:58 | 显示全部楼层 |阅读模式
<div class="cnt">linux 平台下 oracle 数据库 archivelog 定时清理的方法
用crontab定时执行事先写好的脚本 脚本内容如下:
脚本名:clear_archivelog.sh
$ORACLE_HOME/bin/rman <<EOF
connect target sys/password@mydb
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-7';
exit;
EOF
脚本编写好后,在 oracle 用户下 使用 crontab -e 进行编辑 设定定时执行的时间等 即可
 
删除acrhivelog,最好用rman delete, 实际上在写脚本的时候,用OS的rm删除archivelog路径下的物理文件也可以,然后执行 crosscheck 和 delete expired ,但是这种方法在遇到ASM存储的时候实现起来会比较麻烦,所以建议用rman delete的方法。
另外,用 rman delete的时候可能会报:
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
<span style="" class="Apple-style-span"><span style="line-height: 20px; color: #444444; font-size: 12px;" class="Apple-style-span"><span style="" class="Apple-style-span"><span style="line-height: 20px; color: #444444; font-size: 12px;" class="Apple-style-span"><div style="line-height: 20px;">尝试删除归档日志,oracle提示这些归档日志还要用到standby数据库上面,不让删除,
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表