2017-07-17 70 views
0

我有一個oracle程序需要每小時運行一次。我的應用程序服務器是基於Linux的,我的數據庫是oracle。現在我有2個選項。我可以在Oracle中創建一個作業並安排它,或者我可以編寫一個shell腳本並在我的應用程序服務器中使用cron選項卡的幫助來安排它。任何人都可以讓我知道哪種方法在數據庫性能方面更好,爲什麼?或者,這兩種方法是否會導致相同的性能結果?如果是,那麼標準方法應該是什麼。計劃在Oracle數據庫上的作業的性能Vs在Linux計劃的相同作業計劃選項卡

+0

如果在引用數據庫服務器的應用程序服務器上創建腳本,則會有2臺服務器的性能受到影響。如果僅在Oracle實例上創建作業,則應用程序服務器不受影響。 –

回答

1

我們沒有看性能的差異。無論哪種方式,都會產生一個會議,並評估該會議的表現。

所以這取決於誰有權訪問服務器。如果它是僅限DBA的工作,那麼我們發現在服務器上更容易管理。如果他們與寫作例如倉庫長期運行報告的人員共享作業,那麼他們可以更容易地一起管理。

cron作業的缺點是當oracle升級時,所有的作業都必須停止,移動,啓動,測試,這可能是一個痛苦。

調度程序作業流程的不利之處在於,有時很難跟蹤誰執行了哪項工作,因此我們在作業名稱中具有與作業編號匹配的工作人員的腳本。

+1

許多站點訪問服務器僅限於管理員,因此任何在cron中定義的作業對其他人都是不可見的。任何擁有數據庫登錄的人都可以從桌面方便地查詢調度程序視圖,所以從開發,支持和維護的角度來看,dbms_scheduler更易於訪問。 –