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 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
Oracle设置DB、监听和EM开机启动的方法
Apr 25 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
解决Oracle数据库用户密码过期
May 11 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
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
Zerg兵种介绍
2020/03/14 星际争霸
php中文本操作的类
2007/03/17 PHP
Cakephp 执行主要流程
2010/03/24 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
js 3种归并操作的实例代码
2013/10/30 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
Python如何读取MySQL数据库表数据
2017/03/11 Python
TensorFlow Session会话控制&amp;Variable变量详解
2018/07/30 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
中专三年学习的个人自我评价
2013/12/12 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
书香校园建设方案
2014/05/02 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
Python实现抖音热搜定时爬取功能
2022/03/16 Python
redis lua限流算法实现示例
2022/07/15 Redis