如何使用資料庫Scheduler定時刪除歸檔|美創運維日記

資料安全發表於2020-08-14

大家日常運維過程中是如何定期刪除歸檔日誌的呢?對於定期刪歸檔,比較普遍的做法是是使用作業系統的crontab或者windows的任務計劃功能來呼叫刪歸檔指令碼,今天小編給大家帶來一種使用 O racle的Scheduler來呼叫清歸檔指令碼以實現定時清理歸檔檔案的方法。

 

  image.png

Oracle在10g開始就提供了Scheduler來管理定時任務,這是一個企業作業排程程式,可以幫助您簡化成百上千個任務的排程。Oracle排程器(Scheduler)由DBMS_Scheduler PL/SQL包中的過程和函式實現。Scheduler幫助您有效地管理和計劃任務。確保許多例行任務在沒有人工干預的情況下執行,有效降低操作成本,實現更可靠的管理,最大限度地減少人為錯誤。它可以執行任何型別的指令碼(例如:PL/SQL、OS shell指令碼、第三方程式等等)。在RAC,可以指定作業應在哪個資料庫節點上執行,引數項instance_id。

 

下面我們以刪除歸檔日誌為例,來使用Scheduler。

image.png  

 

01 前期資料庫環境設定

修改externaljob.ora屬性

image.png  

 

修改extjob屬性

image.png  

 

修改externaljob.ora檔案內容

image.png  

 

02準備一個刪除歸檔指令碼

image.png  

 

注意:指令碼中必須使用絕對路徑,必要的環境變數必須指定,且該指令碼必須擁有執行許可權。

 

03給執行Scheduler的使用者賦權

image.png  

 

04在資料庫建立一個program

image.png  

 

這裡我們建立了一個任務程式單元,將其指定為可執行檔案。注意這個程式單元叫什麼。

 

05建立一個任務計劃

image.png  

 

我們建立一個在每天凌晨一點執行一次的任務計劃,該計劃的名稱為 'EVERY_DAY_1_00。

 

06建立一個job來呼叫之前建立的程式及計劃

image.png  

 

07如何更改Scheduler屬性設定

使用 

SET_ATTRIBUTE 與 SET_SCHEDULER_ATTRIBUTE 

儲存過程來更改設定。

例如,我們將該計劃的執行節點改為2節點:

 

image.png  

 

08禁用,刪除任務

image.png  

 

09設定檢視記錄日誌

設定日誌:

image.png  

 

檢視日誌記錄:

image.png  

 

image.png  

Oracle的Scheduler(任務計劃),相對於 O racle之前的Job,更加地靈活易用,且支援呼叫shell命令或第三方程式,並提供詳細的日誌記錄,更為詳細的用法大家可以參考以下提供的官方文件,裡面包括詳細的使用方法以及可能會遇到的報錯及處理方法。

 

參考文獻

DBMS_SCHEDULER FAILS WITH ORA-27369 WHEN JOB TYPE IS EXECUTABLE (Doc ID 279866.1)

 

美創科技擁有強大的運維中心資料庫服務團隊,其中Oracle ACE 1人、OCM 10餘人、數十名Oracle OCP、MySQL OCP、紅帽RHCA、中介軟體weblogic、tuxedo認證、達夢工程師 ,並著有《Oracle DBA實戰攻略》,《Oracle資料庫效能最佳化方法和最佳實踐》,《Oracle核心技術揭秘》等多本資料運維最佳化書籍。

 

如何使用資料庫Scheduler定時刪除歸檔,你學會了嗎?下次再和美創一起討論,get新的運維知識吧!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69973247/viewspace-2711814/,如需轉載,請註明出處,否則將追究法律責任。

相關文章