2010-01-06 209 views
2

我正在繪製一個系統的設計,爲我的公司完成日常業務功能。它將包含一個帶有Pl/SQL包的Oracle 10g數據庫和一個基於Java的Web應用程序。所有這些都在Solaris 10服務器上運行。除了從Web界面處理事務,計劃任務需要在數據庫上運行運行計算和加載數據等Oracle計劃任務?

這是目前控制用cron作業過多的一切遺留系統的重新設計。鑑於重新設計它的任務,你會做不同的事情嗎?我知道Oracle有自己的任務調度程序,但DBA認爲他會重新考慮使用它,因爲如果數據庫由於某種原因停機或脫機,它不能發送警報或記錄任何類型的錯誤。如果其中一項任務失敗,則cron作業目前有能力發送SMS消息或電子郵件。另一種選擇是讓Web應用程序以某種方式執行它。

你有什麼建議?

回答

6

是否所有與數據庫相關的計劃任務?如果是這樣,那麼您的DBA的異議是無關緊要的:當數據庫因計劃停機而離線時,您不希望運行這些作業,並且DBA應該有一些適當的位置來提醒他們,如果數據庫因非計劃原因而停機,寧可比依靠來自失敗的cron工作的信號。

如果你有沒有接觸到數據庫而在體系結構的其他部分上運行的作業,那麼外部調度器肯定是有意義的。有很多商業產品,但如果你想要購買FOSS,那麼你可能應該看看Quartz

+0

你比我想象的要多得多。 – 2010-01-07 03:34:49

1

使用了cron和Oracle作業調度程序 - 我總是發現它更加可靠和易於用戶理解cron。它可以做更多的事情(與整個操作系統連接,而不僅僅是Oracle)。我會選擇cron。

0

我的計劃作業的經驗法則是一致性。既然你已經有了很多基礎設施,比如提醒我會堅持使用cron。