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 DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
Oracle 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
oracle索引总结
Sep 25 Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
排查并解决Oracle sysaux表空间异常增长
Apr 20 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
oracle数据库去除重复数据
May 20 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 Oracle
Oracle中日期的使用方法实例
Jul 07 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python写的贪吃蛇游戏例子
2014/06/16 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
财产公证书样本
2014/04/04 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
采购部长岗位职责
2014/06/13 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
go设置多个GOPATH的方式
2021/05/05 Golang
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android
APP界面设计技巧和注意事项
2022/04/29 杂记
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android