您的位置:首页 > 数据库 > Oracle

菜鸟式清理Oracle归档日志

2020-06-07 05:22 309 查看
#!/bin/bash
# -*- coding: UTF-8 -*-
# Filename: delete_archivelog.sh
# Description: Oracle归档日志清理脚本,拷贝该脚本用Oracle用户执行即可(建议先在测试环境验证,以免跑路了)。
# Author: SERE

echo -e "\033[32mTime:$(date +%F" "%T)\033[0m"
source ~/.bash_profile
LOG_DIR=$ORACLE_BASE/flash_recovery_area/ORCL/archivelog/
DELETE_DATE=`date '+%Y_%m_%d'`
LOG_NAME=${LOG_DIR}${DELETE_DATE}".log"
echo -e "\033[32mArchive logs begin to clean up.\033[0m"
rman log=$LOG_NAME target / <<EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate-7';
EOF
# 第一条命令把无效的expired的archivelog标出来
# 第二条命令直接全部删除过期的归档日志
# 第三条命令直接删除七天前所有的归档日志
# SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;
# SHOW PARAMETER DB_RECOVERY_FILE_DEST;
echo -e "\n"
echo -e "\033[32mArchive logs clean is complete.\033[0m"
echo -e "\033[32mTime:$(date +%F" "%T)\033[0m"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: