如要將異質 Oracle 資料庫遷移至 Cloud SQL,資料庫移轉服務會要求您先建立並設定 Cloud SQL 目的地執行個體。請執行下列步驟:
- 建立目的地執行個體。請務必設定足夠的運算和記憶體資源,以滿足遷移需求,並遵循
已知限制中列出的規定。
建議您在建立目的地執行個體時,使用您要使用的 目的地網路方法的特定設定:
如要使用 具體做法 公開 IP 目的地連線, 建立啟用公開 IP 的目的地執行個體。請參閱 PostgreSQL 適用的 Cloud SQL 說明文件中的「 建立 Cloud SQL 執行個體」一文。 私人 IP 目的地連線, 判斷是否可以使用支援 PSC 的 Cloud SQL 執行個體做為遷移目的地。請仔細考量啟用 PSC 的執行個體的功能限制。請參閱 Cloud SQL 說明文件中的「 Private Service Connect 限制」。
- 如果您可以使用啟用 PSC 的 Cloud SQL 執行個體,請建立目的地執行個體,並啟用私人 IP 和 Private Service Connect。請參閱 PostgreSQL 適用的 Cloud SQL 說明文件中的「 建立支援 PSC 的 Cloud SQL 執行個體」一文。
- 如果無法使用啟用 PSC 的 Cloud SQL 執行個體,請建立啟用私人 IP 的目的地執行個體。請參閱 PostgreSQL 適用的 Cloud SQL 說明文件中的 建立已啟用私人 IP 的 Cloud SQL 執行個體。
- 在目的地執行個體中建立下列實體:
- 要遷移資料的資料庫。
-
專用的遷移使用者帳戶。
這個使用者帳戶的名稱必須與目的地資料庫相同。舉例來說,如果您使用資料庫移轉服務將資料遷移至名為
myapp
的資料庫,專用遷移使用者的名稱也應為myapp
。
- 將必要權限授予專用的遷移使用者帳戶。請執行下列步驟:
- 使用 SQL 用戶端連線至 Cloud SQL 執行個體。您可以使用下列方法:
-
psql
用戶端。您可以使用這個方法連線至執行個體私人 IP,但可能需要建立 Compute Engine 虛擬機器。 -
gcloud sql connect
指令。這項指令僅適用於已啟用公開 IP 位址的 Cloud SQL 執行個體。
-
- 在目的地執行個體上執行下列指令:
GRANT CREATE ON DATABASE DESTINATION_DB_NAME TO "MIGRATION_USER_ACCOUNT_NAME"; GRANT CREATE ON SCHEMA SCHEMA_NAME TO "MIGRATION_USER_ACCOUNT_NAME"; GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA SCHEMA_NAME TO "MIGRATION_USER_ACCOUNT_NAME";
-
選用:為了測試轉換的結構定義,請授予遷移使用者
CREATEDB
權限。在遷移作業後期, 轉換來源結構定義後,您可以使用資料庫移轉服務來測試轉換後的結構定義是否可套用至 PostgreSQL 資料庫。為執行這項測試,資料庫移轉服務會建立臨時資料庫,以免影響目的地資料庫。如果您想 測試已轉換的結構定義,請授予遷移使用者
CREATEDB
權限。使用下列指令:ALTER USER "MIGRATION_USER_ACCOUNT_NAME" WITH CREATEDB;
- 如果來源資料庫含有外鍵或觸發條件:請使用專屬遷移使用者帳戶的
REPLICATION
選項,略過外鍵和觸發條件的複製作業。執行下列指令:ALTER USER "MIGRATION_USER_ACCOUNT_NAME" WITH REPLICATION;
如要進一步瞭解資料庫移轉服務如何遷移外鍵和觸發事件,請參閱「 外鍵和觸發事件的考量事項」。
- 使用 SQL 用戶端連線至 Cloud SQL 執行個體。您可以使用下列方法:
後續步驟
瞭解目的地資料庫網路連線。請參閱 目的地資料庫網路連線方法。
瞭解遷移工作。請參閱「 建立遷移工作」一節
如需完整的逐步遷移操作說明,請參閱 Oracle 到 PostgreSQL 適用的 Cloud SQL 遷移指南。