本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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 執行個體
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/rds/
開啟 Amazon RDS 主控台。 -
在 Amazon RDS 主控台的右上角,選擇要在 AWS 區域 其中建立 CDB 執行個體的 。
-
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇 Create database (建立資料庫)。
-
在 Choose a database creation method (選擇資料庫建立方法) 中,選取 Standard Create (標準建立)。
-
在 Engine options (引擎選項) 中,選擇 Oracle (Oracle)。
-
請為資料庫管理類型選擇 Amazon RDS。
-
對於架構設定,選擇Oracle 多租戶架構。
-
對於架構組態,請執行下列任一動作:
-
選擇多租戶組態,然後繼續進行下一個步驟。
-
選擇單一租戶組態,然後跳至步驟 11。
-
-
(多租戶組態) 對於租戶資料庫設定,請進行下列變更:
-
對於租戶資料庫名稱,輸入初始 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 時,CDB 有一個 PDB。您可以在單獨的操作中將 PDBs 新增至現有的 CDB。
-
-
(單一租戶組態) 根據 中列出的選項選擇您想要的設定資料庫執行個體的設定:
-
在 Settings (設定) 區段,開啟 Credential Settings (登入資料設定)。然後執行下列動作:
-
在主要使用者名稱中,輸入 PDB 中本機使用者的名稱。您不能使用主要使用者名稱登入 CDB 根目錄。
-
針對登入資料管理,選擇下列其中一個登入資料管理選項:
-
在 中受管 AWS Secrets Manager
在選取加密金鑰中,選擇 Secrets Manager 建立的 KMS 金鑰或您建立的金鑰。
注意
我們建議將 AWS Secrets Manager 做為管理憑證的最安全技術。需支付額外費用。如需詳細資訊,請參閱使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager。
-
自我管理
若要指定密碼,請清除已選取自動產生密碼核取方塊。在主密碼和確認主密碼中輸入相同的密碼。
-
-
-
-
在其餘區段,指定資料庫執行個體的設定。如需每個設定的資訊,請參閱資料庫執行個體的設定。
-
選擇建立資料庫。
若要在多租戶組態中建立 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-namemypdb
\ --allocated-storage250
\ --db-instance-classdb.t3.large
\ --master-usernamepdb_admin
\ --manage-master-user-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
^ --manage-master-user-password \ ^ --backup-retention-period3
注意
指定此處所顯示提示以外的密碼,作為安全最佳實務。
此命令會產生類似下列的輸出。資料庫名稱、字元集、國家字元集、主要使用者和主要使用者秘密不包含在輸出中。您可以使用 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