이 페이지에서는 Database Migration Service를 사용하여 일회성 마이그레이션을 위해 Oracle 소스 데이터베이스를 구성하는 방법을 설명합니다. Database Migration Service를 사용하여 소스 Oracle 데이터베이스에서 데이터를 가져오려면 데이터베이스에 연결하고 스키마 및 코드 객체에 액세스하는 데 사용될 사용자 계정에 적절한 권한을 부여해야 합니다.
기본적으로 Database Migration Service는
DBA_VIEWS를 통해 모든 객체 정의에 액세스하려고 시도합니다.
DBA_VIEWS에 대한 액세스 권한은 SELECT ANY DICTIONARY 권한으로 부여됩니다.
마이그레이션 사용자 계정에서 DBA 뷰에 액세스할 수 없는 경우 Database Migration Service는
ALL_VIEWS으로 대체됩니다.
이 접근 방식을 사용하면 요구사항에 가장 적합한 보안 모델을 정의할 때 최대한의 유연성을 확보할 수 있습니다.
정확한 구성 단계는 소스 데이터베이스의 섹션을 참고하세요.
Oracle 데이터베이스를 위한 Amazon RDS 구성
일회성 마이그레이션을 위해 Amazon RDS 소스 데이터베이스를 구성하려면 Database Migration Service에서 사용할 사용자 계정에 적절한 권한을 부여하세요.
각 명령어에서 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 소스 데이터베이스를 구성하려면 Database Migration Service에서 사용할 사용자 계정에 적절한 권한을 부여하세요.
각 명령어에서 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) 구성
데이터베이스 마이그레이션 서비스는 단일 컨테이너 데이터베이스 (CDB)에 하나 이상의 플러그인 가능한 데이터베이스 (PDB)가 포함된 Oracle 멀티 테넌트 아키텍처를 지원합니다. 각 플러그형 데이터베이스는 고유한 ID와 이름이 있는 독립 실행형 데이터베이스이며 독립적으로 관리될 수 있습니다.
Oracle 플러그인 가능 데이터베이스를 Database Migration Service와 함께 사용할 수 있도록 구성하려면 다음 단계를 수행합니다.
-
일반 사용자를 만듭니다.
CDB$ROOT컨테이너와 PDB(pluggable database)에서는 일반 사용자의 ID가 같습니다. 일반 사용자는 루트와 권한이 있는 플러그인 가능한 데이터베이스에 연결하고 내부에서 작업을 수행할 수 있습니다. 일반 사용자 이름은C##또는c##으로 시작해야 합니다. - 데이터베이스 연결에 사용할 일반 사용자에게 적절한 권한을 부여합니다.
CDB$ROOT컨테이너와 PDB(pluggable database) 수준에서는 서로 다른 권한이 필요합니다.각 명령어에서
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;
- PDB(pluggable database)에 연결하고 다음 명령어를 실행합니다.
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;