成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle刪除歸檔日志及添加定時(shí)任務(wù)

瀏覽:142日期:2023-03-12 15:24:55
目錄
  • 一、刪除歸檔日志
    • 1.切換用戶(hù)
    • 2.使用RMAN工具
    • 3.連接本地?cái)?shù)據(jù)庫(kù)
    • 4.檢查控制文件和實(shí)際物理文件的差別
    • 5.同步檢查控制文件和實(shí)際物理文件的信息
    • 6.刪除n天前的歸檔日志
    • 7.退出RMAN
  • 二、添加定時(shí)任務(wù)
    • 1.創(chuàng)建歸檔日志刪除腳本
    • 2.授予腳本文件執(zhí)行權(quán)限
    • 3.測(cè)試歸檔日志刪除腳本
    • 4.添加定時(shí)任務(wù)
    • 5.查看定時(shí)任務(wù)
  • 總結(jié)

    一、刪除歸檔日志

    1.切換用戶(hù)

    # 切換至oracle用戶(hù)
    su – oracle
    

    2.使用RMAN工具

    # 使用RMAN工具,刪除失效的歸檔日志
    rman
    

    注:RMAN(Recovery Manager)是一種用于備份(backup)、還原(restore)和恢復(fù)(recover)數(shù)據(jù)庫(kù)的 Oracle 工具。

    3.連接本地?cái)?shù)據(jù)庫(kù)

    # 使用target命令連接本地?cái)?shù)據(jù)庫(kù)
    RMAN> connect target /
    

    4.檢查控制文件和實(shí)際物理文件的差別

    執(zhí)行crosscheck命令,檢查控制文件和實(shí)際物理文件的差別,如果物理文件不存在于介質(zhì)上,將標(biāo)記為expired(失效/不可用),crosscheck之后,就可以刪除這些失效的歸檔日志了(執(zhí)行腳本后,刪除的歸檔日志狀態(tài)會(huì)變?yōu)?ldquo;失效”)

    RMAN> crosscheck archivelog all;
    

    5.同步檢查控制文件和實(shí)際物理文件的信息

    # 刪除狀態(tài)為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"
    

    區(qū)別:第一條帶complete的語(yǔ)句,主要是刪除已備份過(guò)的歸檔,沒(méi)有備份的歸檔,不會(huì)被刪除。而第二個(gè)語(yǔ)句, 則會(huì)刪除掉歸檔,無(wú)論備份與否。

    7.退出RMAN

    # 退出RMAN
    RMAN> exit
    

    二、添加定時(shí)任務(wù)

    1.創(chuàng)建歸檔日志刪除腳本

    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 可以后期檢查是否執(zhí)行成功
    rman target / >> $BACK_DIR/$DATE/rman_backup.log <<EOF     
    # 把無(wú)效的expired的archivelog標(biāo)出來(lái)
    crosscheck archivelog all;
    # 直接全部刪除過(guò)期的歸檔日志
    #delete noprompt expired archivelog all;
    # 直接刪除7天前所有的歸檔日志
    delete noprompt archivelog all completed before "sysdate-7";
    exit
    EOF
    echo -e "\n"
    echo "------------------------------ FINISHED ----------------------------"
    

    2.授予腳本文件執(zhí)行權(quán)限

    #授予執(zhí)行權(quán)限
    chmod +x archivelog_clear.sh
    

    3.測(cè)試歸檔日志刪除腳本

    ./archivelog_clear.sh
    

    4.添加定時(shí)任務(wù)

    輸入命令:crontab -e 編輯并且添加一行新的任務(wù)

    30 3 15 * *   /home/oracle/archivelog_clear.sh
    

    5.查看定時(shí)任務(wù)

    crontab -l
    

    總結(jié)

    到此這篇關(guān)于Oracle刪除歸檔日志及添加定時(shí)任務(wù)的文章就介紹到這了,更多相關(guān)Oracle刪除歸檔日志內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: Oracle