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

3 分的閱讀內容
0

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

簡短描述

AWS DMS 需要從來源資料庫讀取資料的權限,才可將資料移轉至目標。視您的 AWS DMS 任務設定和正在執行的移轉類型而定,所需權限可能會不同。

解決方法

AWS 管理的 Oracle 來源資料庫

對於 Amazon 管理的 Oracle 資料庫,請參閱使用 AWS 管理的 Oracle 資料庫作為 AWS DMS 來源。這包括 Oracle 資料庫,例如 Amazon Relational Database Service (Amazon RDS)。

自我管理的 Oracle 來源資料庫

對於自我管理的 Oracle 資料庫,需要下列權限:

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 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_LOG_GROUPS 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 ALL_TAB_PARTITIONS to <dms_user>;
GRANT SELECT on ALL_ENCRYPTED_COLUMNS to <dms_user>;
GRANT SELECT ANY TRANSACTION 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_$LOG to <dms_user>;
GRANT SELECT on V_$ARCHIVED_LOG to <dms_user>;
GRANT SELECT on V_$LOGFILE to <dms_user>;
GRANT SELECT on V_$TRANSACTION to <dms_user>;

若要顯示檢視,需要下列權限:

GRANT SELECT on ALL\_VIEWS to <dms\_user>;

**注意:**若要公開檢視,您還必須將這些額外的連線屬性新增至來源端點:

exposeViews=true

您可以使用與複寫工作中的表格名稱相符的模式。您也可以允許來源資料庫使用者從不同的架構讀取表格。若要執行任一工作,請新增下列權限:

GRANT SELECT ANY TABLE to <dms\_user>;

若要指定複寫工作中的資料表清單,需要下列權限:

GRANT SELECT on <schema>.<table > ;

**注意:**請為資料表清單中的所有資料表新增上述權限。若要從 Oracle RAC 移轉,您必須對字首為 gv_$v_$ 的具體化視觀表授予 SELECT 權限。

若要對大型物件 (LOB) 開啟 AWS 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 12c 及更高版本,需要下列權限:

GRANT LOGMINING TO <dms\_user>;

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

GRANT CREATE ANY DIRECTORY to <dms\_user>;

若要使用 AWS DMS 建立 Oracle 目錄,您必須授予 CREATE ANY DIRECTORY 權限。AWS 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 表格。若要使用 Binary Reader 存取自動儲存管理 (ASM) 中的重做日誌,請將下列權限授予端點上的 Oracle 使用者:

GRANT SELECT ON v_$transportable_platform  to <dms_user>; - Grant this privilege if the redo logs are stored in Oracle Automatic Storage Management (ASM) and AWS DMS accesses them from ASM.
GRANT SYSASM to <ASM_USER>; - To access the ASM account with Oracle 11g Release 2 (version 11.2.0.2) and higher, grant the Oracle endpoint user the SYSASM privilege. For older supported Oracle versions, it's typically sufficient to grant the Oracle endpoint user the SYSDBA privilege.

Where the Oracle source uses ASM, you can work with high-performance options in Binary Reader for transaction processing at scale. These options include extra connection attributes to specify the number of parallel threads (parallelASMReadThreads) and the number of read-ahead buffers (readAheadBlocks). Setting these attributes together can significantly improve the performance of the CDC task. The following settings provide good results for most ASM configurations.

**注意:**AWS DMS 支援 Oracle Active Data Guard Standby 作為來源。在「作用中資料保護」模式中,您可以用唯讀模式開啟待命資料庫。授予先前在主執行個體上提到的權限之後,執行數個日誌切換,將權限複製到待命資料庫。如需詳細資訊,請參閱 Oracle 網站上的強制日誌切換

相關資訊

使用 Oracle 資料庫作為 AWS DMS 的來源

使用自我管理 Oracle 待命資料庫作為 AWS DMS 中 CDC 的 Binary Reader 的來源

AWS 官方
AWS 官方已更新 7 個月前