Oracle删除归档日志及添加定时任务

 更新时间:2022年06月28日 15:11:49   作者:Lucky扬  
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE,下面这篇文章主要给大家介绍了关于Oracle删除归档日志及添加定时任务的相关资料,需要的朋友可以参考下

一、删除归档日志

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删除归档日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle 启动例程 STARTUP参数说明

    Oracle 启动例程 STARTUP参数说明

    Oracle启动例程:STARTUP参数说明(2008-07-28 20:51:20)标签:startup shutdown 事例 it 分类:Oracle数据管理
    2009-07-07
  • Oracle数据库自定义类型type的用法详解

    Oracle数据库自定义类型type的用法详解

    这篇文章主要介绍了Oracle数据库自定义类型type的用法详解,Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库,可以看作是 Oracle 就只有一个大数据库,需要的朋友可以参考下
    2023-07-07
  • Hibernate Oracle sequence的使用技巧

    Hibernate Oracle sequence的使用技巧

    本文介绍了关于Hibernate中如何使用Oracle sequence的问题以及应注意的事项。
    2009-06-06
  • Oracle数据库重启服务、监听程序命令详解

    Oracle数据库重启服务、监听程序命令详解

    本文详细介绍了如何重启Oracle数据库和监听器的步骤,包括登录服务器、停止和启动数据库及监听器的过程
    2024-12-12
  • Navicat连接Oracle数据库的详细步骤与注意事项

    Navicat连接Oracle数据库的详细步骤与注意事项

    Navicat是一套可创建多个连接的数据库管理工具,用以方便管理各种数据库,下面这篇文章主要给大家介绍了关于Navicat连接Oracle数据库的详细步骤与注意事项,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Oracle中字符串连接的实现方法

    Oracle中字符串连接的实现方法

    Oracle数据库中,使用“||”进行字符串连接,下面就让我们一起了解一下Oracle数据库中字符串连接的方法,希望对您能有所帮助
    2013-05-05
  • Oracle学习笔记(六)

    Oracle学习笔记(六)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12
  • 通过sql准确查出一天数据的方法

    通过sql准确查出一天数据的方法

    之前做一个项目的时候想用sql查出某人一天做的数据,但怎么查都没有准确查出。最近通过查阅万卷书籍终于知道了如何准确查出一天的数据。所以想着总结出来分享给大家,或许对有需要的朋友们能带来一定的帮助,下面来一起看看吧。
    2016-12-12
  • Oracle 11g中密码过期问题详解

    Oracle 11g中密码过期问题详解

    本文主要是对Oracle中产生密码过期的2种情况进行了详细分析,并给出了解决方案,非常的简单实用,有需要的朋友可以参考下
    2014-09-09
  • PLSQL连接本地oracle或远程oracle数据库实现随意切换功能

    PLSQL连接本地oracle或远程oracle数据库实现随意切换功能

    这篇文章主要介绍了PLSQL连接本地oracle或远程oracle数据库实现随意切换功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论