Oracle删除归档日志
2022/1/15 2:04:16
本文主要是介绍Oracle删除归档日志,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一、删除归档日志
1.切换用户
2.使用RMAN工具
3.连接本地数据库
4.检查控制文件和实际物理文件的差别
5.同步检查控制文件和实际物理文件的信息
6.删除n天前的归档日志
7.退出RMAN
二、添加定时任务
1.创建归档日志删除脚本
2.授予脚本文件执行权限
3.测试归档日志删除脚本
4.添加定时任务
5.查看定时任务
一、删除归档日志
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 cut_log.sh
3.测试归档日志删除脚本
./archivelog_clear.sh
4.添加定时任务
输入命令:crontab -e 编辑并且添加一行新的任务
30 3 15 * * /home/oracle/archivelog_clear.sh
5.查看定时任务
crontab -l
这篇关于Oracle删除归档日志的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享