如要從異質 Oracle 遷移至 PostgreSQL 適用的 Cloud SQL,您可以監控及管理整個遷移工作的進度,也可以監控及管理遷移工作中的個別資料表。
本頁面說明您可以在各層級執行的動作。詳情請參閱「 管理遷移作業」和「 管理個別資料表」一節。
管理遷移工作
在 Google Cloud 控制台中,您可以針對具有相同 狀態的遷移作業執行大量操作。您可以在 Google Cloud 控制台和使用 Google Cloud CLI,對單一遷移作業執行動作。
您可以對遷移作業執行下列任一動作:
動作 | 說明 |
---|---|
開始 | 啟動不處於「執行中」或「啟動中」狀態的遷移工作。請參閱 遷移工作狀態。 |
停止 | 停止執行中的遷移工作。資料移動作業已暫停。
遷移工作狀態會先變更為 Stopping ,
然後再變更為 Stopped 。您可以繼續、刪除或
升級已停止的遷移工作。在某些情況下,來源資料庫必須保留資料,直到您繼續執行遷移工作為止。來源資料庫的保留期限可能有限。如果遷移工作暫停時間超過保留期限,然後又繼續執行,可能會導致遷移工作失敗。如果發生這種情況,請刪除或重新啟動遷移工作。 |
繼續 | 您可以繼續執行在 CDC 階段停止的遷移工作。 繼續執行遷移工作時,資料庫遷移服務會繼續複製遷移工作停止期間累積的變更事件。 |
重新啟動 |
如果遷移工作發生錯誤,無法繼續複製資料,您可以重新啟動該工作。 重新啟動遷移工作後的結果,取決於工作失敗的原因:
|
編輯 | 請參閱「 編輯遷移工作」。 |
刪除 | 您可以刪除遷移工作。結果取決於工作狀態:
|
宣傳 | 在遷移過程中,目的地資料庫會進入唯讀狀態,並由資料庫遷移服務全面管理。如要將應用程式切換至遷移後的目的地資料庫,請推送遷移工作,將目的地資料庫更新為獨立副本。請參閱「 推送遷移作業」。 |
審查遷移工作
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 選取遷移工作即可查看詳細資料頁面,包括:
- 遷移工作的中繼資料,例如顯示名稱、ID、遷移類型、來源連線設定檔、來源資料庫引擎、目的地、連線方法、遷移工作的建立日期和時間,以及遷移工作的執行時間。
- 遷移工作狀態和子狀態,以及其他資訊。視遷移作業的狀態和子狀態而定,可用的動作會有所不同。
啟動遷移工作
完整建立遷移工作後 (也就是未儲存為草稿),您隨時可以啟動工作,開始遷移資料。
如要啟動遷移作業,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「啟動」。
- 在對話方塊中,按一下「開始」。
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
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
停止遷移工作
如要隨時停止 正在執行的遷移作業,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「停止」。
- 在對話方塊中,按一下「停止」。
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
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
繼續執行遷移工作
如要繼續 已停止的遷移工作,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「繼續」。
- 在對話方塊中,按一下「繼續」。
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
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
重新啟動遷移工作
重新啟動遷移工作時,資料庫移轉服務會清除目的地資料表中的所有資料,來源資料則不受影響。遷移程序會重新開始,從完整傾印階段開始。
如要重新啟動移轉作業,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要重新啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下 [Restart]。
- 在對話方塊中,按一下「重新啟動」。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,這是儲存遷移工作的地區 ID。
執行下列指令:
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
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
更新遷移工作草稿
如要完成建立遷移作業,請執行下列步驟:
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「草稿」分頁中,按一下要完成建立的遷移作業顯示名稱。
系統會開啟遷移工作建立精靈。
- 完成建立遷移工作。請參閱 建立遷移工作。
編輯遷移工作
您可以修改來源的設定資訊,例如資料庫移轉服務要從來源遷移至目的地的資料庫資料表和結構定義。資料庫移轉服務會使用這項設定資訊,將正確的資料從來源遷移至目的地。
在遷移作業中新增或移除物件
如要新增或移除遷移作業中的表格或結構定義,請按照下列步驟操作:
前往 Google Cloud 控制台的「遷移工作」頁面。
按一下要修改的遷移作業顯示名稱。系統隨即會顯示遷移工作的總覽頁面。
在「選取要遷移的物件」部分,選取或取消勾選核取方塊,變更資料庫遷移服務要從來源遷移至目的地的資料表和結構定義。
按一下「儲存」或「儲存並重新啟動」。
如果您點按「儲存」,資料庫移轉服務只會遷移您選取架構和資料表的歷史資料。
- 如果您按一下「儲存並重新啟動」,資料庫移轉服務就會在清除您在目的地中選取的任何資料表後,從頭開始遷移。
調整來源資料庫的並行連線數上限
您可以自訂資料庫移轉服務可與來源執行個體建立的並行連線數量上限,以進行完整傾印階段或 CDC 階段。
前往 Google Cloud 控制台的「遷移作業」頁面。
按一下要修改的遷移作業顯示名稱。 系統隨即會顯示遷移工作的總覽頁面。
展開「Customize source configuration」(自訂來源設定) >「Source read settings」(來源讀取設定) 區段。
在「完整 dump 並行連線數量上限」或「CDC 並行連線數量上限」部分,使用「自訂」欄位,輸入完整 dump 或 CDC 階段的連線數量上限。
按一下「儲存」或「儲存並重新啟動」。
調整目的地設定
您可以自訂目的地資料庫的交易逾時時間和並行連線數量上限:
前往 Google Cloud 控制台的「遷移工作」頁面。
- 按一下要修改的遷移作業顯示名稱。
系統隨即會顯示遷移工作的總覽頁面。
- 展開「自訂目的地設定」部分,然後修改下列設定:
- 目的地並行連線數量上限
-
預設值:
128
允許的值:最小值
2
、最大值256
您可以自訂資料庫移轉服務可連線至目的地執行個體的並行連線數量上限。
資料庫遷移服務會調整連線數,確保在提供的連線限制內發揮最佳效能。提高連線數量上限可以加快遷移速度,但會增加目的地資料庫的負載。
- 交易逾時
-
預設值:
30
允許的值:最小值
30
、最大值300
在遷移過程中,資料庫遷移服務可能會遇到某些問題,導致交易逾時。您可以調整資料庫遷移服務等待交易完成的時間 (以秒為單位),超過這個時間就會取消交易。
取消交易不會導致遷移工作失敗。 遷移工作會繼續複製資料,但會移至「執行中但發生錯誤」狀態。您可以查看遷移工作詳細資料,瞭解需要解決哪些問題。
- 按一下「儲存」或「儲存並重新啟動」。
測試遷移工作
執行遷移工作前,您可以先執行測試作業,確認資料庫遷移服務是否能存取所有必要的來源和目的地實體。在 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
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
管理個別資料表
如果是從 Oracle 遷移至 PostgreSQL 適用的 Cloud SQL,您可以查看遷移工作中所含特定資料表的狀態詳細資料。
查看作業中的所有表格
如要查看遷移作業中所有資料表的詳細資料,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」(工作) 分頁中,按一下遷移工作的顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 選取「資料表」分頁,即可查看作業中包含的所有資料表。您也可以使用互動式篩選器縮小清單範圍。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,這是儲存遷移工作的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects list \ --migration-job=MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration objects list ` --migration-job=MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration objects list ^ --migration-job=MIGRATION_JOB_ID ^ --region=REGION
結果
這個指令會傳回遷移工作所含所有資料表的狀態、階段和錯誤詳細資料,並以空白行分隔。
SOURCE_OBJECT: {'schema': 'Schema1', 'table': 'MyTable1', 'type': 'TABLE'} STATE: RUNNING PHASE: CDC ERROR: {} SOURCE_OBJECT: {'schema': 'Production', 'table': 'MyTable2', 'type': 'TABLE'} STATE: RUNNING PHASE: FULL_DUMP ERROR: { 'code': 2, 'details': [ { '@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'domain': 'datamigration.googleapis.com', 'metadata': { 'errorMessage': '[DATABASE] error trying to write processed rows. Line: 2619 Position: 0 Schema: production Table: mytable2', 'errorScope': 'NON_GLOBAL', 'objectId': 'Production_MyTable2', 'projectName': 'PROJECT_ID', 'resourceName': 'MIGRATION_JOB_ID', 'severity': 'ERROR' }, 'reason': 'DESTINATION_WRITE_ERROR' } ], 'message': 'Encountered errors with your migration job table. Check the `details` array for specific information on each issue.' }
查看單一資料表的詳細資料
如要查看單一資料表的遷移詳細資料,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」(工作) 分頁中,按一下遷移工作的顯示名稱。
系統會開啟遷移工作詳細資料頁面。
-
選取「資料表」分頁,然後按一下要檢查的資料表。您也可以使用互動式篩選器縮小清單範圍。
資料表詳細資料側邊面板隨即開啟。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,這是儲存遷移工作的區域 ID。
- SCHEMA_NAME,其中包含資料表的父項結構定義名稱。
- 將 TABLE_NAME 替換為資料表名稱。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects lookup \ --migration-job=MIGRATION_JOB_ID \ --region=REGION \ --schema=SCHEMA_NAME \ --table=TABLE_NAME
Windows (PowerShell)
gcloud database-migration objects lookup ` --migration-job=MIGRATION_JOB_ID ` --region=REGION ` --schema=SCHEMA_NAME ` --table=TABLE_NAME
Windows (cmd.exe)
gcloud database-migration objects lookup ^ --migration-job=MIGRATION_JOB_ID ^ --region=REGION ^ --schema=SCHEMA_NAME ^ --table=TABLE_NAME
結果
這項指令會傳回資料表的狀態、階段、建立時間和錯誤詳細資料。整個回應是多行 YAML 格式的字串。 例如:
createTime: '2025-06-02T10:20:29.792832Z' error: code: 2 details: - '@type': type.googleapis.com/google.rpc.ErrorInfo domain: datamigration.googleapis.com metadata: errorMessage: '[DATABASE] error trying to write processed rows. Line: 2619 Position: 0 Schema: production Table: mytable2' errorScope: NON_GLOBAL objectId: Production_MyTable2 projectName: PROJECT_ID resourceName: MIGRATION_JOB_ID severity: ERROR reason: DESTINATION_WRITE_ERROR message: Encountered errors with your migration job table. Check the `details` array for specific information on each issue. name: projects/PROJECT_ID/locations/REGION/migrationJobs/MIGRATION_JOB_ID/objects/TABLE_UUID phase: FULL_DUMP sourceObject: schema: Production table: MyTable2 type: TABLE state: RUNNING