Oracle

在 Oracle DB 上執行 Shell 腳本和檢查的自動化方法

  • May 18, 2017

我正在製作一個自動化框架,它將:

  • 檢查 Oracle 表中的條目,例如 ID 和狀態編號
  • 通過 Putty 登錄 UNIX 框並切換到腳本所在的目錄
  • 執行 Shell 腳本
  • 根據值對 Oracle 表執行進一步檢查
  • 重複上述動作(有條件)
  • 在上述過程中記錄/通知使用者錯誤

我是否能夠純粹使用 Bash/Shell 和 SQL 來實現這一點,或者我是否需要在組合中添加另一種語言?

我正在考慮以模組化的方式建構它。

謝謝

如果是我,我會盡可能將所有內容都放入數據庫中。例如,所有 SQL 邏輯都應該進入包/過程,DBMS_SCHEDULER如果可能的話,我會通過作業控制這些常式的執行。基於這些常式的結果的通知可以通過UTL_MAIL. 將它放在數據庫中可以讓您以適當的安全性將其鎖定。

如果您確實需要在數據庫之外執行 Shell 腳本(上面的步驟 1 和 2),您可以通過 PL/SQL 常式執行此操作的多種方法,但如果事情沒有完全按計劃進行,它們將難以管理,所以 shell 腳本需要能夠優雅地處理錯誤。只需嘗試通過正確鎖定任何被呼叫的外部文件等來最小化安全問題。我不喜歡從 PL/SQL 程式碼呼叫 shell 腳本,但最終您的流程和舒適程度將決定您的方法。

還有其他方法,特別是如果你有錢可以花錢。另一種選擇是研究企業級調度程序應用程序。那裡有很多,如果這個過程足夠複雜或開始影響企業內的其他過程,這些可以幫助理解混亂。

歸根結底,這將取決於您對技術的舒適程度以及您可以花費的資源量(例如時間和金錢),這將決定您的最佳方法。

引用自:https://dba.stackexchange.com/questions/173925