내용으로 건너뛰기

Oracle을 소스 엔드포인트로 사용할 때 AWS DMS에 필요한 권한은 무엇입니까?

5분 분량
0

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

해결 방법

필요한 권한은 DMS 작업 설정의 유형과 마이그레이션 유형에 따라 다릅니다.

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

AWS에서 관리하는 Oracle 데이터베이스의 권한에 대한 자세한 내용은 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$**를 부여하십시오.
  • 소스 데이터베이스가 AWS DMS 버전 3.4.6 이상에서 Oracle RAC인 경우에만 SELECT ON GV_$TRANSACTION을 부여하십시오./li>
  • DMS 버전 3.4.6, 3.4.7 이상의 최신 릴리스에서 Oracle Active Data Guard 대기 데이터베이스를 소스 데이터베이스로 사용하는 경우에만 SELECT ON V_$DTATGUARD_STATS를 부여하십시오.

참고: DMS는 Oracle Data Guard 대기 데이터베이스를 소스로 지원합니다. Data Guard를 활성화하면 대기 데이터베이스를 읽기 전용 모드로 열 수 있습니다. 권한을 부여한 후 여러 로그 전환을 수행하여 대기 데이터베이스에 권한을 복제합니다. 자세한 내용은 Oracle 웹 사이트에서 로그 전환 강제 실행을 참조하십시오.

뷰를 표시하려면 다음 권한을 부여합니다.

GRANT SELECT on ALL\_VIEWS to dms_user;

뷰를 노출하려면 소스 엔드포인트에 exposeViews=true 연결 속성도 추가해야 합니다.

복제 작업의 테이블 이름과 일치하는 패턴을 사용할 수 있습니다. 또한 소스 데이터베이스 사용자가 다른 스키마에서 테이블을 읽도록 허용할 수 있습니다. 각 작업에 대해 다음 권한을 추가합니다.

GRANT SELECT ANY TABLE to dms_user;

복제 작업에서 테이블 목록을 지정하려면 다음 권한을 부여합니다.

GRANT SELECT on schema.table;

Oracle RAC(Real Application Clusters)에서 마이그레이션하려면 gv_$v_$ 접두사를 사용하여 구체화된 뷰에 대한 SELECT 권한을 부여해야 합니다.

대형 바이너리 객체(LOB)에 대한 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 Database 12c 이상의 경우 다음 권한을 부여합니다.

GRANT LOGMINING TO dms_user;

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

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 테이블을 쿼리하십시오.

Binary Reader를 사용하여 Automatic Storage Management(ASM)에서 redo 로그에 액세스하려면 Oracle 엔드포인트 사용자에게 다음 권한 중 하나를 부여하십시오.

ASM에 redo 로그를 저장하고 AWS DMS가 ASM의 로그에 액세스하는 경우 다음 권한을 부여합니다.

GRANT SELECT ON v_$transportable_platform  to dms_user;

Oracle 11g 릴리스 2 버전 11.2.0.2 이상을 사용하여 ASM 계정에 액세스하려면 SYSASM 권한을 부여합니다.

GRANT SYSASM to ASM_USER;

참고: 지원되는 이전 버전의 Oracle에서는 SYSDBA 권한을 부여할 수 있습니다.

Oracle 소스에서 ASM을 사용하는 경우 Binary Reader의 고성능 옵션을 사용하여 대규모 트랜잭션을 처리할 수 있습니다. 옵션에는 병렬 스레드 수(parallelASMReadThreads)와 미리 읽기 버퍼 수(readAheadBlocks)를 지정하는 추가 연결 속성이 포함됩니다. 속성을 함께 설정하여 CDC 작업의 성능을 개선하십시오.

ASM 사용자를 수임하려면 DMS 사용자와 ASM 사용자를 포함하도록 Oracle 소스 엔드포인트를 수정하고 쉼표로 구분합니다.

소스 엔드포인트 형식 예:

사용자 이름: oracle_user,asm_user
암호: oracle_user_password,asm_user_password

관련 정보

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

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

AWS 공식업데이트됨 4달 전