Linux/Unix shell 指令碼清除歸檔記錄檔

來源:互聯網
上載者:User

      對於DEV以及UAT環境,有些時候,資料庫需要處于歸檔模式,但並不需要備份資料庫。因此,archive歸檔日誌不停的增長導致磁碟空間被大量耗用。對於這種情形,可以使用一個shell指令碼來定時自動清除這些歸檔日誌。本文給出了清除歸檔日誌的指令碼。

 

1、清除歸檔日誌shell指令碼  

robin@SZDB:~/dba_scripts/custom/bin> more remove_arch_dump.sh#!/bin/bash# ------------------------------------------------------------+#   FileName: remove_arch_dump.sh                             |#   Desc:                                                     | #        Remove old archived log and data pump file           |#   Usage:                                                    |#        ./remove_arch_dump.sh                                |#                                                             |#   Authror : Robinson                                        |#   Blog    : http://blog.csdn.net/robinson_0612              |# ------------------------------------------------------------+filename=/etc/oratabcat $filename | while read LINEdo    case $LINE in        \#*)                ;;        #comment-line in oratab        *)        ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`        echo $ORACLE_SID          # ---------------------------------        # define archived log directory             # ---------------------------------        dir=/u02/database/$ORACLE_SID/archive/        echo $dir        filelist=`ls -t $dir`        echo $filelist                # ----------------------------------------------------------        # start to remove archived log and keep last 2 archived log        # ----------------------------------------------------------        count=0        for filename in $filelist        do                echo $filename                count=$(($count+1))                if [ $count -gt 2 ]; then                        echo $count                        rm -vrf $dir$filename                fi        done        ls -tr $dir                # --------------------------------        # define data pump dump directory        # --------------------------------        dir=/u02/database/$ORACLE_SID/BNR/dump/        echo $dir        filelist=`ls -t $dir`        echo $filelist                # ---------------------------------------------------------        # start to remove data pump file and keep last 5 dump file         # ---------------------------------------------------------        count=0        for filename in $filelist        do                echo $filename                count=$(($count+1))                if [ $count -gt 5 ]; then                        echo $count                        rm -vrf $dir$filename                fi        done        ls -tr $dir     ;;    esacdoneexit

2、指令碼說明
    a、該指令碼通過一個外部迴圈來讀取oratab中定義的資料庫的SID來尋找對應資料庫的歸檔日誌路徑以及datapump dump路徑。
    b、使用了一個for迴圈來清除歸檔日誌,且保留最後的2個歸檔記錄檔。
    c、接下來的另一個for迴圈則用來清除當前SID下對應的dump(Oracle datapump)目錄下匯出的dump檔案。
    d、同清除歸檔日誌一樣,設定了保留dump目錄最近的5個檔案。保留多少個最近的檔案(dump的5,或者歸檔日誌2)可以修改。
    e、如果不需要清除dump路徑,可以將dump部分注釋掉。
    f、根據需要將其部署到crontab。

 

更多參考

PL/SQL --> 遊標

PL/SQL --> 隱式遊標(SQL%FOUND)

批量SQL之 FORALL 語句

批量SQL之 BULK COLLECT 子句

PL/SQL 集合的初始化與賦值

PL/SQL 聯合數組與巢狀表格
PL/SQL 變長數組
PL/SQL --> PL/SQL記錄

SQL tuning 步驟

高效SQL語句必殺技

父遊標、子遊標及共用遊標

綁定變數及其優缺點

dbms_xplan之display_cursor函數的使用

dbms_xplan之display函數的使用

執行計畫中各欄位各模組描述

使用 EXPLAIN PLAN 擷取SQL語句執行計畫

Oracle ROWID

NULL 值與索引(一)

NULL 值與索引(二)

啟用 AUTOTRACE 功能

函數使得索引列失效

Oracle 綁定變數窺探

Oracle 自適應共用遊標

Oracle 資料表空間與資料檔案
Oracle 密碼檔案
Oracle 參數檔案
Oracle 聯機重做記錄檔(ONLINE LOG FILE)
Oracle 控制檔案(CONTROLFILE)
Oracle 歸檔日誌
Oracle 復原(ROLLBACK)和撤銷(UNDO)
Oracle 資料庫執行個體啟動關閉過程
Oracle 10g SGA 的自動化管理
Oracle 執行個體和Oracle資料庫(Oracle體繫結構)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.