RDS for Oracle CDB の設定 - Amazon Relational Database Service

RDS for Oracle CDB の設定

CDB の設定は、非 CDB の設定と似ています。

RDS for Oracle CDB インスタンスの作成

RDS for Oracle では、CDB の作成は非 CDB の作成とほとんど同じです。その違いは、DB インスタンスを作成するときに Oracle マルチテナントアーキテクチャを選択し、アーキテクチャ設定 (マルチテナントまたはシングルテナント) を選択することです。マルチテナント設定で CDB を作成するときにタグを作成すると、RDS はそのタグを初期テナントデータベースに伝達します。CDB を作成するには、AWS Management Console、AWS CLI、または RDS API を使用します。

CDB インスタンスを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. Amazon RDS コンソールの右上で、CDB インスタンスを作成する AWS リージョン を選択します。

  3. ナビゲーションペインで、[データベース] を選択します。

  4. [データベースの作成] を選択します。

  5. [Choose a database creation method (データベース作成方法を選択)] で [Standard Create (スタンダード作成)] を選択します。

  6. [エンジンのオプション] で [Oracle] を選択します。

  7. [データベース管理のタイプ] で、[Amazon RDS] を選択します。

  8. [アーキテクチャ設定] では、[Oracle マルチテナントアーキテクチャ] を選択します。

  9. [アーキテクチャ設定] で、次のいずれかを実行します。

    • [マルチテナント設定] を選択し、次のステップに進みます。

    • [シングルテナント設定] を選択し、ステップ 11 に進みます。

  10. (マルチテナント設定) [テナントデータベース設定] で、次の変更を行います。

    • [テナントデータベース名] には、データベースの名前を入力します。PDB 名は CDB 名 (デフォルトは RDSCDB) と異なるものである必要があります。

    • [テナントデータベースのマスターユーザー名] には、PDB のマスターユーザー名を入力します。テナントデータベースマスターユーザー名を使用して CDB 自体にログインすることはできません。

    • [テナントデータベースのマスターパスワード] にパスワードを入力するか、[パスワードを自動生成] を選択します。

    • [テナントデータベースの文字セット] では、PDB の文字セットを選択します。テナントデータベース文字セットとは異なる PDB 文字セットを選択できます。

      デフォルトの PDB 文字セットは AL32UTF8 です。デフォルト以外の PDB 文字セットを選択すると、CDB の作成が遅くなる可能性があります。

    注記

    CDB 作成プロセスの一環として複数のテナントデータベースを作成することはできません。PDB は既存の CDB にのみ追加できます。

  11. (シングルテナント設定) DB インスタンスの設定 に記載されているオプションに基づいて、必要な設定を選択します。次の点に注意してください。

    • [マスターユーザー名] には、PDB のローカルユーザーの名前を入力します。マスターユーザー名を使用して CDB ルートにログインすることはできません。

    • [データベース名] には、データベースの名前を入力します。デフォルト名の 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-cdb: oracle-ee および --multi-tenant を指定するとエラーで失敗するコマンドです。初期テナントデータベースの名前は mypdb です。

Linux、macOS、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
注記

セキュリティ上のベストプラクティスとして、ここに示されているプロンプト以外のパスワードを指定してください。

このコマンドでは、次のような出力が生成されます。データベース名、文字セット、各国語文字セット、マスターユーザーは出力に含まれません。この情報は CLI コマンド describe-tenant-databases を使用して表示できます。

{ "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 Instant Client をダウンロードするには、Oracle Instant Client Downloads を参照してください。

SQL*Plus を PDB に接続するには以下の情報が必要です。

  • PDB 名

  • データベースユーザー名とパスワード

  • DB インスタンスのエンドポイント

  • ポート番号

前述の情報を見つける方法については、「RDS for Oracle DB インスタンスのエンドポイントを見つける」を参照してください。

例 SQL*Plus を使用して PDB に接続するには

次の例では、master_user_name をマスターユーザーに置き換えてください。また、エンドポイントを DB インスタンスに置き換えて、ポート番号および Oracle SID を含めます。SID 値は DB インスタンスの作成時に指定した PDB の名前であり、DB インスタンス識別子ではありません。

Linux、macOS、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) は、最大文字数制限に達する可能性があるため、接続には使用しないでください。