設定 Oracle 來源資料庫,進行一次性遷移

本頁說明如何設定 Oracle 來源資料庫,以便使用資料庫移轉服務進行一次性移轉。如要使用資料庫移轉服務從來源 Oracle 資料庫提取資料,您必須授予適當權限給用來連線至資料庫,以及存取結構定義和程式碼物件的使用者帳戶。

根據預設,資料庫移轉服務會嘗試透過 DBA_VIEWS 存取所有物件定義。系統會授予 SELECT ANY DICTIONARY 權限,讓您存取 DBA_VIEWS。 如果遷移使用者帳戶無法存取 DBA 檢視畫面,資料庫遷移服務會改用 ALL_VIEWS。這種做法可讓您在定義最符合需求的安全性模型時,享有最大的彈性。

如需確切的設定步驟,請參閱來源資料庫的相關章節:

設定 Amazon RDS for Oracle 資料庫

如要設定 Amazon RDS 來源資料庫進行一次性遷移,請授予資料庫遷移服務將使用的使用者帳戶適當權限

請將每項指令中的 USER_NAME 替換為用於遷移作業的使用者帳戶名稱。執行這些指令會授予從 V$DATABASE 讀取資料的權限,這是驗證程序所需權限。

GRANT CONNECT TO USER_NAME;
GRANT CREATE SESSION TO USER_NAME;
GRANT SELECT ANY TABLE TO USER_NAME;
GRANT SELECT ANY DICTIONARY TO USER_NAME;
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','USER_NAME','SELECT');

設定 Oracle 資料庫

如要設定 Oracle 來源資料庫進行一次性移轉,請授予資料庫移轉服務將使用的使用者帳戶適當權限

請將每項指令中的 USER_NAME 替換為用於遷移作業的使用者帳戶名稱。執行這些指令會授予從 V$DATABASE 讀取資料的權限,這是驗證程序所需權限。

GRANT CONNECT TO USER_NAME;
GRANT CREATE SESSION TO USER_NAME;
GRANT SELECT ANY TABLE TO USER_NAME;
GRANT SELECT ANY DICTIONARY TO USER_NAME;
GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;

設定 Oracle 可插式資料庫 (PDB)

資料庫移轉服務支援 Oracle 多租戶架構,其中單一 容器資料庫 (CDB) 包含一或多個可插式資料庫 (PDB)。每個可插入式資料庫都是獨立的資料庫,具有專屬 ID 和名稱,且可獨立管理。

如要設定 Oracle 可插式資料庫,以便搭配資料庫移轉服務使用,請按照下列步驟操作:

  1. 建立 一般使用者

    一般使用者在 CDB$ROOT 容器和可插拔資料庫中具有相同身分。一般使用者可以連線至根目錄,並在根目錄和任何具有權限的可插入式資料庫中執行作業。通用使用者名稱開頭必須是 C##c##

  2. 授予適當權限給用來連結資料庫的通用使用者。您需要在 CDB$ROOT 容器和可插入資料庫層級擁有不同權限。

    請將每個指令中的 USER_NAME 替換為用於遷移作業的使用者帳戶名稱。執行這些指令會授予從 V$DATABASE 讀取資料的權限,這是驗證作業的必要條件。

    • 連線至 CDB$ROOT 容器並執行下列指令:
      GRANT CREATE SESSION TO USER_NAME;
      GRANT SET CONTAINER TO USER_NAME;
      GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
      GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
    • 連線至可插式資料庫,然後執行下列指令:
      GRANT CREATE SESSION TO USER_NAME;
      GRANT SET CONTAINER TO USER_NAME;
      GRANT SELECT ANY TABLE TO USER_NAME;
      GRANT SELECT ANY DICTIONARY TO USER_NAME;
      GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;