跳至內容

當我使用 Oracle 作為來源端點時,AWS DMS 需要哪些權限?

3 分的閱讀內容
0

我有使用 Oracle 作為來源端點的 AWS Database Migration Service (AWS DMS) 任務。我想知道 AWS DMS 所需的最低權限是什麼。

解決方法

不同類型的 DMS 任務設定和不同類型的遷移所需的權限有所不同。

AWS 管理的 Oracle 來源資料庫

如需進一步了解 AWS 管理的 Oracle 資料庫權限,請參閱User account privileges required on a self-managed Oracle source for AWS DMS (AWS DMS 自我管理 Oracle 來源所需的使用者帳戶權限)。

自我管理的 Oracle 來源資料庫

針對自我管理的 Oracle 資料庫,您必須向 DMS 使用者授予下列權限:

GRANT CREATE SESSION TO dms_user;
GRANT SELECT ANY TRANSACTION TO dms_user;
GRANT SELECT ON V_$ARCHIVED_LOG TO dms_user;
GRANT SELECT ON V_$LOG TO dms_user;
GRANT SELECT ON V_$LOGFILE TO dms_user;
GRANT SELECT ON V_$LOGMNR_LOGS TO dms_user;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO dms_user;
GRANT SELECT ON V_$DATABASE TO dms_user;
GRANT SELECT ON V_$THREAD TO dms_user;
GRANT SELECT ON V_$PARAMETER TO dms_user;
GRANT SELECT ON V_$NLS_PARAMETERS TO dms_user;
GRANT SELECT ON V_$TIMEZONE_NAMES TO dms_user;
GRANT SELECT ON V_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$CONTAINERS TO dms_user;                   
GRANT SELECT ON ALL_INDEXES TO dms_user;
GRANT SELECT ON ALL_OBJECTS TO dms_user;
GRANT SELECT ON ALL_TABLES TO dms_user;
GRANT SELECT ON ALL_USERS TO dms_user;
GRANT SELECT ON ALL_CATALOG TO dms_user;
GRANT SELECT ON ALL_CONSTRAINTS TO dms_user;
GRANT SELECT ON ALL_CONS_COLUMNS TO dms_user;
GRANT SELECT ON ALL_TAB_COLS TO dms_user;
GRANT SELECT ON ALL_IND_COLUMNS TO dms_user;
GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO dms_user;
GRANT SELECT ON ALL_LOG_GROUPS TO dms_user;
GRANT SELECT ON ALL_TAB_PARTITIONS TO dms_user;
GRANT SELECT ON SYS.DBA_REGISTRY TO dms_user;
GRANT SELECT ON SYS.OBJ$ TO dms_user;
GRANT SELECT ON DBA_TABLESPACES TO dms_user;
GRANT SELECT ON DBA_OBJECTS TO dms_user;
GRANT SELECT ON SYS.ENC$ TO dms_user;
GRANT SELECT ON GV_$TRANSACTION TO dms_user;
GRANT SELECT ON V_$DATAGUARD_STATS TO dms_user;
GRANT SELECT ON V_$DATABASE_INCARNATION TO dms_user;

注意:

  • 只有當 Oracle 版本低於 11.2.0.3 時,才授予 SELECT ON DBA_OBJECTS 權限。
  • 如果您啟用了透明資料加密 (TDE),則授予 SELECT ON SYS.ENC$ 權限。
  • 只有當來源資料庫是 Oracle RAC,且 AWS DMS 版本為 3.4.6 或更新版本時,才授予 SELECT ON GV_$TRANSACTION 權限。
  • 只有在您在最新版本的 DMS 版本 3.4.6、3.4.7 或更新版本中,使用 Oracle Active Data Guard 備用資料庫作為來源資料庫時,才會授予 SELECT ON V_$DTATGUARD_STATS 權限。

**注意:**DMS 支援 Oracle Data Guard 備用資料庫作為來源。啟動 Data Guard 後,您能以唯讀模式開啟備用資料庫。授予權限後,執行幾次日誌切換以將權限複寫到備用資料庫。如需更多資訊,請參閱 Oracle 網站上的 Forcing log switches (強制日誌切換)。

