Oracle数据归档删除日志解决方案

发布于 2022-09-05 17:47:10 字数 1494 浏览 11 评论 1

数据归档日志记录着数据库的操作记录,是做数据恢复的依据,如果数据库开启了数据归档模式,那么就会产生大量的数据归档日志,当然如果有RMAN备份的话,可以在备份之后删除已经备份过的日志,如果是没有采用rman备份的话,就需要自己来删除这写数据归档日志。 下面的几个脚本就减轻了DBA的工作量。

Linux 平台:
0 2  * * * /home/oracle/scripts/del_archive.sh > /home/oracle/scripts/del_archive.log

[oracle@hfcc-svr-newccsdb1 ~]$ more /home/oracle/scripts/del_archive.sh
#!/usr/bin/ksh
# create by tianlesoftware

export ORACLE_HOME=/dba/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl

export SHELL_DIR=/home/oracle/scripts

del_seq=`ls /u01/newccs_archive/|head -1|cut -f2 -d_`
echo $del_seq

$ORACLE_HOME/bin/sqlplus -s "sys/PWD@SID as sysdba" <<eof >/home/oracle/scripts/max
_sn.log
set head off;
set feedback;
select max(sequence#) from v$log_history;
exit;
eof

max_sn=`cat /home/oracle/scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`
max_sn=`expr $max_sn - 5`
echo $max_sn

while [ $del_seq -lt $max_sn ]
do
rm /u01/archive/1_"$del_seq"_692846987.dbf
del_seq=`expr $del_seq + 1`
echo $del_seq

done

或者用脚本:
del_arc.sh
find /u01/backups -mtime +10 -name "*.dbf" -exec rm -rf {} ;

windows 平台:

del_arc_orcl.bat
forfiles /p d:arc_orcl /m *.DBF /d -3 /c "cmd /c del @file"

将del_arc_orcl.bat 添加到计划任务即可.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2022-09-11 17:35:23

不错,但是最好用rman备走,不然光删除还不如移走保险。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文