이 페이지에서는 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) 구성
Database Migration Service는 단일 컨테이너 데이터베이스 (CDB)에 하나 이상의 플러그인 가능한 데이터베이스 (PDB)가 포함된 Oracle 멀티 테넌트 아키텍처를 지원합니다. 각 PDB(pluggable database)는 고유한 ID와 이름이 있는 독립 실행형 데이터베이스이며 독립적으로 관리될 수 있습니다.
Database Migration Service와 함께 사용할 수 있도록 Oracle 플러그인 가능 데이터베이스를 구성하려면 다음 단계를 수행합니다.
-
일반 사용자를 만듭니다.
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;