本頁面說明如何建立轉換工作區,並立即使用該工作區,將確定性程式碼和結構定義從 Oracle 轉換為 PostgreSQL。
您可以透過兩種方式建立互動式轉換工作區:
透過直接連線至資料庫:資料庫遷移服務會透過連線設定檔,直接連線至執行中的來源資料庫,並透過網路連線擷取結構定義。
使用 Cloud Storage 中的結構定義檔案:您可以使用 Google 提供的擷取指令碼,在本機擷取結構定義中繼資料,將產生的檔案上傳至 Cloud Storage bucket,並準備工作區,而不必連線至來源資料庫。
直接連線至來源資料庫
您可以建立互動式轉換工作區,並使用資料庫遷移服務直接連線至來源資料庫,執行結構定義轉換。透過這種方式建立工作區之前,請務必為來源資料庫建立連線設定檔。
直接連線方法所需的角色
如要取得建立轉換工作區所需的權限,請要求管理員授予您專案的資料庫移轉服務管理員 (roles/datamigration.admin) IAM 角色。
如要進一步瞭解如何授予角色,請參閱 Identity and Access Management 說明文件中的「管理存取權」。
這個預先定義的角色具備在資料庫遷移服務中建立轉換工作區所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
您必須具備下列權限,才能在資料庫遷移服務中建立轉換工作區:
cloudaicompanion.entitlements.getroles/datamigration.admin角色具備這項權限。如要使用 Gemini 強化轉換功能,就必須提供這項資訊。datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
使用連線設定檔建立轉換工作區
如要建立轉換工作區,讓資料庫遷移服務連線至來源資料庫,並準備來源資料庫物件的初始快照,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Conversion workspaces」(轉換工作區)。
- 按一下「設定工作區」。
- 在「Create a conversion workspace」(建立轉換工作區) 頁面中,執行下列操作:
- 輸入轉換工作區的名稱、ID 和區域。
- 在「Source database engine」(來源資料庫引擎) 下拉式選單中,選取「Oracle」。
- 在「Destination database engine」(目的地資料庫引擎) 中,選取「PostgreSQL 適用的 Cloud SQL」。
-
在「Enable Gemini settings for your workspace」(為工作區啟用 Gemini 設定) 部分,勾選核取方塊,啟用 Gemini 輔助轉換功能。您也可以日後再啟用這些功能,使用 Gemini 輔助功能轉換程式碼和結構定義。
如要使用 Gemini 輔助轉換功能,必須啟用 Gemini for Google Cloud API。詳情請參閱「採用 Gemini 的轉換功能」。
- 按一下「建立工作區並繼續」。
- 在「Define source and pull schema snapshot」(定義來源並提取結構定義快照) 頁面中,執行下列操作:
- 在「來源連線方式」部分,選取「連線設定檔」。
- 從「Source connection profile」(來源連線設定檔) 下拉式選單中,選取來源資料庫的連線設定檔。
- 按一下「提取結構定義快照並繼續」。
資料庫遷移服務正在連線至來源資料庫,並擷取結構定義。 這項程序應該會在幾分鐘內完成。
- 在「Select and convert objects」(選取及轉換物件) 頁面中,使用核取方塊選取要轉換為 PostgreSQL 語法的物件。
您不必一次轉換所有物件,可以先選取幾個物件,之後再將更多物件加入轉換。
- 按一下「轉換並繼續」。
轉換工作區隨即開啟。
- 首次開啟新的工作區時,您可以升級工作區,使用 Gemini 輔助的自動轉換功能。請執行下列操作:
- 在「Introducing Gemini auto-conversion」(Gemini 自動轉換功能簡介) 對話方塊中,勾選「Upgrade workspace to explore the new experience」(將工作區升級,探索新服務) 核取方塊,然後按一下「Continue」(繼續)。
- 在「Convert source objects with Gemini?」(要透過 Gemini 轉換來源物件嗎?) 對話方塊中,按一下「Convert」(轉換)。
資料庫遷移服務現在會再次執行轉換程序,在確定性轉換結果的基礎上,套用 Gemini 輔助轉換強化功能。如要進一步瞭解 Gemini 自動轉換功能,請參閱「Gemini 自動轉換」。
使用儲存在 Cloud Storage 中的結構定義檔案
您可以使用 Google 提供的擷取指令碼,在本機擷取結構定義中繼資料,將產生的檔案上傳至 Cloud Storage bucket,並在不連線至來源資料庫的情況下準備工作區。
使用 Cloud Storage 結構定義檔案的必要角色
如要取得所需權限,使用儲存在 Cloud Storage 的結構定義檔案建立轉換工作區,請要求管理員為參與遷移程序的下列帳戶,授予專案的必要 IAM 角色:
- 建立轉換工作區的使用者帳戶:資料庫遷移管理員 (
roles/datamigration.admin) - 資料庫遷移服務服務帳戶:
Storage 物件檢視者 (
roles/storage.objectViewer) 角色,用於儲存結構定義檔案的 Cloud Storage bucket。資料庫遷移服務服務帳戶的電子郵件地址採用下列格式:
service-PROJECT_NUMBER@gcp-sa-datamigration.。將 PROJECT_NUMBER 替換為 Google Cloud 專案編號。如要進一步瞭解這個服務帳戶,請參閱「資料庫遷移服務服務帳戶」。
如要進一步瞭解如何授予角色,請參閱 Identity and Access Management 說明文件中的「管理存取權」。
roles/datamigration.admin 預先定義的角色具備在資料庫遷移服務中建立轉換工作區所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
您必須具備下列權限,才能在資料庫遷移服務中建立轉換工作區:
cloudaicompanion.entitlements.getroles/datamigration.admin角色具備這項權限。如要使用 Gemini 強化轉換功能,就必須提供這項資訊。datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
使用結構定義檔案建立轉換工作區
如要使用結構定義檔案建立轉換工作區,請按照下列步驟操作。
- 從 Google Cloud 控制台擷取 Python 指令碼。請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Conversion workspaces」(轉換工作區)。
- 按一下「設定工作區」。
- 在「Create a conversion workspace」(建立轉換工作區) 頁面中:
- 輸入工作區名稱、ID 和區域。
- 從「Source database engine」(來源資料庫引擎) 下拉式選單中,選取「Oracle」。
- 在「目的地資料庫引擎」下拉式選單中,選取「PostgreSQL 適用的 Cloud SQL」。
-
在「為工作區啟用 Gemini 設定」部分,勾選核取方塊來啟用 Gemini 輔助轉換功能,然後按一下「繼續」。
您也可以稍後再啟用這些功能,使用 Gemini 輔助功能轉換程式碼和結構定義。如要使用 Gemini 輔助轉換功能,必須啟用 Gemini for Google Cloud API。詳情請參閱「採用 Gemini 的轉換功能」。
- 在「Define source and pull schema snapshot」(定義來源並提取結構定義快照) 頁面的「Source connection method」(來源連線方法) 部分,選取「Cloud Storage」。
- 在「Before selecting a folder」(選取資料夾之前) 區段中,按一下「Oracle metadata extractor」(Oracle 中繼資料擷取器) 標題旁的「Open」(開啟)。按照側邊面板中的操作說明,下載並執行擷取公用程式,對來源資料庫產生結構定義中繼資料 JSON 檔案。這項公用程式需要您能與來源資料庫建立網路連線。
- 建立專用的 Cloud Storage bucket,並將結構定義中繼資料 JSON 檔案上傳到該 bucket。如要進一步瞭解如何建立 Cloud Storage bucket,請參閱 Cloud Storage 說明文件中的「建立 bucket」。
- 在專用 Cloud Storage bucket 中,建立空白的專用資料夾,用於存放先前步驟匯出的資料庫結構定義檔案。如要進一步瞭解如何建立 Cloud Storage 資料夾,請參閱 Cloud Storage 說明文件中的「建立及管理資料夾」。
- 在先前步驟中,您從 Google Cloud 控制台擷取 Python 指令碼,並用來建立中繼資料 JSON 結構定義檔案。請只將這些檔案上傳至 Cloud Storage bucket 中專用的空白資料庫資料夾。
- 請繼續在 Google Cloud 控制台中建立工作區,或使用 Google Cloud CLI 建立新的工作區。
控制台
- 將擷取的結構定義中繼資料檔案上傳至 Cloud Storage bucket 後,請繼續前往「Define source and pull schema snapshot」(定義來源並提取結構定義快照) 頁面。
- 在「Folder」(資料夾) 欄位中,按一下「Browse」(瀏覽),然後選取包含結構定義檔案的資料夾。
- 按一下「提取結構定義快照並繼續」。
資料庫遷移服務現在會剖析 bucket 中的結構定義中繼資料。
- 在「Select and convert objects」(選取並轉換物件) 頁面中,選取要轉換的物件,然後按一下「Convert and continue」(轉換並繼續)。
gcloud
將擷取的結構定義中繼資料檔案上傳至 Cloud Storage bucket 後,您可以使用 Google Cloud CLI 建立及初始化新的工作區。請按照下列步驟操作:
-
建立空白的轉換工作區。
執行下列指令 (點選即可展開):gcloud database-migration conversion-workspaces creategcloud database-migration conversion-workspaces create WORKSPACE_ID \ --region=REGION \ --source-database-engine=ORACLE \ --destination-database-engine=POSTGRESQL
更改下列內容:
- WORKSPACE_ID:轉換工作區的 ID。
- REGION:要建立工作區的區域。
-
使用 Cloud Storage 中的結構定義檔案初始化工作區。
如要剖析儲存在 bucket 中的結構定義中繼資料檔案,並載入轉換工作區,請執行下列指令 (點選即可展開):gcloud database-migration conversion-workspaces seedgcloud database-migration conversion-workspaces seed WORKSPACE_ID \ --region=REGION \ --gcs-path=gs://BUCKET_NAME/PREFIX/
更改下列內容:
- WORKSPACE_ID:轉換工作區的 ID。
- REGION:要建立工作區的區域。
- BUCKET_NAME::含有結構定義檔案的 Cloud Storage bucket 名稱。
- PREFIX::資料夾路徑,其中包含擷取的結構定義中繼資料檔案。
後續步驟
您現在可以使用轉換工作區修正轉換問題、透過互動式編輯器修改物件,以及將轉換後的結構定義套用至目的地資料庫。請參閱「將 Oracle 程式碼和結構定義轉換為 PostgreSQL 語法」。