最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

DBA必備工具之Oracle環(huán)境中自動刪除歸檔日志

 更新時間:2025年09月18日 09:23:24   作者:認真就輸DBA  
在Oracle數(shù)據(jù)庫中刪除歸檔日志是一個重要的維護任務(wù),以確保數(shù)據(jù)庫的性能和存儲空間的有效利用,這篇文章主要介紹了DBA必備工具之Oracle環(huán)境中自動刪除歸檔日志的相關(guān)資料,需要的朋友可以參考下

簡介

delete_archive 是一個用于自動化管理 Oracle 數(shù)據(jù)庫歸檔日志的 Go 語言腳本。

此腳本來源于之前有2個客戶的需求:

  • 一是一次遷移幾百套數(shù)據(jù)庫,其中要用ADG來遷移,即不能影響到客戶當前歸檔刪除策略或者是原來非歸檔數(shù)據(jù)庫中轉(zhuǎn)為歸檔模式后磁盤空間的容量,又不能因為過度刪除歸檔日志影響到我們遷移的同步,所以當時就寫了shell版本的一鍵自動刪除歸檔的腳本。
  • 而是一個客戶歸檔日志采用了自動刪除策略,但是在還原過程中發(fā)現(xiàn)歸檔日志缺失,最后分析原因是自動刪除策略將未備份的歸檔日志刪除了。

腳本的初衷就是盡可能保留舊的歸檔日志,同時也考慮到空間自定義規(guī)則。

獲取腳本

公眾號回復delete_archive即可獲得下載鏈接

使用方法

語法

Usage: ./delete_archive [options]

參數(shù)說明

  • -s <instance> 指定要處理的 Oracle 實例名,0 表示所有實例(默認:htz)
  • -n <num> 歸檔日志刪除的磁盤使用率閾值,達到該百分比時觸發(fā)刪除(默認:90),刪除時,自動刪除最舊的2個已經(jīng)成功備份的歸檔日志。
  • -f <num2> 強制刪除的磁盤使用率閾值,達到該百分比時強制刪除(默認:98),不會進行是否進行備份的判斷。
  • -d 啟用腳本調(diào)試模式,輸出詳細調(diào)試日志(默認false)
  • -v 顯示腳本版本號和聯(lián)系方式
  • -h, --help 顯示幫助信息
[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
  • 刪除指定實例(如 htz1)歸檔日志,刪除閾值 85%,強制閾值 95%:
  ./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
  • 啟用調(diào)試模式:
    ./delete_archive -d
    
  • 查看幫助信息:
    ./delete_archive -h
    ./delete_archive --help
    ./delete_archive -help
    
  • 查看版本信息:
    ./delete_archive -v
    

日志說明

  • 日志文件默認保存在腳本同級目錄下的 log/ 目錄中。
  • 主要日志文件:
    • delete_archiveerrors.txt 錯誤日志
    • delete_archivedebug.txt 調(diào)試日志
  • 日志內(nèi)容包括操作時間、函數(shù)名、日志級別和詳細信息。

版本信息

  • 當前版本:0.1
  • 聯(lián)系方式:如有問題或建議,請聯(lián)系 18081072613(電話/微信同號)

獲取腳本

公眾號回復delete_archive即可,目前腳本只編譯了Linux版本。

注意事項

  • 需以有權(quán)限的 Oracle 用戶運行,確保能訪問數(shù)據(jù)庫和相關(guān)歸檔目錄。
  • 需在 Oracle 數(shù)據(jù)庫服務(wù)器上運行,且環(huán)境變量 ORACLE_SID 可被正確設(shè)置。
  • 腳本會自動檢測并切換 ORACLE_SID,無需手動干預。
  • 強制刪除模式下,歸檔日志即使未備份也會被刪除,請謹慎設(shè)置閾值。
  • 如遇腳本報錯或異常退出,請檢查日志文件獲取詳細信息。

功能說明

  • 自動檢測 Oracle 實例歸檔日志的存儲使用率。
  • 支持文件系統(tǒng)和 ASM 磁盤組歸檔路徑的檢測與處理。
  • 支持 FRA(閃回恢復區(qū))和手動歸檔管理模式。
  • 根據(jù)設(shè)定的閾值自動刪除最老的歸檔日志,優(yōu)先刪除已備份的歸檔。
  • 支持強制刪除(無備份也可刪除),防止磁盤空間耗盡。
  • 支持多實例批量處理。
  • 詳細日志輸出,便于問題追蹤。

總結(jié)

到此這篇關(guān)于DBA必備工具之Oracle環(huán)境中自動刪除歸檔日志的文章就介紹到這了,更多相關(guān)Oracle自動刪除歸檔日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

金塔县| 辽宁省| 巴南区| 台南市| 泸水县| 突泉县| 双鸭山市| 乌拉特后旗| 郎溪县| 泸水县| 华亭县| 察哈| 萝北县| 常州市| 吴江市| 时尚| 万荣县| 博湖县| 科技| 兴国县| 周宁县| 凌海市| 丰宁| 太康县| 公主岭市| 克东县| 鹰潭市| 九龙县| 灯塔市| 漳州市| 巴林左旗| 象州县| 嫩江县| 察雅县| 泗水县| 新宾| 岢岚县| 集贤县| 昌乐县| 拉萨市| 玉龙|