若要顯示檢視,請授予下列權限:

GRANT SELECT on ALL_VIEWS to dms_user;

若要公開檢視,您還必須將 exposeViews=true 連線屬性新增至來源端點。

您可以在複寫任務中使用與資料表名稱相符的模式。您也可以允許來源資料庫使用者從不同的模式讀取資料表。無論哪項任務,都請新增下列權限:

GRANT SELECT ANY TABLE to dms_user;

若要在複寫任務中指定資料表清單,請授予下列權限:

GRANT SELECT on schema.table;

若要從 Oracle Real Application Clusters (RAC) 遷移,您必須對具有 gv_$ 和 v_$ 首碼的具體化視觀表授予 SELECT 權限。

若要啟用大型二進位物件 (LOB) 的 DMS 驗證,請授予下列權限:

GRANT execute on sys.dbms_crypto to dms_user;

如果您使用 addSupplementalLogging 連線屬性,則授予下列權限:

GRANT ALTER ANY TABLE to dms_user

具有持續複寫任務的 Oracle 來源資料庫

若要在複寫期間讀取重做日誌,Oracle 提供了 Oracle LogMiner 和 Oracle Binary Reader。

若要使用 LogMiner,請授予下列權限:

GRANT EXECUTE ON dbms_logmnr TO dms_user;

對於 Oracle Database 12c 及更新版本,請授予下列權限:

GRANT LOGMINING TO dms_user;

Binary Reader 會使用 Oracle 目錄來讀取重做和封存日誌。您必須授予 DMS 存取權,才能在來源資料庫上建立 Oracle 目錄:

GRANT CREATE ANY DIRECTORY to dms_user;

若要使用 DMS 建立 Oracle 目錄,您必須授予 CREATE ANY DIRECTORY 權限。DMS 會使用 DMS_ 首碼建立目錄名稱。如果您未授予 CREATE ANY DIRECTORY 權限,則必須手動建立目錄。手動建立 Oracle 目錄時,您在端點上指定的 Oracle 使用者不一定是建立目錄的使用者。在這種情況下,您必須授予下列 READ on DIRECTORY 權限:

GRANT READ ON DIRECTORY RedoLog_directory_name to dms_user;
GRANT READ ON DIRECTORY ArchiveLog_directory_name to dms_user;

若要確認您是否建立了目錄,請查詢 ALL_DIRECTORIES 資料表。

若要使用二進位讀取器存取自動儲存管理 (ASM) 中的重做日誌,請向 Oracle 端點使用者授予下列其中一個權限。

如果您將重做日誌儲存在 ASM 中,且 AWS DMS 從 ASM 存取日誌,則授予下列權限:

GRANT SELECT ON v_$transportable_platform  to dms_user;

若要使用 Oracle 11g Release 2 版本 11.2.0.2 或更新版本存取 ASM 帳戶,請授予 SYSASM 權限:

GRANT SYSASM to ASM_USER;

**注意:**對於受支援的較早 Oracle 版本,您可以授予 SYSDBA 權限。

當 Oracle 來源使用 ASM 時,您可以使用 Binary Reader 中的高效能選項來大規模處理交易。這些選項包括額外的連線屬性,用於指定平行執行緒 (parallelASMReadThreads) 的數量和預讀緩衝區 (readAheadBlocks) 的數量。請同時設定這些屬性,以提升 CDC 任務的效能。

若要擔任 ASM 使用者,請修改您的 Oracle 來源端點,將 DMS 使用者和 ASM 使用者加入,並以逗號分隔。

來源端點格式範例:

使用者名稱:oracle_user,asm_user
密碼:oracle_user_password,asm_user_password

相關資訊

Using an Oracle database as a source for AWS DMS (使用 Oracle 資料庫作為 AWS DMS 的來源)

Using a self-managed Oracle Standby as a source with Binary Reader for CDC in AWS DMS (使用自我管理 Oracle 待命資料庫作為 AWS DMS 中 CDC 的 Binary Reader 的來源)