RDS for Oracle CDB 구성 - Amazon Relational Database Service

RDS for Oracle CDB 구성

CDB를 구성하는 방법은 비CDB를 구성하는 것과 비슷합니다.

RDSfor Oracle CDB 인스턴스 생성

RDS for Oracle에서 CDB를 만드는 방법은 비CDB를 만드는 방법과 거의 동일합니다. 차이점은 DB 인스턴스를 만들 때 Oracle 멀티테넌트 아키텍처를 선택하며 아키텍처 구성(다중 테넌트 또는 단일 테넌트)도 선택한다는 것입니다. 다중 테넌트 구성에서 CDB를 생성할 때 태그를 생성하면 RDS가 태그를 초기 테넌트 데이터베이스로 전파합니다. CDB를 만들려면 AWS Management Console, AWS CLI 또는 RDS API를 사용합니다.

CDB 인스턴스를 생성하는 방법
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. Amazon RDS 콘솔의 오른쪽 상단에서 CDB 인스턴스를 생성하려는 AWS 리전을 선택합니다.

  3. 탐색 창에서 데이터베이스를 선택합니다.

  4. 데이터베이스 생성을 선택합니다.

  5. Choose a database creation method(데이터베이스 생성 방법 선택)에서 Standard Create(표준 생성)를 선택합니다.

  6. Engine options(엔진 옵션)에서 Oracle을 선택합니다.

  7. 데이터베이스 관리 유형에서 Amazon RDS를 선택합니다.

  8. 아키텍처 설정에서 Oracle 멀티테넌트 아키텍처를 선택합니다.

  9. 아키텍처 구성에서 다음 중 하나를 수행합니다.

    • 다중 테넌트 구성을 선택하고 다음 단계로 진행합니다.

    • 단일 테넌트 구성을 선택하고 11단계로 건너뜁니다.

  10. (다중 테넌트 구성) 테넌트 데이터베이스 설정에서 다음과 같이 변경합니다.

    • 테넌트 데이터베이스 이름에 초기 PDB의 이름을 입력합니다. PDB 이름은 CDB 이름(기본값 RDSCDB)과 달라야 합니다.

    • 테넌트 데이터베이스 마스터 사용자 이름에 PDB의 마스터 사용자 이름을 입력합니다. 테넌트 데이터베이스 마스터 사용자 이름을 사용하여 CDB 자체에 로그인할 수 없습니다.

    • 테넌트 데이터베이스 마스터 암호에 암호를 입력하거나 암호 자동 생성을 선택합니다.

    • 테넌트 데이터베이스 문자 집합에서 PDB의 문자 집합을 선택합니다. CDB 문자 집합과 다른 테넌트 데이터베이스 문자 집합을 선택할 수 있습니다.

      기본 PDB 문자 집합은 AL32UTF8입니다. 기본이 아닌 PDB 문자 집합을 선택하면 CDB 생성 속도가 느려질 수 있습니다.

    참고

    CDB 생성 프로세스의 일부로 여러 테넌트 데이터베이스를 생성할 수 없습니다. 기존 CDB에는 PDB만 추가할 수 있습니다.

  11. (단일 테넌트 구성) DB 인스턴스에 대한 설정에 나열된 옵션에 따라 원하는 설정을 선택합니다. 유의할 사항:

    • 마스터 사용자 이름에 PDB의 로컬 사용자 이름을 입력합니다. 마스터 사용자 이름을 사용하여 CDB 루트에 로그인할 수 없습니다.

    • 초기 데이터베이스 이름에 PDB의 이름을 입력합니다. 이름이 기본값 RDSCDB인 CDB에는 이름을 지정할 수 없습니다.

  12. 데이터베이스 생성를 선택합니다.

다중 테넌트 구성에서 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-name mypdb \ --allocated-storage 250 \ --db-instance-class db.t3.large \ --master-username pdb_admin \ --master-user-password pdb_admin_password \ --backup-retention-period 3

Windows의 경우:

aws rds create-db-instance ^ --engine oracle-ee-cdb ^ --db-instance-identifier my-cdb-inst ^ --multi-tenant ^ --db-name mypdb ^ --allocated-storage 250 ^ --db-instance-class db.t3.large ^ --master-username pdb_admin ^ --master-user-password pdb_admin_password ^ --backup-retention-period 3
참고

보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.

다음과 비슷한 출력이 생성됩니다. 데이터베이스 이름, 문자 집합, 내셔널 문자 집합 및 마스터 사용자는 출력에 포함되지 않습니다. 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 username/password@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/database-identifier와 같은 짧은 형식의 연결 문자열(Easy Connect 또는 EZCONNECT)이 최대 문자 제한에 걸릴 수 있으며, 이런 문자열을 연결할 때 사용하면 안 됩니다.