查看及管理遷移工作

專案:/database-migration/docs/sqlserver-to-csql-pgsql/_project.yaml 書籍:/database-migration/docs/sqlserver-to-csql-pgsql/_book.yaml

在 Google Cloud 控制台中,您可以針對具有相同 狀態的遷移作業,執行批次操作。您可以在 Google Cloud 控制台和 Google Cloud CLI 中,對單一遷移工作執行動作。

您可以對遷移工作執行下列任一操作:

動作 說明
開始 啟動遷移工作,即非處於「執行中」或「啟動中」狀態。請參閱 遷移工作狀態
停止 停止執行中的遷移工作。資料移轉作業已暫停。 遷移工作狀態會先變更為 Stopping,然後變更為 Stopped。您可以恢復、刪除或 提升已停止的遷移工作。

在某些情況下,來源資料庫必須保留資料,直到您恢復遷移工作為止。來源資料庫的保留期限可能有限。如果遷移工作暫停的時間超過保留期限,然後再繼續執行遷移工作,可能會導致遷移工作失敗。如果發生這種情況,請刪除或重新啟動遷移工作。

繼續 您可以繼續執行在 CDC 階段停止的遷移工作。 您繼續執行遷移工作時,資料庫移轉服務會繼續複製遷移工作停止期間累積的變更事件。
重新啟動 如果遷移工作發生錯誤,無法繼續進行資料複製作業,您可以重新啟動該工作。重新啟動遷移工作的結果取決於失敗的原因:
  • 如果因為一或多個來源或目的地資料庫資料表發生錯誤,導致複製作業失敗,重新啟動遷移工作後,系統會清除遷移工作中所含目的地資料庫資料表的所有資料。
  • 重新啟動遷移工作不會導致資料庫移轉服務複製您在來源資料庫中建立的新資料表。您必須先 將資料表新增至轉換工作區並轉換其結構定義
編輯 請參閱「 編輯遷移工作」一文。
刪除 您可以刪除遷移工作。結果取決於工作狀態:
  • 如果遷移工作處於 Completed 狀態,系統會從遷移工作清單中刪除該記錄。
  • 如果遷移工作處於其他狀態,則可以選擇刪除相關聯的 Cloud SQL 目的地執行個體。
宣傳 在遷移程序期間,目的地資料庫會處於唯讀狀態,由資料庫移轉服務全權管理。如要將應用程式切換至已遷移的目的地資料庫,請推送遷移工作,將目的地資料庫更新為獨立的複本。請參閱「 推送遷移作業」。

審查遷移工作

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 選取遷移工作即可查看詳細資料頁面,其中包含:
    • 遷移工作中繼資料,例如顯示名稱、ID、遷移類型、來源連線設定檔、來源資料庫引擎、目的地、連線方法、建立遷移工作的日期和時間,以及遷移工作執行的時間長度。
    • 遷移工作狀態和子狀態,以及其他資訊。視遷移作業的狀態和子狀態而定,可執行的動作會有所不同。

啟動遷移工作

遷移工作已完成建立 (也就是未儲存在草稿狀態) 後,您隨時可以啟動遷移作業,開始遷移資料。

如要開始遷移作業,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

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

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

  3. 按一下「啟動」
  4. 在對話方塊中按一下「開始」

gcloud

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

  • MIGRATION_JOB_ID 與您的遷移工作 ID 搭配使用。

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

  • REGION,其中包含連線設定檔儲存區域的 ID。

執行下列指令:

Linux、macOS 或 Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
start 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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

停止遷移工作

您隨時可以執行下列步驟,停止執行中的遷移工作:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

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

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

  3. 按一下「停止」
  4. 在對話方塊中按一下「停止」

gcloud

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

  • MIGRATION_JOB_ID 與您的遷移工作 ID 搭配使用。

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

  • REGION,其中包含連線設定檔儲存區域的 ID。

執行下列指令:

Linux、macOS 或 Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
stop 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: stop
name: OPERATION_ID
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

繼續執行遷移工作

您可以執行下列步驟,繼續執行 已停止的遷移工作:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

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

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

  3. 按一下「繼續」
  4. 在對話方塊中,按一下「Resume」

gcloud

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

  • MIGRATION_JOB_ID 與您的遷移工作 ID 搭配使用。

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

  • REGION,其中包含連線設定檔儲存區域的 ID。

執行下列指令:

Linux、macOS 或 Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
resume 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: resume
name: OPERATION_ID
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

重新啟動遷移工作

