View a markdown version of this page

Oracle 到 MySQL 的轉換設定 - AWS 資料庫遷移服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Oracle 到 MySQL 的轉換設定

當來源為 Oracle 且目標為 Amazon RDS for MySQL 或 Amazon Aurora MySQL 時,會套用下列設定。您可以使用 AWS 管理主控台 或 ModifyConversionConfiguration API 操作來設定這些設定。

本主題涵蓋 Oracle 至 MySQL 轉換路徑的特定設定。除了這些設定之外,DMS 結構描述轉換還提供適用於所有來源和目標對的設定,例如轉換後 SQL 中動作項目註解的嚴重性等級,以及使用生成式 AI 轉換的選項。如需這些設定,請參閱 常見的轉換設定

當您使用 API 或 AWS CLI 時,請在區段名稱 下指定轉換路徑設定ORACLE_TO_MYSQL。若要確認您的專案使用的區段名稱,請先呼叫 DescribeConversionConfiguration,並僅更新回應中存在的區段。

每個設定都會在括號中顯示 API 和 AWS CLI 參數名稱後面的 AWS 管理主控台 標籤。使用 API 或 CLI AWS 設定設定時,請使用 參數名稱。

產生資料列 ID (GenerateRowId)

您的來源 Oracle 資料庫可以使用 ROWID 虛擬資料欄。MySQL 不支援類似的功能。此設定指定 DMS 結構描述轉換是否模擬轉換程式碼中的ROWID虛擬資料欄。

主控台標籤 API/CLI 值 Behavior (行為)
不產生 false DMS ROWID 結構描述轉換不會模擬虛擬資料欄,並將參考保留為動作項目。當您的來源 Oracle 程式碼不使用 時,請使用此選項ROWID。轉換後的程式碼執行速度更快。
使用 bigint 資料類型模擬 ROWID 虛擬資料欄 true DMS ROWID 結構描述轉換會使用 bigint資料類型模擬轉換程式碼中的虛擬資料欄。

類型:布林值 (true | false)

預設false

注意

對於 Oracle 到 MySQL ROWID 轉換路徑, GenerateRowId 是布林值 (true | false),並僅使用 bigint資料類型模擬虛擬資料欄。對於 Oracle 到 PostgreSQL 轉換路徑,相同的設定是字串列舉,也提供模擬選項 character varying (GENERATE_AS_CHARACTER_DOMAIN_TYPE)。如需詳細資訊,請參閱Oracle 到 PostgreSQL 轉換設定

函數轉換設定

根據預設,DMS 結構描述轉換會在轉換後的程式碼中模擬 Oracle 轉換函數,讓結果符合 Oracle 行為。如果您的原始程式碼不依賴 Oracle 特定的格式,您可以改為將這些函數轉換為原生 MySQL 對等項目。原生函數執行速度更快,因此true只有在您確認用量與 MySQL 相容後,才能將這些選項設定為 。

使用原生 MySQL TO_CHAR 函數 (ToCharFunctionOracle)

指定 DMS 結構描述轉換是否將 Oracle TO_CHAR函數呼叫轉換為原生 MySQL 函數,而不是模擬 Oracle 特定的格式。

  • false — DMS 結構描述轉換模擬轉換程式碼TO_CHAR中 Oracle 特定的格式。

  • true — 呼叫會轉換為原生 MySQL TO_CHAR函數。當您的原始程式碼不使用 Oracle 特定的格式字串時,請使用此選項。

類型:布林值 (true | false)

預設false

使用原生 MySQL TO_DATE 函數 (ToDateFunctionOracle)

指定 DMS 結構描述轉換是否將 Oracle TO_DATE函數呼叫轉換為原生 MySQL 函數,而不是模擬 Oracle 特定的格式。

  • false — DMS 結構描述轉換模擬轉換程式碼TO_DATE中 Oracle 特定的格式。

  • true — 呼叫會轉換為原生 MySQL TO_DATE函數。當您的原始程式碼不使用 Oracle 特定的格式字串時,請使用此選項。

類型:布林值 (true | false)

預設false

使用原生 MySQL TO_NUMBER 函數 (ToNumber)

指定 DMS 結構描述轉換是否將 Oracle TO_NUMBER函數呼叫轉換為原生 MySQL 函數,而不是模擬 Oracle 特定的格式。

  • false — DMS 結構描述轉換模擬轉換程式碼TO_NUMBER中 Oracle 特定的格式。

  • true — 呼叫會轉換為原生 MySQL TO_NUMBER函數。當您的原始程式碼不使用 Oracle 特定的格式字串時,請使用此選項。

類型:布林值 (true | false)

預設false

改善轉換後程式碼的效能,其中資料庫和應用程式使用相同的時區 (ToTimeZone)

指定 DMS 結構描述轉換是否模擬轉換程式碼中的時區。

  • true — DMS 結構描述轉換不會模擬時區。當您的資料庫和應用程式使用相同的時區時,請使用此選項。轉換後的程式碼執行速度更快。

  • false — DMS 結構描述轉換模擬轉換程式碼中的時區。

類型:布林值 (true | false)

預設false

範例:將 Oracle 設定為 MySQL 設定

下列範例會將 Oracle 轉換函數轉換為 ORACLE_TO_MYSQL區段的原生 MySQL 對等項目。

{ "ORACLE_TO_MYSQL": { "ToCharFunctionOracle": true, "ToDateFunctionOracle": true, "ToNumber": true } }