Oracle自动清理日志脚本

前端之家收集整理的这篇文章主要介绍了Oracle自动清理日志脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、背景

继《Oracle备份还原实践》后(链接地址http://www.jb51.cc/article/p-hwgbtfow-bqs.html),由于业务增长,频繁的备份还原对于磁盘空间有了更大的空间需求,基本每周500G的磁盘,空间使用率都会达到85%以上,故编写oracle清理脚本结合crond自动清理oracle归档日志。

二、工具介绍

RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更强大的备份与恢复的管理功能。通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷与完美。

使用RMAN连接到数据库时,默认使用SYSDBA角色登陆。

rmantarget/#连接进rman
DELETENOPROMPTARCHIVELOGALLCOMPLETEDBEFORE'SYSDATE-7';#删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志

由于物理磁盘dbf文件很多,如果进行物理删除dbf文件较麻烦,列出以下命令供物理删除参考

rm-rf`ls-l/home/oracle/app/arch/|grepApr|awk'{print$9}'`#PATH可以根据实际环境,删除Apr月的所有归档日志
rm-rf`ls-l/home/oracle/app/arch/|awk'{if($7<20)print$0}'`#删除20号以前的日志

73a2fc0e9ed74ca852b7842b3012bed6.png

如果手动在磁盘清理过日志文件,需要在rman内检查,然后删除过期的日志

crosscheckarchivelogall;#检查所有归档日志
listexpiredarchivelogall;#列出过期的归档日志
deletenopromptexpiredarchivelogall;#删除过期的归档日志
deletenopromptarchivelogall;#清除所有的归档日志

三、自清理脚本

#!/bin/bash
oracle_env(){
source/home/oracle/.bash_profile
exportORACLE_BASE=/home/oracle/app
exportORACLE_HOME=$ORACLE_BASE/oracle/product/12.1.0/dbhome_1
exportORACLE_SID=glpfin
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
oraclecmd="/home/oracle/app/oracle/product/12.1.0/dbhome_1/bin/sqlplus"
oraclerman="/home/oracle/app/oracle/product/12.1.0/dbhome_1/bin/rman"
}
disk_useper=`/bin/df-Th|grep-v'Filesystem'|awk'/\/dev\/mapper\/vg00-lv_root/{if("$(NF)"=="/");print$(NF-1)}'|cut-d%-f1`

oracle_clean(){
oracle_env
${oraclerman}target/<<EOF
DELETENOPROMPTARCHIVELOGALLCOMPLETEDBEFORE'SYSDATE-7';
crosscheckarchivelogall;
listexpiredarchivelogall;
deletenopromptexpiredarchivelogall;
exit;
EOF
}

main(){
if[${disk_useper}-gt80];then
oracle_clean
fi
}

main

配合定时任务清理磁盘,此在脚本内写的判断磁盘使用率大于80%进行清理,也可根据自己需求进行判断,或每次都执行清理。

原文链接:https://www.f2er.com/oracle/206918.html

猜你在找的Oracle相关文章