Oracle 开启归档模式后,会一直不停的产生归档日志,如果不定时删除,迟早会撑爆磁盘空间,所以就需要布置定时删除归档日志的脚本!
至于为什么要开启归档模式,还有怎么开启归档模式!请参考:Oracle 开启归档模式
Linux 下删除归档脚本:
mkdir-p/home/oracle/scripts/logvi/home/oracle/scripts/del_arch.sh#!/bin/bashsource~/.bash_profileDAY_TAG=`date+"%Y-%m-%d"`rmantarget/nocatalogmsglog/home/oracle/scripts/log/del_arch_$DAY_TAG.log<<EOFcrosscheckarchivelogall; deletenopromptarchiveloguntiltime'(sysdate-7)'; deletenopromptforcearchiveloguntiltime'SYSDATE-10'; EOF##写入crontabcrontab-e#0007***/home/oracle/scripts/del_arch.sh
Windows 下删除归档脚本:
编辑 del_arch.bat
脚本:
offsetORACLE_SID=orclset"filename=del_arch_task_log_%date:~0,4%%date:~5,2%%date:~8,2%.log"( echo. echo====================cleaning%date%%time%=========================echo. rmantarget/cmdfile=G:\scripts\del_arch.sqlecho. echo=====================finish%date%%time%=========================echo. )>>G:\scripts\%filename%2>&1<nul
编辑 del_arch.sql
脚本:
run{ crosscheckarchivelogall; deletenopromptarchiveloguntiltime'sysdate-1/2'; deletenopromptforcearchiveloguntiltime'SYSDATE-1'; }
📢 注意:脚本中的目录位置,请根据实际情况进行修改!