瞭解在資料庫移轉期間減少停止工作時間

將生產環境資料庫移轉至新平台的預定停止工作時間可能會在未計劃的停機時間內遭到破壞作業。這對於支援使用者在多個時區的全域企業尤其是如此,對於提供第 24 小時 (一天)、7 天 (一週) 的企業,提供網際網路存取權的企業。無論您是從內部部署移轉資料庫到雲端,或是從目前的雲端服務移轉至新的基礎架構或平台,都可以使用 Oracle 技術提供高可用性,降低停止工作的時間。

瞭解預期的停止工作時間

當您將資料庫從內部部署移轉至雲端時,部分選項會導致比其他選項較短的停機時間。

下表顯示高可用性移轉解決方案的預期停止工作時間。

Oracle 解決方案 預期的中斷時間

Oracle GoldenGate

零到秒

Oracle Data Guard

少於 5 分鐘

Oracle 復原管理程式

小於 2 小時

從 Oracle Cloud 備份建立

分鐘至小時 (視資料庫大小而定)

將資料庫移轉至Oracle Database Cloud Service的注意事項

您可以使用許多方法和工具將您的內部部署Oracle Database 移轉至Oracle Database Cloud Service

並非所有的移轉方法都會套用至所有移轉案例。只有在來源資料庫和目的地資料庫的特定特性相符或相容時,才會套用許多移轉方法。其他因素會影響您從技術上適用於移轉案例之方法中選擇的移轉方法。

當您選擇移轉方法時,要考量的部分特性與資料庫選項如下:

  • 來源資料庫版本

  • Oracle Database Cloud Service 資料庫版本

  • 前置主機作業系統和版本

  • 內部部署資料庫字元集

  • 資料數量,包含索引

  • 內部部署資料庫中使用的資料類型

  • 用於暫存資料的儲存體

  • 可接受的系統中斷長度

  • 網路頻寬和連線

若要決定移轉案例適用的移轉方法,請收集下列資訊。

  1. 來源內部部署資料庫的資料庫版本。

    請注意,若Oracle Database 11g 版本 2 比 11.2.0.4 舊,則至少需要升級成 11.2.0.4. 版本。

  2. 若為內部部署Oracle Database 12c 版本 1 12.1.0.2 或更新版本的資料庫,則為資料庫架構:

    • 容器資料庫 (CDB) 可支援一或多個 (單一用戶) 可插式資料庫 (pdb)。
    • CDB

  3. 您的內部部署來源資料庫主機平台與詞彙格式。

    平台可能是 little-endian 或 big-endian,依使用的位元組順序而定。Oracle Database Cloud Service 使用 Linux x86–64 平台,這是一般書籤。

    查詢 V$DATABASE 以識別來源資料庫的平台名稱。

    查詢 V$TRANSPORTABLE_PLATFORM 以檢視支援跨平台表格空間傳輸的所有平台,以及每個平台的尾文格式。

  4. 內部部署資料庫與Oracle Database Cloud Service 資料庫的資料庫字元集。

    部分移轉方法需要來源資料庫和目標資料庫使用相容的資料庫字元集。依照預設,資料庫會設定為使用 AL32UTF8 資料庫字元集。

  5. 要移轉至 Oracle Database Cloud Service 的目標資料庫版

    Oracle Cloud 上使用Oracle Database 12c 或更新版本的資料庫使用 CDB 架構。使用 Enterprise Edition 選項建立的資料庫是單一用戶,而使用 Enterprise Edition - High Performance 或 Enterprise Edition - Extreme Performance 選項建立的資料庫是多租用戶。

    • Oracle Database 11g 版本 2

    • Oracle Database 12c 版本 1

    • Oracle Database 12c 版本 2

    • Oracle Database 18c

將 DBCS 資料庫移轉至新雲端服務的考量

您可以將 Oracle Database 從一個 Oracle Database Cloud Service 環境移轉至另一個 Oracle Database Cloud Service 環境。

檢查目前的環境,瞭解可能影響移轉的因素,例如資料庫檔案的大小、工作負載層次以及您使用之軟體的版本。

請考慮目標環境 (例如版本、修正程式及儲存體) 的需求,這些需求會影響在移轉之前最佳化來源資料庫的方式。

若要協助您判斷哪些雲端服務適合您的移轉,請收集下列資訊。

  • 判斷來源資料庫中資料庫檔案的大小,以確定配置給目標資料庫系統的空間大小。

    您可以執行下列查詢,在您計劃移轉的資料庫中找到資料庫檔案的大小總計,包括重做日誌的大小:

    SELECT SUM(BYTES)/1024/1024 SIZE_IN_MB FROM DBA_SEGMENTS;

    若要尋找重做日誌的大小,請查詢 V$LOG 動態檢視。

    SELECT GROUP#, BYTES FROM V$LOG;
  • 判斷工作負載層次。

    您可以產生「Oracle 自動工作負載儲存區域 (AWR)」報表,尋找來源資料庫的工作負載範例。或者,您也可以產生「自動資料庫診斷監督 (ADDM)」報表,以找出一段期間內指定快照之間的來源資料庫效能。時間模型統計資料、作業系統統統計資料以及等待事件,以相對的作業系統容量提供工作負載的清除計量。

  • 決定來源資料庫中設定的環境變數。

    在目標資料庫中使用相同的設定值。

  • 檢查來源資料庫中的資料庫字元集。

    您可以執行下列查詢來尋找資料庫字元集:

    SELECT NLS_CHARACTERSET, NLS_NCHAR_CHARACTERSET
     FROM NLS_DATABASE_PARAMETERS;

    目標資料庫也必須包含這些字元集。

  • 決定目前所在地點的災害復原計畫。

    例如,如果已經部署 Oracle Data Guard,您就可以建立移轉程序的待命資料庫。如果使用非站台備份,則應該使用 Oracle Recovery Manager (RMAN),規劃對 Oracle Cloud 進行新備份。

  • 檢查您是否已在來源資料庫設定 Oracle GoldenGate。

    若要瞭解 Oracle GoldenGate 的相關資訊,請執行 ggsci 公用程式。如果您不想將 Oracle Data Guard 用於移轉,可以使用 Oracle GoldenGate 作為替代的移轉工具。

移轉前簡化及最佳化資料庫

移轉資料庫之前,您可以升級至目標平台版本、刪除未使用的物件以及執行其他最佳化,以縮短停止工作時間。

除了下列簡化與最佳化策略之外,任何資料庫平台移轉都必須包含重大量的測試。

  • 簡化:經由不同版本和不同資料庫管理員發展的大多數資料庫環境,其中包含舊資訊 (目前的 DBA 可能會在系統中使用某些物件、資料、原則或類似的問題)。簡化的目的是讓管理變得更為容易、更容易瞭解。這樣可以簡化提供更高可用性的系統。

    請考慮在移轉前刪除來源資料庫中不需要的綱要物件。這可以減少移轉的資料量。

  • 最佳化:在許多情況下,移轉會涉及更新的資料庫版本,包括新功能。執行移轉時,應考慮採用新功能和最佳應用建議。

    考慮升級來源資料庫、使其符合目標資料庫版本、因為這可能會大幅改善移轉 (在某些情況下)。例如,在每個新的 Oracle Database 版本中,「資料汲取」的平行功能會增強,因此如果來源資料庫升級至與目標資料庫版本相符,從來源系統匯出資料庫可能會更快完成。

    考慮是否可以在階段中執行移轉。例如,如果來源資料庫包含大量唯讀資料,可能會在即時資料移轉之前進行移轉,以減少停止工作時間。