相关文章推荐
英勇无比的移动电源  ·  山东省科学技术厅 工作动态 ...·  7 月前    · 
性感的钥匙扣  ·  南海海洋生物技术国家工程研究中心 | ...·  9 月前    · 
魁梧的伤疤  ·  2024全国城市(南昌)电子竞技邀请赛总决赛 ...·  9 月前    · 
玩篮球的跑步鞋  ·  RADIOHEAD、3rdアルバム『OK ...·  9 月前    · 
调皮的丝瓜  ·  GitHub - ...·  9 月前    · 
Code  ›  Oracle自动清理日志脚本开发者社区
数据库 oracle系统 oracle 表空间
https://cloud.tencent.com/developer/article/2074679
傻傻的吐司
2 年前
作者头像
星哥玩云
0 篇文章

Oracle自动清理日志脚本

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 开源部署 > Oracle自动清理日志脚本

Oracle自动清理日志脚本

作者头像
星哥玩云
发布 于 2022-08-17 14:06:12
746 0
发布 于 2022-08-17 14:06:12
举报

一、背景

由于业务增长,频繁的备份还原对于磁盘空间有了更大的空间需求,基本每周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角色登陆。

rman target /            #连接进rman

DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';        #删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志

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

rm -rf `ls -l /home/oracle/app/arch/ |grep Apr|awk '{print $9}'`    #PATH可以根据实际环境,删除Apr月的所有归档日志

rm -rf `ls -l /home/oracle/app/arch/ |awk '{if ( 7<20) print

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

crosscheck archivelog all;            #检查所有归档日志 list expired archivelog all;            #列出过期的归档日志 delete noprompt expired archivelog all;        #删除过期的归档日志 delete noprompt archivelog all;              #清除所有的归档日志

三、自清理脚本

#!/bin/bash oracle_env() {     source /home/oracle/.bash_profile      export ORACLE_BASE=/home/oracle/app     export ORACLE_HOME=$ORACLE_BASE/oracle/product/12.1.0/dbhome_1     export ORACLE_SID=orcl     export PATH=$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 DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; crosscheck archivelog all; list expired archivelog all; delete noprompt expired archivelog all; exit;

 
推荐文章
英勇无比的移动电源  ·  山东省科学技术厅 工作动态 科技领军人才风采 | 史伟云:破解角膜盲复明困局的“中国方案”
7 月前
性感的钥匙扣  ·  南海海洋生物技术国家工程研究中心 | 中山大学海洋科学学院
9 月前
魁梧的伤疤  ·  2024全国城市(南昌)电子竞技邀请赛总决赛圆满落幕 - 南昌市人民政府
9 月前
玩篮球的跑步鞋  ·  RADIOHEAD、3rdアルバム『OK Computer』20周年記念盤より「Lift」のMV公開
9 月前
调皮的丝瓜  ·  GitHub - topminipie/awesome-xiaomi-bootloader-unlock: Awesome Xiaomi BootLoader Unlock
9 月前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号