推送遷移工作

如果是連續遷移,您可以在準備好將應用程式切換至目的地資料庫時,啟動升級程序。升級遷移工作後,目的地執行個體會與來源中斷連線,並轉換為獨立的主要資料庫執行個體,讓您能繼續自動備份、設定時間點復原 (PITR) 及建立唯讀副本。

您可以升級遷移工作,或升級遷移工作中的特定資料庫。

  1. 停止所有寫入作業、執行中的指令碼,以及與來源資料庫之間的用戶端連線。 休息時間從這裡開始。
  2. 請等到 複製延遲指標為零或接近零,這代表遷移工作已處理完所有未完成的變更。

    即使複製延遲時間不為零,您也可以升級遷移作業。這可以縮短資料庫停機時間,但可能會影響目的地資料的準確度。

  3. 執行升級動作:

    控制台

    1. 前往 Google Cloud 控制台的「Migration jobs」(遷移工作) 頁面。

      前往「Migration jobs」(遷移工作) 頁面

    2. 在「Jobs」(工作) 分頁中,按一下要升級的遷移工作顯示名稱。

      遷移工作詳細資料頁面隨即開啟。

    3. 執行下列其中一項升級動作:
      • 如要升級遷移作業中的所有資料庫,請在遷移工作的工具列中,按一下「升級」。

        「升級遷移工作」對話方塊隨即顯示。

      • 如果只想升級特定資料庫,請勾選資料庫名稱旁的核取方塊,然後在「資料庫」分頁中點選「升級」。

        對話方塊會顯示要升級的資料庫數量。

    4. 在對話方塊中,確認沒有顯示任何錯誤,然後按一下「Promote」(升級)。

    gcloud

    使用下列任何指令資料前,請先替換以下項目:

    • 將 MIGRATION_JOB_ID 替換為遷移工作 ID。

      如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

    • 將 REGION 替換為連線設定檔儲存區域的 ID。

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud database-migration migration-jobs \
    promote MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    promote MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    promote MIGRATION_JOB_ID ^
      --region=REGION

    結果

    這項動作會以非同步方式執行。因此,這個指令會傳回代表長時間執行的作業的 作業實體:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    如要確認作業是否成功,您可以查詢傳回的作業物件,或檢查遷移工作的狀態:

  4. 您選取的目的地執行個體或資料庫已升級。 目的地執行個體會與來源中斷連線,成為獨立的主要執行個體,並準備好接收完整的應用程式流量。遷移工作狀態會變更為「Completed」。
  5. (選用) 針對使用 pg_cron 擴充功能的來源:資料庫遷移服務不會遷移 pg_cron 擴充功能 (或與該擴充功能相關聯的任何 cron 設定),但 PostgreSQL 適用的 Cloud SQL 目的地支援這項功能。如果您在來源資料庫中使用 pg_cron 擴充功能,可以在目的地執行個體重新安裝。
  6. 您現在可以將應用程式連結至 Cloud SQL 執行個體,並刪除遷移工作。