Adobe Campaign提供內建工作流程,可讓您排程特定資料庫維護任務: 資料庫清理工作流程. 此工作流程會執行下列工作:
請注意,清理任務主要處理應用程式層級的維護,而非RDBMS層級的維護(統計資料更新除外)。 不過,需要針對資料庫執行維護操作。 即使資料庫清理工作流程成功執行,這並不表示資料庫已最佳調整。
資料庫清理工作流程不包含任何資料庫維護工具:由您來組織維護。 若要這麼做,您可以:
這些維護程式必須定期執行,並應包括以下內容:
您需要尋找適當的位置來執行這些維護活動。 它們可能會嚴重影響執行時的資料庫效能,甚至封鎖應用程式(由於鎖定)。
這些工作通常會在低活動期間每週執行一次,而不會與備份、資料重新載入或彙總計算發生衝突。 有些系統受到強烈要求,需要更頻繁的維護。
更深入的維護(例如完整表格重建)可每月執行一次,最好是讓應用程式完全停止,因為系統無論如何都無法使用。
有幾種策略可供使用:
作業 | 說明 | 好處 | 缺點 |
---|---|---|---|
線上磁碟重組 |
大部分的資料庫引擎都提供磁碟重組方法。 |
只要使用資料庫磁碟重組方法即可。 這些方法通常會在磁碟重組期間鎖定資料,藉此解決整合性問題。 |
視資料庫而定,這些磁碟重組方法可作為RDBMS選項(Oracle)提供,而且並非總是處理大型表格的最有效率。 |
傾印和還原 |
將表格傾印到檔案、刪除資料庫中的表格並從傾印還原。 |
這是重組表格的最簡單方法。 也是資料庫幾乎已滿時的唯一解決方案。 |
因為資料表已被刪除並重新建立,所以即使是在唯讀模式(在還原階段無法使用資料表),應用程式也無法保持連線。 |
複製、重新命名和刪除 |
這樣會建立表格及其索引的復本,然後捨棄現有的復本,並重新命名復本以取而代之。 |
此方法比第一種方法速度快,因為它產生的IO較少(沒有檔案復本,且不會從此檔案讀取)。 |
需要兩倍的空間。 必須停止在處理期間寫入資料表的所有作用中處理序。 不過,讀取程式不會受到影響,因為表格在重建後的最後時刻會被交換。 |