oracle

关注公众号 jb51net

关闭
首页 > 数据库 > oracle > Oracle自动删除归档日志

DBA必备工具之Oracle环境中自动删除归档日志

作者:认真就输DBA

在Oracle数据库中删除归档日志是一个重要的维护任务,以确保数据库的性能和存储空间的有效利用,这篇文章主要介绍了DBA必备工具之Oracle环境中自动删除归档日志的相关资料,需要的朋友可以参考下

简介

delete_archive 是一个用于自动化管理 Oracle 数据库归档日志的 Go 语言脚本。

此脚本来源于之前有2个客户的需求:

脚本的初衷就是尽可能保留旧的归档日志,同时也考虑到空间自定义规则。

获取脚本

公众号回复delete_archive即可获得下载链接

使用方法

语法

Usage: ./delete_archive [options]

参数说明

[oracle@oracleadg tmp]$ ./deletearchive -help
Usage: ./deletearchive [options]
Options:
  -s <instance>   instance name you will delete archivelog, 0 means all instances (default: htz)
  -n <num>        Threshold (percent) to trigger log deletion (default: 90)
  -f <num2>       Threshold (percent) to trigger forced log deletion (default: 98)
  -d              Enable script debugging
  -v              display script version and contact info
  -h, --help      display this help information

Version: 0.1
Contact: For the latest version, contact phone/WeChat: 18081072613

示例

  ./delete_archive -s 0
  [oracle@oracleadg tmp]$ ./deletearchive -s 0
2025-07-02 00:48:03.184868 main.main                : Script started at: 2025-07-02T00:48:03+08:00
2025-07-02 00:48:03.212655 main.getRunningInstances : Running instances: htz191, htz192
2025-07-02 00:48:03.212726 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:03.212754 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:03.238535 main.setOracleSID        : Set ORACLE_SID to: htz191
2025-07-02 00:48:03.314795 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:03.314854 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:03.337470 main.setOracleSID        : Set ORACLE_SID to: htz191
2025-07-02 00:48:03.511368 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:48:03.581760 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:48:03.644475 main.deleteMain          : Current archive used PCT :76
2025-07-02 00:48:03.644534 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:03.644555 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:03.666678 main.setOracleSID        : Set ORACLE_SID to: htz192
2025-07-02 00:48:03.749803 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:03.749859 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:03.772382 main.setOracleSID        : Set ORACLE_SID to: htz192
2025-07-02 00:48:03.923390 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:48:03.998782 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:48:04.078302 main.deleteMain          : Current archive used PCT :76
2025-07-02 00:48:04.078363 main.main                : Script ended at: 2025-07-02T00:48:04+08:00
  ./delete_archive -s htz1 -n 85 -f 95
  部分日志:
  [oracle@oracleadg tmp]$ ./deletearchive -s $ORACLE_SID -f 75
2025-07-02 00:48:42.010254 main.main                : Script started at: 2025-07-02T00:48:42+08:00
2025-07-02 00:48:42.010318 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:42.010336 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:42.041291 main.setOracleSID        : Set ORACLE_SID to: htz191
2025-07-02 00:48:42.107775 main.setOracleSID        : beging executing modify Oracle sid
2025-07-02 00:48:42.107832 main.checkCkptProcess    : beging executing check ckpt process
2025-07-02 00:48:42.131013 main.setOracleSID        : Set ORACLE_SID to: htz191
2025-07-02 00:48:42.267686 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:48:42.340124 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:48:42.415996 main.deleteMain          : Current archive used PCT :76 and Force delete archive log
2025-07-02 00:48:42.416059 main.deleteArchLog       : Begin delete archive log 
2025-07-02 00:48:50.260200 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:48:50.337404 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:48:50.404294 main.deleteMain          : Current archive used PCT :76 and Force delete archive log
2025-07-02 00:48:50.404363 main.deleteArchLog       : Begin delete archive log 
2025-07-02 00:48:57.816066 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:48:57.895482 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:48:57.975555 main.deleteMain          : Current archive used PCT :76 and Force delete archive log
2025-07-02 00:48:57.975615 main.deleteArchLog       : Begin delete archive log 
2025-07-02 00:49:04.846875 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:49:04.919516 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:49:04.996407 main.deleteMain          : Current archive used PCT :76 and Force delete archive log
2025-07-02 00:49:04.996468 main.deleteArchLog       : Begin delete archive log 
2025-07-02 00:49:12.081336 main.getDiskUsage        : The archive path is configured as a file system
2025-07-02 00:49:12.160922 main.getDiskUsage        : Using FRA to manage archive logs
2025-07-02 00:49:12.245844 main.deleteMain          : Current archive used PCT :76 and Force delete archive log
2025-07-02 00:49:12.245906 main.deleteArchLog       : Begin delete archive log 
2025-07-02 00:49:12.322223 main.deleteArchLog       : Get error archive log info :no rows selected

日志说明

版本信息

获取脚本

公众号回复delete_archive即可,目前脚本只编译了Linux版本。

注意事项

功能说明

总结

到此这篇关于DBA必备工具之Oracle环境中自动删除归档日志的文章就介绍到这了,更多相关Oracle自动删除归档日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文