本頁面說明如何建立轉換工作區,並立即使用該工作區,將程式碼和結構定義從 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 和區域。
- 在「來源資料庫引擎」下拉式選單中,選取「Oracle」。
- 在「目的地資料庫引擎」下拉式選單中,選取「PostgreSQL 適用的 Cloud SQL」。
-
在「為工作區啟用 Gemini 設定」部分,勾選核取方塊來啟用 Gemini 輔助轉換功能,然後按一下「繼續」。
您也可以日後再啟用這些功能, 使用 Gemini 輔助功能轉換程式碼和結構定義。如要使用 Gemini 輔助轉換功能,必須啟用 Gemini for Google Cloud API。詳情請參閱「 採用 Gemini 的轉換功能」。
- 在「定義來源並提取結構定義快照」頁面的「來源連線方法」部分,選取「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:資料夾路徑,其中包含擷取的結構定義中繼資料檔案。
舊版轉換工作區
舊版轉換工作區是較舊且功能較有限的轉換工作區類型。不建議使用舊版轉換工作區進行遷移。如需使用舊版轉換工作區,請展開「Create a legacy conversion workspace and convert schema」(建立舊版轉換工作區並轉換結構定義) 專區,瞭解詳情。
建立舊版轉換工作區並轉換結構定義
舊版轉換工作區使用 Ora2Pg 設定檔。 建立舊版轉換工作區前,請務必先在資料庫遷移服務以外的地方建立 Ora2Pg 設定。詳情請參閱「 使用舊版轉換工作區」。
- 前往 Google Cloud 控制台的「Conversion workspaces」(轉換工作區)。
- 按一下「設定工作區」。
- 在「Create a conversion workspace」(建立轉換工作區) 頁面中,執行下列操作:
- 輸入轉換工作區的名稱、ID 和區域。
- 在「Source database engine」(來源資料庫引擎) 下拉式選單中,選取「Oracle」。
- 在「Destination database engine」(目的地資料庫引擎) 中,選取「PostgreSQL 適用的 Cloud SQL」。
- 展開「自訂工作區設定」部分,然後勾選「啟用舊版轉換工作區」核取方塊。
- 按一下「建立工作區並繼續」。
- 在「Connect to source and convert objects」(連線至來源並轉換物件) 頁面中,執行下列操作:
- 在「Source connection profile」(來源連線設定檔) 下拉式選單中,選取來源資料庫的連線設定檔。
-
在「設定檔」方塊中,按一下「瀏覽」,然後使用系統檔案選擇器選取轉換對應檔案。
按一下「新增檔案」,即可上傳多個轉換對應檔案。
-
在「Convert the configuration」(轉換設定) 部分,按一下「Pull schema and convert」(提取結構定義並轉換)。
資料庫遷移服務正在連線至來源資料庫、擷取結構定義,並根據轉換對應檔中定義的規則,將結構定義轉換為目的地 SQL 結構定義。這項程序應該會在幾分鐘內完成。
- 按一下「儲存並關閉」。
轉換工作區詳細資料頁面隨即開啟。
現在可以將轉換後的結構定義套用至目的地資料庫。如果來源資料庫包含沒有主鍵的資料表,您也必須在套用轉換後的結構定義後,在目的地資料庫的轉換資料表中手動建立主鍵限制。詳情請參閱「 使用舊版轉換工作區」。
後續步驟
您現在可以使用轉換工作區修正轉換問題、透過互動式編輯器修改物件,以及將轉換後的結構定義套用至目的地資料庫。請參閱「 將 Oracle 程式碼和結構定義轉換為 PostgreSQL 語法」。