設定 RDS for Oracle CDB - Amazon Relational Database Service

設定 RDS for Oracle CDB

設定 CDB 的方法類似於設定非 CDB。

建立 RDS for Oracle 資料庫執行個體

在 RDS for Oracle 中,建立 CDB 執行個體的方式與建立非 CDB 執行個體幾近相同。不同之處在於,建立資料庫執行個體時您選擇 Oracle 多租戶架構,而且也選擇架構組態:多租戶或單一租戶。如果您在多租戶組態中建立 CDB 時建立標籤,RDS 會將標籤傳播到初始租戶資料庫。若要建立 CDB,請使用 AWS Management Console、AWS CLI、或 RDS API。

建立 CDB 執行個體
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在 Amazon RDS 主控台的右上角,選擇要建立 CDB 執行個體的 AWS 區域。

  3. 在導覽窗格中,選擇 Databases (資料庫)。

  4. 選擇 Create database (建立資料庫)。

  5. Choose a database creation method (選擇資料庫建立方法) 中,選取 Standard Create (標準建立)

  6. Engine options (引擎選項) 中,選擇 Oracle (Oracle)

  7. 請為資料庫管理類型選擇 Amazon RDS

  8. 對於架構設定,選擇Oracle 多租戶架構

  9. 對於架構組態,請執行下列任一動作:

    • 選擇多租戶組態,然後繼續進行下一個步驟。

    • 選擇單一租戶組態,然後跳至步驟 11。

  10. (多租戶組態) 對於租戶資料庫設定,請進行下列變更:

    • 對於租戶資料庫名稱,輸入初始 PDB 的名稱。PDB 名稱必須與 CDB 名稱 (預設為 RDSCDB) 不同。

    • 對於租戶資料庫主要使用者名稱,輸入 PDB 的主要使用者名稱。您不能使用租戶資料庫主要使用者名稱登入 CDB 本身。

    • 針對憑證管理,選擇下列其中一個憑證管理選項:

      • 管理者為 AWS Secrets Manager

        受管密碼用於初始租用戶資料庫,而非執行個體。在選取加密金鑰中,選擇 Secrets Manager 建立的 KMS 金鑰或您建立的金鑰。

        注意

        建議以 AWS Secrets Manager 做為管理憑證最安全的技術。需支付額外費用。如需詳細資訊,請參閱 使用 Amazon RDS 和 AWS Secrets Manager 進行密碼管理

      • 自我管理

        若要指定密碼,請清除自動產生密碼核取方塊 (如果已選取)。在主要密碼確認密碼中輸入相同的密碼。

    • 對於租用戶資料庫字元集,選擇 PDB 的字元集。您可以選擇不同於 CDB 字元集的租戶資料庫字元集。

      預設的 PDB 字元集為 AL32UTF8。如果您選擇非預設的 PDB 字元集,CDB 的建立速度可能會變慢。

    注意

    您無法在建立操作中指定多個租用戶資料庫。CDB 在建立後會有一個 PDB。您可以在個別操作中將 PDB 新增至現有的 CDB。

  11. (單一租用戶組態) 根據 資料庫執行個體的設定 中列出的選項選擇您所需的設定。

    1. Settings (設定) 區段,開啟 Credential Settings (登入資料設定)。然後執行下列動作:

      1. 主要使用者名稱中,輸入 PDB 中本機使用者的名稱。您不能使用主要使用者名稱登入 CDB 根目錄。

      2. 針對憑證管理,選擇下列其中一個憑證管理選項:

        • 管理者為 AWS Secrets Manager

          選取加密金鑰中,選擇 Secrets Manager 建立的 KMS 金鑰或您建立的金鑰。

          注意

          建議以 AWS Secrets Manager 做為管理憑證最安全的技術。需支付額外費用。如需詳細資訊,請參閱 使用 Amazon RDS 和 AWS Secrets Manager 進行密碼管理

        • 自我管理

          若要指定密碼,請清除自動產生密碼核取方塊 (如果已選取)。在主要密碼確認密碼中輸入相同的密碼。

  12. 在其餘區段,指定資料庫執行個體的設定。如需每個設定的相關資訊,請參閱資料庫執行個體的設定

  13. 選擇 Create database (建立資料庫)。

若要在多租戶組態中建立 CDB,請搭配下列參數使用 create-db-instance 命令:

  • --db-instance-identifier

  • --db-instance-class

  • --engine { oracle-ee-cdb | oracle-se2-cdb }

  • --master-username

  • --master-user-password--manage-master-user-password *

  • --multi-tenant (針對單一租戶組態,請不要指定 multi-tenant 或指定 --no-multi-tenant)

  • --allocated-storage

  • --backup-retention-period

如需每項設定的相關資訊,請參閱 資料庫執行個體的設定

下列範例會在多租戶組態中建立一個名為 my-cdb-inst 的 RDS for Oracle 資料庫執行個體。如果您指定 --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 \ --manage-master-user-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 ^ --manage-master-user-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 來建立資料庫執行個體,請呼叫 CreateDBInstance 操作。

如需每項設定的相關資訊,請參閱 資料庫執行個體的設定

在 RDS for Oracle CDB 中連線至 PDB

您可以使用像 SQL*Plus 之類的公用程式連線至 PDB。若要下載包含獨立版 SQL*Plus 的 Oracle 即時用戶端,請參閱 Oracle 即時用戶端下載

您需要下列資訊才能將 SQL*Plus 連線至 PDB:

  • PDB 名稱

  • 資料庫使用者名稱和密碼

  • 資料庫執行個體的端點

  • 連接埠號碼

如需了解如何尋找上述資訊,請參閱 尋找您的 RDS for Oracle 資料庫執行個體的端點

範例 使用 SQL*Plus 連線至 PDB 的方法如下

在下列範例中,將 master_user_name 替換為您的主要使用者。同時,將 endpoint (端點) 替換為您的資料庫執行個體,然後包含連接埠號碼和 Oracle SID。SID 值是您在建立資料庫執行個體時指定的 PDB 名稱,而非資料庫執行個體識別碼。

針對 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>
注意

簡短的格式連接字串 (Easy connect 或 EZCONNECT),例如 sqlplus username/password@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/database-identifier,可能遇到最大字元限制,因此不應用來連接。