CDB를 구성하는 방법은 비CDB를 구성하는 것과 비슷합니다.
RDSfor Oracle CDB 인스턴스 생성
RDS for Oracle에서 CDB를 만드는 방법은 비CDB를 만드는 방법과 거의 동일합니다. 차이점은 DB 인스턴스를 만들 때 Oracle 멀티테넌트 아키텍처를 선택하며 아키텍처 구성(다중 테넌트 또는 단일 테넌트)도 선택한다는 것입니다. 다중 테넌트 구성에서 CDB를 생성할 때 태그를 생성하면 RDS가 태그를 초기 테넌트 데이터베이스로 전파합니다. CDB를 만들려면 AWS Management Console, AWS CLI 또는 RDS API를 사용합니다.
CDB 인스턴스를 생성하는 방법
https://console.aws.amazon.com/rds/
에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다. -
Amazon RDS 콘솔의 오른쪽 상단에서 CDB 인스턴스를 생성하려는 AWS 리전을 선택합니다.
-
탐색 창에서 데이터베이스를 선택합니다.
-
데이터베이스 생성을 선택합니다.
-
Choose a database creation method(데이터베이스 생성 방법 선택)에서 Standard Create(표준 생성)를 선택합니다.
-
Engine options(엔진 옵션)에서 Oracle을 선택합니다.
-
데이터베이스 관리 유형에서 Amazon RDS를 선택합니다.
-
아키텍처 설정에서 Oracle 멀티테넌트 아키텍처를 선택합니다.
-
아키텍처 구성에서 다음 중 하나를 수행합니다.
-
다중 테넌트 구성을 선택하고 다음 단계로 진행합니다.
-
단일 테넌트 구성을 선택하고 11단계로 건너뜁니다.
-
-
(다중 테넌트 구성) 테넌트 데이터베이스 설정에서 다음과 같이 변경합니다.
-
테넌트 데이터베이스 이름에 초기 PDB의 이름을 입력합니다. PDB 이름은 CDB 이름(기본값
RDSCDB
)과 달라야 합니다. -
테넌트 데이터베이스 마스터 사용자 이름에 PDB의 마스터 사용자 이름을 입력합니다. 테넌트 데이터베이스 마스터 사용자 이름을 사용하여 CDB 자체에 로그인할 수 없습니다.
-
테넌트 데이터베이스 마스터 암호에 암호를 입력하거나 암호 자동 생성을 선택합니다.
-
테넌트 데이터베이스 문자 집합에서 PDB의 문자 집합을 선택합니다. CDB 문자 집합과 다른 테넌트 데이터베이스 문자 집합을 선택할 수 있습니다.
기본 PDB 문자 집합은 AL32UTF8입니다. 기본이 아닌 PDB 문자 집합을 선택하면 CDB 생성 속도가 느려질 수 있습니다.
참고
CDB 생성 프로세스의 일부로 여러 테넌트 데이터베이스를 생성할 수 없습니다. 기존 CDB에는 PDB만 추가할 수 있습니다.
-
-
(단일 테넌트 구성) DB 인스턴스에 대한 설정에 나열된 옵션에 따라 원하는 설정을 선택합니다. 유의할 사항:
-
마스터 사용자 이름에 PDB의 로컬 사용자 이름을 입력합니다. 마스터 사용자 이름을 사용하여 CDB 루트에 로그인할 수 없습니다.
-
초기 데이터베이스 이름에 PDB의 이름을 입력합니다. 이름이 기본값
RDSCDB
인 CDB에는 이름을 지정할 수 없습니다.
-
-
데이터베이스 생성를 선택합니다.
다중 테넌트 구성에서 CDB를 생성하려면 다음 파라미터와 함께 create-db-instance 명령을 사용합니다.
-
--db-instance-identifier
-
--db-instance-class
-
--engine { oracle-ee-cdb | oracle-se2-cdb }
-
--master-username
-
--master-user-password
-
--multi-tenant
(단일 테넌트 구성의 경우multi-tenant
를 지정하지 말거나--no-multi-tenant
를 지정하세요.) -
--allocated-storage
-
--backup-retention-period
각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.
다음 예에서는 다중 테넌트 구성에서 my-cdb-inst
라는 RDS for Oracle DB 인스턴스를 생성합니다. --no-multi-tenant
를 지정하거나 --multi-tenant
를 지정하지 않는 경우 기본 CDB 구성은 단일 테넌트입니다. 엔진은 oracle-ee
를 지정하는 oracle-ee-cdb
명령이며 --multi-tenant
는 오류와 함께 실패합니다. 초기 테넌트 데이터베이스의 이름은 mypdb
입니다.
예
대상 LinuxmacOS, 또는Unix:
aws rds create-db-instance \ --engine oracle-ee-cdb \ --db-instance-identifier
my-cdb-inst
\ --multi-tenant \ --db-namemypdb
\ --allocated-storage250
\ --db-instance-classdb.t3.large
\ --master-usernamepdb_admin
\ --master-user-passwordpdb_admin_password
\ --backup-retention-period3
Windows의 경우:
aws rds create-db-instance ^ --engine oracle-ee-cdb ^ --db-instance-identifier
my-cdb-inst
^ --multi-tenant ^ --db-namemypdb
^ --allocated-storage250
^ --db-instance-classdb.t3.large
^ --master-usernamepdb_admin
^ --master-user-passwordpdb_admin_password
^ --backup-retention-period3
참고
보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.
다음과 비슷한 출력이 생성됩니다. 데이터베이스 이름, 문자 집합, 내셔널 문자 집합 및 마스터 사용자는 출력에 포함되지 않습니다. describe-tenant-databases
CLI 명령을 사용하여 이 정보를 볼 수 있습니다.
{
"DBInstance": {
"DBInstanceIdentifier": "my-cdb-inst",
"DBInstanceClass": "db.t3.large",
"MultiTenant": true,
"Engine": "oracle-ee-cdb",
"DBResourceId": "db-ABCDEFGJIJKLMNOPQRSTUVWXYZ",
"DBInstanceStatus": "creating",
"AllocatedStorage": 250,
"PreferredBackupWindow": "04:59-05:29",
"BackupRetentionPeriod": 3,
"DBSecurityGroups": [],
"VpcSecurityGroups": [
{
"VpcSecurityGroupId": "sg-0a1bcd2e",
"Status": "active"
}
],
"DBParameterGroups": [
{
"DBParameterGroupName": "default.oracle-ee-cdb-19",
"ParameterApplyStatus": "in-sync"
}
],
"DBSubnetGroup": {
"DBSubnetGroupName": "default",
"DBSubnetGroupDescription": "default",
"VpcId": "vpc-1234567a",
"SubnetGroupStatus": "Complete",
...
Amazon RDS API를 사용하여 DB 인스턴스를 생성하려면 CreateDBInstance 작업을 호출합니다.
각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하십시오.
RDS for Oracle CDB의 PDB에 연결
SQL*Plus와 같은 유틸리티를 사용하여 PDB에 연결할 수 있습니다. 독립형 버전의 SQL*Plus를 포함하는 Oracle 인스턴트 클라이언트를 다운로드하려면 Oracle 인스턴트 클라이언트 다운로드
PDB에 SQL*Plus를 연결하려면 다음 정보를 제공해야 합니다.
-
PDB 이름
-
데이터베이스 사용자 이름 및 암호
-
DB 인스턴스의 엔드포인트
-
포트 번호
이전 정보를 찾는 방법에 대한 자세한 내용은 RDS for Oracle DB 인스턴스의 엔드포인트 찾기 섹션을 참조하세요.
예 SQL*Plus를 사용하여 PDB에 연결하는 방법
다음 예에서는 마스터 사용자를 master_user_name
대신 사용하세요. 또한 DB 인스턴스를 엔드포인트로 대체한 다음, 포트 번호와 Oracle SID를 포함합니다. SID 값은 DB 인스턴스 식별자가 아니라 DB 인스턴스를 만들 때 지정한 PDB의 이름입니다.
대상 LinuxmacOS, 또는Unix:
sqlplus 'master_user_name
@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint
)(PORT=port
))(CONNECT_DATA=(SID=pdb_name
)))'
Windows의 경우:
sqlplus master_user_name
@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint
)(PORT=port
))(CONNECT_DATA=(SID=pdb_name
)))
다음과 유사한 출력 화면이 표시되어야 합니다.
SQL*Plus: Release 19.0.0.0.0 Production on Mon Aug 21 09:42:20 2021
사용자 암호를 입력하면 SQL 프롬프트가 표시됩니다.
SQL>
참고
sqlplus
와 같은 짧은 형식의 연결 문자열(Easy Connect 또는 EZCONNECT)이 최대 문자 제한에 걸릴 수 있으며, 이런 문자열을 연결할 때 사용하면 안 됩니다.username
/password
@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE
:1521/database-identifier