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