反馈已提交

网络繁忙

清理Oracle归档日志

  • 文档创建者:Roxy
  • 历史版本:3
  • 最近更新:Roxy 于 2023-12-25
  • 1. 概述

    Oracle启用归档日志的状态下,会在指定的归档日志目录生成大量的日志文件,而且这些日志文件默认是不会定期清理。长时间运行下,会占用大量的存储空间,最终可能导致 Oracle 没有足够的空间维持启动状态。

    若磁盘空间满了会影响业务,因此需要定期清理过期归档日志。

    在Oracle的控制文件中记录着每一个归档日志文件得相关信息。当手动删除了归档日志的物理文件后,控制文件中依然记录着已删除的归档日志信息。所以当我们删除归档日志文件时,不仅需要删除物理文件,还要删除控制文件中对应的信息。

    2. 准备工作

    确定归档日志位置,归档日志路径不一定相同,如果不清楚归档日志在哪,可以通过命令find / -name *.dbf查找。

    3. 方法一:rman删除归档日志

    这种方法,可以将控制文件中记录信息和物理文件同步删除,更为方便。

    3.1 查看控制文件记录

    登录rman。

    使用命令:rman target /

    可以看到已经进入RMAN。

    使用命令查看所有归档日志信息:

    list archivelog all;

    3.2 删除指定日期前日志

    使用命令删除 3 天前的归档日志,在删除控制文件记录的同时,也会将物理文件删除。

    delete archivelog all completed before 'SYSDATE - 3';

    在确认位置输入 YES 即可成功删除。

    3.3查看物理文件

    在上一步中删除的文件,观察物理文件列表后,可以看到物理文件也会被同步删除。

    4. 方法二

    如果之前手动删除过物理文件,可以查看这个方法,将控制文件中归档日志记录删除

    4.1 删除物理文件

    删除物理文件:xxxx.dbf

    进入存放dbf文件的位置,然后使用命令:

    rm -f 文件名.dbf

    4.2 查看控制文件

    通过如下命令查看Oracle控制文件记录归档日志信息,发现"xxx.dbf"还存在

    登录rman。

    使用命令:rman target /

    可以看到已经进入RMAN。

    使用命令查看所有归档日志信息:

    list archivelog all;

    4.3 对比检查归档日志物理文件和控制文件一致性

    如果之前已经删除过物理文件,并没有删除控制文件中的信息,请看如下操作:

    crosscheck archivelog all;

    优先使用这个命令,核验比对物理文件和归档日志记录信息一致性

    list expired archivelog all;

    crosscheck 后,可以使用这个命令,查看有哪些过期的日志文件

    4.4 删除过期文件

    delete expired archivelog all;

    删除过期日志文件,在执行命令后,会提示你将要删除哪些过期的日志文件



    附件列表


    主题: 数据管道
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持