配置 RDS for Oracle CDB
配置 CDB 与配置非 CDB 类似。
创建 RDS for Oracle CDB 实例
在 RDS for Oracle 中,创建 CDB 与创建非 CDB 几乎完全相同。不同之处在于,您在创建数据库实例时选择了 Oracle 多租户架构,还选择了架构配置:多租户或单租户。如果您在创建使用多租户配置的 CDB 时创建标签,则 RDS 会将标签传播到初始租户数据库。要创建 CDB,请使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API。
创建 CDB 实例
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在 Amazon RDS 控制台的右上角,选择要在其中创建 CDB 实例的 Amazon Web Services 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择创建数据库。
-
在选择数据库创建方法中,选择标准创建。
-
在引擎选项下面,选择 Oracle。
-
对于数据库管理类型,选择 Amazon RDS。
-
对于架构设置,选择 Oracle 多租户架构。
-
对于架构配置,请执行以下操作之一:
-
选择多租户配置,继续执行下一步。
-
选择单租户配置并跳至步骤 11。
-
-
(多租户配置)对于租户数据库设置,请进行以下更改:
-
对于租户数据库名称,输入初始 PDB 的名称。PDB 名称必须与 CDB 名称不同,后者默认为
RDSCDB
。 -
对于租户数据库主用户名,输入 PDB 的主用户名。您不能使用租户数据库主用户名登录 CDB 本身。
-
在租户数据库主密码中输入密码,或者选择自动生成密码。
-
在租户数据库字符集中,为 PDB 选择一个字符集。您可以选择与 CDB 字符集不同的租户数据库字符集。
默认 PDB 字符集是 AL32UTF8。如果选择非默认 PDB 字符集,则创建 CDB 的速度可能会变慢。
注意
您不能在 CDB 创建过程中创建多个租户数据库。您只能将 PDB 添加到已存在的 CDB。
-
-
(单租户配置)根据数据库实例的设置中列出的选项选择所需的设置。请注意以下几点:
-
在主用户名中,输入 PDB 中本地用户的名称。您不能使用主用户名登录 CDB 根目录。
-
对于初始数据库名称,输入 PDB 的名称。您不能命名 CDB,它具有原定设置名称
RDSCDB
。
-
-
选择创建数据库。
要使用多租户配置创建 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
有关每项设置的信息,请参阅 数据库实例的设置。
以下示例采用多租户配置创建了一个名为 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
\ --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
注意
作为安全最佳实践,请指定除此处所示提示以外的密码。
此命令生成类似于下述信息的输出。输出中不包括数据库名称、字符集、国家字符集和主用户。您可以使用 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
。另外,请将端点替换为您的数据库实例,然后包含端口号和 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