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 区块链表创建过程详解
May 15 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
Oracle 临时表空间SQL语句的实现
Sep 25 Oracle
关于Oracle12C默认用户名system密码不正确的解决方案
Oct 16 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle中update和select 关联操作
Jan 18 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
Oracle锁表解决方法的详细记录
Jun 05 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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
PHP中实现进程间通讯
2006/10/09 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP递归算法的简单实例
2019/02/28 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
详谈javascript异步编程
2016/02/21 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
详解Python的Django框架中的通用视图
2015/05/04 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
升职自荐信
2013/11/28 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
情人节寄语大全
2014/04/11 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
Java数据结构之堆(优先队列)
2022/05/20 Java/Android
TS 类型兼容教程示例详解
2022/09/23 Javascript