Oracle删除归档日志及添加定时任务


Posted in Oracle onJune 28, 2022

一、删除归档日志

1.切换用户

# 切换至oracle用户
su – oracle

2.使用RMAN工具

# 使用RMAN工具,删除失效的归档日志
rman

注:RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。

3.连接本地数据库

# 使用target命令连接本地数据库
RMAN> connect target /

4.检查控制文件和实际物理文件的差别

执行crosscheck命令,检查控制文件和实际物理文件的差别,如果物理文件不存在于介质上,将标记为expired(失效/不可用),crosscheck之后,就可以删除这些失效的归档日志了(执行脚本后,删除的归档日志状态会变为“失效”)

RMAN> crosscheck archivelog all;

5.同步检查控制文件和实际物理文件的信息

# 删除状态为expired(失效/不可用)的归档日志
RMAN> delete expired archivelog all;

6.删除n天前的归档日志

# 删除 3 天前的归档日志:
RMAN> delete archivelog all completed before 'sysdate-3';
# 删除 1 天前
RMAN> delete archivelog until time 'sysdate-1'

区别:第一条带complete的语句,主要是删除已备份过的归档,没有备份的归档,不会被删除。而第二个语句, 则会删除掉归档,无论备份与否。

7.退出RMAN

# 退出RMAN
RMAN> exit

二、添加定时任务

1.创建归档日志删除脚本

archivelog_clear.sh

#!/bin/bash
BACK_DIR=/home/oracle/clear_archlog/data
export DATE=`date +%F`
mkdir -p $BACK_DIR/$DATE
touch $BACK_DIR/$DATE/rman_backup.log
echo "--------------------------------`date`-------------------------------"
source ~/.bash_profile 
# 记录日志rman_backup.log 可以后期检查是否执行成功
rman target / >> $BACK_DIR/$DATE/rman_backup.log <<EOF             
# 把无效的expired的archivelog标出来
crosscheck archivelog all;
# 直接全部删除过期的归档日志
#delete noprompt expired archivelog all;
# 直接删除7天前所有的归档日志
delete noprompt archivelog all completed before 'sysdate-7';
exit
EOF
echo -e "\n"
echo "------------------------------ FINISHED ----------------------------"

2.授予脚本文件执行权限

#授予执行权限
chmod +x archivelog_clear.sh

3.测试归档日志删除脚本

./archivelog_clear.sh

4.添加定时任务

输入命令:crontab -e 编辑并且添加一行新的任务

30 3 15 * *   /home/oracle/archivelog_clear.sh

5.查看定时任务

crontab -l

总结

到此这篇关于Oracle删除归档日志及添加定时任务的文章就介绍到这了,更多相关Oracle删除归档日志内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Oracle 相关文章推荐
Oracle笔记
Apr 05 Oracle
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
Oracle 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 #Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 #Oracle
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
Jun 28 #Oracle
Oracle数据库事务的开启与结束详解
Jun 25 #Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 #Oracle
Oracle锁表解决方法的详细记录
Jun 05 #Oracle
oracle数据库去除重复数据
May 20 #Oracle
You might like
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python基于event实现线程间通信控制
2020/01/13 Python
python初步实现word2vec操作
2020/06/09 Python
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
请说出以下代码输出什么
2013/08/30 面试题
打架检讨书500字
2014/01/29 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
知识竞赛主持词
2014/03/26 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL