如要從 Oracle 異質遷移至 PostgreSQL 適用的 Cloud SQL,您可以監控及管理整個遷移工作的進度,或遷移工作中個別資料表的進度。
本頁面說明各層級可執行的動作。詳情請參閱「 管理遷移工作」和「 管理個別資料表」章節。
管理遷移工作
在 Google Cloud 控制台中,您可以對 狀態相同的遷移工作執行大量操作。您可以在 Google Cloud 控制台 (透過資料庫遷移服務控制台,或直接從目的地 Cloud SQL 執行個體頁面),以及使用 Google Cloud CLI,對單一遷移工作執行操作。
您可以對遷移工作執行下列任一操作:
| 動作 | 說明 |
|---|---|
| 開始 | 啟動非「執行中」或「啟動中」狀態的遷移工作。請參閱「 遷移工作狀態」。 |
| 停止 | 停止執行中的遷移工作。資料移動作業已暫停。
遷移工作狀態會先變更為「Stopping」,然後變更為「Stopped」。您可以繼續、刪除或
升級已停止的遷移工作。連續遷移:在某些情況下,來源資料庫必須保留資料,直到您繼續執行遷移工作為止。來源資料庫的保留期限可能有限。如果遷移工作暫停的時間超過保留期限,則在遷移工作恢復後,可能會導致遷移工作失敗。如果發生這種情況,請刪除或重新啟動遷移工作。 |
| 繼續 | 當您繼續執行遷移工作時,資料庫遷移服務會繼續執行資料移動作業:
|
| 重新啟動 |
如果遷移工作發生錯誤,無法繼續複製資料,您可以重新啟動工作。 重新啟動遷移工作的結果取決於失敗原因:
|
| 編輯 | 請參閱「 編輯遷移工作」。 |
| 刪除 | 遷移工作可以刪除。結果取決於工作狀態:
|
| 升級 | 在遷移過程中,目的地資料庫會進入唯讀狀態,並由資料庫遷移服務全代管。如要將應用程式切換至遷移後的目的地資料庫,請升級遷移工作,將目的地資料庫更新為獨立副本。請參閱「 推送遷移工作」。 |
審查遷移工作
- 前往 Google Cloud 控制台的「Migration jobs」(遷移工作) 頁面。
- 選取遷移工作,即可查看詳細資料頁面,其中包含:
- 遷移工作中繼資料,例如顯示名稱、ID、遷移類型、來源連線設定檔、來源資料庫引擎、目的地、連線能力方法、遷移工作的建立日期和時間,以及遷移工作的執行時間。
- 遷移工作狀態、子狀態和其他資訊。可執行的動作會因遷移工作的狀態和子狀態而異。
啟動遷移工作
遷移工作建立完成後 (也就是未儲存為草稿狀態),您隨時可以啟動工作,開始遷移資料。
如要啟動遷移工作,請按照下列步驟操作:
控制台
您可以透過資料庫遷移服務控制台或目的地執行個體頁面,啟動遷移工作。
在資料庫遷移服務控制台中:
- 前往 Google Cloud 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下要啟動的遷移工作顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下「啟動」。
- 在對話方塊中,按一下「開始」。
從目的地執行個體:
- 前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下遷移作業目的地執行個體的顯示名稱。
執行個體詳細資料頁面隨即會開啟。
- 在「遷移」部分,按一下「開始」。
- 在對話方塊中,按一下「開始」。
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下要停止的遷移工作顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下「停止」。
- 在對話方塊中,點選「停止」。
從目的地執行個體:
- 前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下遷移作業目的地執行個體的顯示名稱。
執行個體詳細資料頁面隨即會開啟。
- 在「遷移」部分,按一下「停止」。
- 在對話方塊中,點選「停止」。
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下要繼續執行的遷移工作顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下「繼續」。
- 在對話方塊中,按一下「繼續」。
從目的地執行個體:
- 前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下遷移作業目的地執行個體的顯示名稱。
執行個體詳細資料頁面隨即會開啟。
- 在「遷移」部分,按一下「繼續」。
- 在對話方塊中,按一下「繼續」。
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下要重新啟動的遷移工作顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下 [Restart]。
- 在對話方塊中,點選「重新啟動」。
從目的地執行個體:
- 前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下遷移作業目的地執行個體的顯示名稱。
執行個體詳細資料頁面隨即會開啟。
- 在「遷移」部分,按一下「重新啟動」。
- 在對話方塊中,點選「重新啟動」。
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Drafts」(草稿) 分頁中,按一下要完成建立的遷移工作顯示名稱。
遷移工作建立精靈隨即開啟。
- 完成建立遷移工作。請參閱「 建立遷移工作」。
編輯遷移工作
您可以修改來源的設定資訊,例如資料庫移轉服務會從來源遷移至目的地的資料庫資料表和結構定義。資料庫遷移服務會使用這項設定資訊,將正確的資料從來源遷移至目的地。
新增或移除遷移作業中的物件
如要新增或移除遷移作業中的資料表或結構定義,請按照下列步驟操作:
前往 Google Cloud 控制台的「遷移工作」頁面。
按一下要修改的遷移工作顯示名稱。系統會顯示遷移工作的總覽頁面。
在「選取要遷移的物件」部分,勾選或取消勾選核取方塊,變更資料庫遷移服務要從來源遷移至目的地的資料表和結構定義。
按一下「儲存」或「儲存並重新啟動」。
如果點選「儲存」,資料庫遷移服務只會移動所選結構定義和資料表的歷來資料。
- 如果點選「儲存並重新啟動」,資料庫遷移服務會先清除您在目的地選取的資料表,然後從頭開始遷移。
調整來源資料庫的並行連線數量上限
您可以自訂資料庫遷移服務在完整 dump 階段或 CDC 階段,可與來源執行個體建立的並行連線數量上限。
前往 Google Cloud 控制台的「遷移工作」頁面。
按一下要修改的遷移工作顯示名稱。系統會顯示遷移工作的總覽頁面。
展開「Customize source configuration」(自訂來源設定) >「Source read settings」(來源讀取設定) 區段。
在「Maximum concurrent full dump connections」(完整 dump 並行連線數量上限) 或「Maximum concurrent CDC connections」(CDC 並行連線數量上限) 區段,使用「Custom」(自訂) 欄位輸入完整 dump 或 CDC 階段的連線數量上限。
按一下「儲存」或「儲存並重新啟動」。
調整目的地設定
您可以自訂目的地資料庫的交易逾時時間和並行連線數量上限:
前往 Google Cloud 控制台的「遷移工作」頁面。
- 按一下要修改的遷移工作顯示名稱。
系統會顯示遷移工作的總覽頁面。
- 展開「Customize destination configuration」(自訂目的地設定) 專區,然後修改下列設定:
- 目的地並行連線數量上限
-
預設值:
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下遷移工作的顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 選取「Tables」(資料表) 分頁標籤,即可查看工作中包含的所有資料表。您也可以使用互動式篩選器縮小清單範圍。
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 控制台的「Migration jobs」(遷移工作) 頁面。
- 在「Jobs」(工作) 分頁中,按一下遷移工作的顯示名稱。
遷移工作詳細資料頁面隨即開啟。
-
選取「Tables」(資料表) 分頁標籤,然後按一下要檢查的資料表。您也可以使用互動式篩選器縮小清單範圍。
資料表詳細資料側邊面板隨即開啟。
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