有效且安全地開發
使用這些最佳作法以確保您的開發程序有效且安全。
使用嚴格環境與來源程式碼控制
個別環境與原始程式碼控制項的功用和嚴格使用,對於全新和安全的開發程序來說是必要的:
許多客戶都使用至少兩種,且通常是三種或以上的個別環境。開發、測試、暫存及實際執行環境一般都是如此。使用環境對促銷的嚴格控制。
您的來源控制系統必須保證物件的一致性:
- 用於建立表格的描述資料
- 範例與來源資料
- ETL 代碼
- PaaS 版本和修正程式層次
可考慮控制描述資料發表以及確保所有開發人員均使用相同定義的描述資料管理員。另請考慮指定一個「版本管理程式」,此「版本管理程式」可控制當人工因素匯入開發環境以外的任何環境時候,以及哪些人工因素在使用此環境時得知。
專用環境有許多優點。除了生產環境之外,還需考量開發、測試和效能環境。您可以視需要調整這些環境。
在開發環境中:
- 會開發對程式碼所做的全部變更 (包括次要程式碼)。
- 單元測試 (使用範例資料–通常會執行實際資料的子集以加速執行)。
- 已準備好升級的代碼必須識別為如下。您可以導入程序來複查程式碼,並自動將程式碼升級至測試或生產環境。
在 QA 環境中:
- 在開發中所做的變更整合 (僅限已驗證促銷的變更)。
- 驗證變更一致性 (使用相同的中繼資料、一致性協調等),且代碼可正確執行。
- 不允許變更代碼。
用於效能測試的額外環境可以有好處。在效能環境中:
- 建立程式碼效能的基準。
- 只有績效團隊允許的限制代碼變更,以驗證績效增強。
- 識別瓶頸、調查及報告必要的變更,以便在開發部門實行這些變更。
- 繼續監控已通過 QA 團隊認證之所有代碼的績效,以識別績效偏差與處理問題。
請注意,繼續監督生產環境中的效能非常重要。效能降低有時會發生環境效能降低的警告。特別是,Oracle 建議您使用「SQL 計畫管理 (SPM)」來控制執行計畫。生產環境中的執行計畫變更可能會導致失敗,而且表格載入會造成執行計畫變更風險。
自動執行管理任務
手動管理任務需要一些時間並新增風險:
- 手動重設環境以重試載入 (因程式碼錯誤、產品錯誤、程式碼變更等等),需視手動執行 SQL 敘述句的開發人員而定。
- 手動處理程序錯誤,錯誤可進一步延遲下一次的嘗試。
- 手動處理的速度緩慢:開發人員需要特別小心執行的工作,並失去許多正確的雙重檢查。
- 錯誤相當耗時:需要修正錯誤 (可能需要重新載入清除資料) 可能會延遲開發工作。
- 新開發人員的上線速度較慢,且導致更有風險,因為必須進行訓練才能夠完成手動處理程序。
管理任務應完全自動化,以便開發人員只能設定一些參數,然後執行已驗證且每次都正確執行任務的工作。
請考慮自動執行下列工作:
- 重設環境資料、變數以及參數,以便重試載入。
- 重建環境:PaaS 工具和修正程式 (需要時)、中繼資料、資料、PaaS 程式碼。這應包括執行初始載入目標環境的能力。
- 永久清除 Oracle Data Integrator 日誌和分析藍本報表 (可增進效能):套裝程序中可用的
OdiPurgeLog
工具可用於建立專用分析藍本和排程永久清除。 - 清除用於成功載入的臨時資料表。
- 永久清除或重新載入已順利載入的檔案。
- 進行修正時,請使用安靜安裝 (在開發環境中記錄修正處理作業,然後在其他環境中重新執行)。
管理修正
若要讓您的系統使用最新的安全性和錯誤修正來更新,但是有系統管理的修正區域能夠建立漏洞,並造成未預期的停止工作時間事件。
Oracle 建議:
- 驗證您組織中的使用者會從 Oracle 收到並回應關於修正的警示。
- 記錄所有環境的修正層次。請注意,某些服務是由 Oracle 自動修正並升級,但您可能需要手動修正非原生服務,特別是任何內部部署執行處理。
- 定義修正時段。若要進行手動修正,請識別最短中斷使用者的時段。
遵循使用者帳戶最佳應用
遵循使用者帳戶的最佳作法,以確保資料、環境與整合的安全性。
每個開發人員都必須擁有自己的 Oracle Data Integrator 使用者帳戶,即使他們被授予超級使用者權限也一樣。不共用帳戶。分隔的使用者帳戶可改善通訊並確保責任:
- 鎖定的物件將會顯示正在編輯物件的人員。
- 上次更新時間將顯示上次修改物件的使用者與修改時間。
當 Oracle Data Integrator 需要存取資料庫時:
- 特別針對 Oracle Data Integrator 建立一個專用的資料庫使用者。請勿重複使用個別使用者帳戶或其他服務所使用的帳戶。
- Oracle Data Integrator 使用者應為暫存綱要的擁有者 (用來執行建立、刪除、插入、更新和刪除作業)。
- Oracle Data Integrator 使用者必須要有權限,才能實際使用其他綱要 (選取、插入、更新及刪除)。