網站首頁 編程語言 正文
一、刪除歸檔日志
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
總結
原文鏈接:https://blog.csdn.net/baidu_38300480/article/details/122502986
相關推薦
- 2022-06-14 詳解Python中生成隨機數據的示例詳解_python
- 2022-05-13 三分鐘搞懂react-hooks及實例代碼_React
- 2022-10-20 Android?PowerManagerService省電模式策略控制_Android
- 2022-09-07 在SQL?Server中使用?Try?Catch?處理異常的示例詳解_MsSql
- 2022-04-30 python的正則表達式和re模塊詳解_python
- 2022-08-30 C++示例講解初始化列表方法_C 語言
- 2022-07-23 C語言簡明分析指針與引用的具體用法_C 語言
- 2022-09-04 React18中請求數據的官方姿勢適用其他框架_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支