Oracle을 소스 엔드포인트로 사용할 경우, AWS DMS에 필요한 권한은 무엇인가요?

5분 분량
0

Oracle을 소스 엔드포인트로 사용하는 AWS Database Migration Service(AWS DMS) 작업이 있습니다. AWS DMS에 필요한 최소 권한이 무엇인지 알고 싶습니다.

간략한 설명

AWS DMS에는 데이터를 대상으로 마이그레이션하기 위해 원본 데이터베이스에서 데이터를 읽을 수 있는 권한이 필요합니다. AWS DMS 작업 설정과 수행하는 마이그레이션 유형에 따라 필요한 권한이 달라질 수 있습니다.

해결 방법

AWS에서 관리하는 Oracle 소스 데이터베이스

Amazon에서 관리하는 Oracle 데이터베이스의 경우 AWS 관리형 Oracle 데이터베이스를 AWS DMS의 소스로 사용을 참조하세요. 여기에는 Amazon Relational Database Service(RDS)와 같은 Oracle 데이터베이스가 포함됩니다.

자체 관리형 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은 복제 진행 중에 redo 로그를 읽을 수 있는 두 가지 방법을 제공합니다. Oracle LogMiner 및 Oracle Binary Reader. 사용하는 방법에 따라 앞서 언급한 필수 권한을 부여한 후 원본 사용자에게 추가 권한을 부여해야 합니다.

LogMiner를 사용하려면 다음과 같은 권한이 필요합니다.

GRANT EXECUTE ON dbms\_logmnr TO <dms\_user>;

Oracle 12c 이상의 경우 다음과 같은 권한이 필요합니다.

GRANT LOGMINING TO <dms\_user>;

Binary Reader는 Oracle 디렉터리를 사용하여 redo 및 archive 로그를 읽습니다. 원본 데이터베이스에 Oracle 디렉터리를 생성하려면 AWS DMS에 액세스 권한을 부여해야 합니다.

GRANT CREATE ANY DIRECTORY to <dms\_user>;

AWS DMS를 사용하여 Oracle 디렉터리를 생성하려면 모든 디렉터리 생성 권한을 부여해야 합니다. AWS DMS는 DMS_ 접두사를 사용하여 디렉터리 이름을 생성합니다. 모든 디렉터리 생성 권한을 부여하지 않는 경우, 디렉터리를 수동으로 생성해야 합니다. Oracle 디렉터리를 수동으로 생성하는 경우 엔드포인트에서 지정하는 Oracle 사용자가 항상 디렉터리를 만든 사용자가 아닐 수도 있습니다. 이러한 경우 디렉터리에서 읽기 권한을 부여해야 합니다.

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

디렉터리가 생성되었는지 확인하려면 ALL_DIRECTORIES 테이블을 쿼리합니다. Binary Reader를 사용하여 Automatic Storage Management(ASM)에서 redo 로그에 액세스하려면 엔드포인트의 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를 소스로 지원합니다. Active Data Guard 모드에서는 대기 데이터베이스를 읽기 전용 모드로 열 수 있습니다. 기본 인스턴스에 앞서 언급한 권한을 부여한 후 여러 로그 전환을 수행하여 권한을 대기 데이터베이스에 복제합니다. 자세한 내용을 보려면 Oracle 웹 사이트에서 로그 전환 강제 실행을 참조하세요.

관련 정보

Oracle 데이터베이스를 AWS DMS의 소스로 사용하기

AWS DMS에서 CDC용 Binary Reader로 자체 관리형 Oracle Standby를 소스로 사용하기

AWS 공식
AWS 공식업데이트됨 6달 전