如要開始遷移作業,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下要重新啟動的工作顯示名稱。

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

  3. 按一下 [Restart]
  4. 在對話方塊中按一下「Restart」

gcloud

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

  • MIGRATION_JOB_ID 與您的遷移工作 ID 搭配使用。

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

  • REGION,其中包含連線設定檔儲存區域的 ID。
  • 選用:資料庫移轉服務預設會遷移來源中的所有資料庫。如果您只想遷移特定資料庫,請使用 --databases-filter 旗標,並以半形逗號分隔的清單指定其 ID。

    例如:--databases-filter=my-business-database,my-other-database

    您之後可以使用 gcloud database-migration migration-jobs update 指令編輯使用 --database-filter flag 建立的遷移作業。

執行下列指令:

Linux、macOS 或 Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
restart 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: restart
name: OPERATION_ID
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

更新遷移工作草稿

如要完成建立遷移作業,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「草稿」分頁中,按一下要完成建立的遷移作業的顯示名稱。

    系統會開啟遷移工作建立精靈。

  3. 完成建立遷移工作。請參閱 建立遷移工作

編輯遷移工作

您可以修改來源的設定資訊,例如資料庫移轉服務會遷移至目的地的來源資料庫資料表和結構定義。資料庫移轉服務會使用這項設定資訊,將正確的資料從來源遷移至目的地。

在遷移作業中新增或移除物件

如要在遷移作業中新增或移除資料表或結構定義,請按照下列步驟操作:

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

    前往「遷移工作」

  2. 按一下要修改的遷移工作顯示名稱。系統會顯示遷移工作的總覽頁面。

  3. 在「選取要遷移的物件」部分,選取或取消勾選核取方塊,即可變更資料庫遷移服務會遷移至目的地的來源資料表和結構定義。

  4. 按一下「儲存」或「儲存並重新啟動」

    • 如果您按一下「儲存」,資料庫移轉服務只會移動所選架構和資料表的歷來資料。

    • 如果您按一下「儲存並重新啟動」,資料庫遷移服務會在清除您在目的地選取的任何資料表後,從頭開始遷移。

調整來源資料庫的並行連線上限

您可以自訂資料庫移轉服務在完整備份階段 CDC 階段中,可與來源執行個體建立的並行連線數量上限。

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 按一下要修改的遷移工作顯示名稱。系統會顯示遷移工作的總覽頁面。

  3. 展開「自訂來源設定」>「來源讀取設定」部分。

  4. 在「完整 dump 並行連線數量上限」或「CDC 並行連線數量上限」部分,使用「自訂」欄位輸入完整 dump 或 CDC 階段的連線數量上限。

  5. 按一下「儲存」或「儲存並重新啟動」

調整目的地設定

您可以自訂交易逾時時間,以及目的地資料庫的並行連線數量上限:

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

    前往「遷移工作」

  2. 按一下要修改的遷移工作顯示名稱。

    系統會顯示遷移工作的總覽頁面。

  3. 展開「自訂目的地設定」部分,然後修改下列設定:
    目的地並行連線數量上限

    預設值:128

    允許的值:最小 2,最大 256

    您可以自訂資料庫遷移服務可與目的地執行個體建立的並行連線數量上限。

    資料庫遷移服務會調整連線數量,確保在提供的連線限制內發揮最佳效能。提高連線上限可加快遷移速度,但會增加目標資料庫的負載。

    交易逾時

    預設值:30

    允許的值:最小 30,最大 300

    在遷移過程中,資料庫遷移服務可能會遇到某些問題,導致交易逾時。您可以調整資料庫遷移服務等待交易完成的秒數,以便在交易取消前取消交易。

    取消的交易不會導致遷移工作失敗。遷移工作會繼續複製資料,但會轉移至「執行中,但發生錯誤」狀態。您可以查看遷移工作詳細資料,瞭解需要解決的問題。

  4. 按一下「儲存」或「儲存並重新啟動」

測試遷移工作

在執行遷移工作之前,您可以執行測試作業,檢查資料庫遷移服務是否可存取所有必要的來源和目的地實體。在 Google Cloud 控制台中,您只能測試在遷移工作建立精靈中建立的草稿遷移工作 (請參閱「 建立遷移工作」)。

您可以使用 gcloud CLI 測試已建立但尚未開始的遷移工作。

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

  • MIGRATION_JOB_ID 與您的遷移工作 ID 搭配使用。

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

  • REGION,其中包含連線設定檔儲存區域的 ID。

執行下列指令:

Linux、macOS 或 Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
verify 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: verify
name: OPERATION_ID
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態: