创建数据库
本主题介绍如何在 Oracle Base Database Cloud@Customer 中创建数据库。
开始之前,请查看以下内容:
- 创建数据库后,无法修改
db_name、db_unique_name或 SID 前缀。 - 创建数据库后,无法更改备份目标。
您可以创建数据库:
使用 Console
在控制台中执行以下步骤。
-
在“Data Infrastructures(数据基础结构)”列表页面上,选择要使用的数据基础结构。如果需要查找列表页或数据基础结构的帮助,请参见 List Data Infrastructures 。
- 在“Data Infrastructure details(数据基础结构)”页上,选择“VM Cluster(VM 集群)”选项卡以查看所有 VM 集群的列表。
- 在 "VM Clusters"(VM 集群)选项卡上,选择要使用的 VM 集群。
-
在“VM 集群详细信息”页上,选择“数据库”选项卡以查看所有数据库的列表。
-
在“数据库”选项卡上,选择创建数据库。
-
在创建数据库页上,提供以下详细信息。
-
数据库名称:指定用于标识数据库的用户友好名称。数据库名称必须遵循以下准则:
- 最多为 8 个字符
- 仅包含字母数字字符
- 以字母字符开头
- 不能与 VM 集群上任何
db_unique_name的前 8 个字符匹配 - 在 VM 集群中必须唯一
- 请勿使用
grid,因为它是保留名称 - 请勿使用
ASM,因为它是保留名称
-
数据库的唯一名称:(可选)为数据库指定唯一名称。此属性定义
db_unique_name数据库参数的值。db_unique_name必须遵循以下准则:- 该值不区分大小写。
- 最多为 30 个字符
- 可以包含字母数字字符和下划线 (
_) - 以字母字符开头
- 在组或租户中必须唯一
如果未指定唯一名称,则
db_unique_name缺省为以下格式:<db_name>_<3-character unique string>_<region-name>如果您计划将数据库配置为备份到 Recovery Appliance 备份目标,则唯一的数据库名称必须与 Recovery Appliance 中配置的名称匹配。
-
数据库版本:从列表中选择要部署的 Oracle AI Database 软件发行版。
-
PDB name(PDB 名称):(可选)指定第一个 PDB 的名称。将使用数据库创建 PDB。
为了避免在使用 Oracle Net Services 连接到 PDB 时出现潜在的服务名冲突,请确保 PDB 名称在 VM 集群中唯一。如果未提供 PDB 名称,则使用系统生成的名称。
-
数据库主目录:
- 数据库主目录源:选择现有数据库主目录或创建一个数据库主目录(如果适用)。从数据库主页详细信息页创建数据库时,此字段不可用。
- 选择现有数据库主目录:如果所选数据库版本已存在一个或多个数据库主目录,则默认情况下会选择此选项。从列表中选择数据库主目录。
- 创建新数据库主目录:如果所选数据库版本不存在数据库主目录,则默认情况下会选择此选项。
-
数据库主目录:指定新数据库主目录的名称。
-
统一审计:(可选)根据需要启用统一审计。默认情况下会为 Oracle AI Database 26ai 启用此项。
-
数据库映像:确定将哪个 Oracle AI Database 版本用于数据库。您可以混合使用数据库版本,但不能混合使用版本。默认情况下,将选择最新的 Oracle 发布数据库软件映像。
选择更改数据库映像以使用您预先创建的其他 Oracle 发布映像或定制数据库软件映像,然后选择映像类型:
-
Oracle 提供的数据库软件映像:这些映像包含 Oracle AI Database 软件的普遍可用版本。
-
定制数据库软件映像:这些映像由贵组织创建,其中包含软件更新和定制的配置。使用区间和数据库版本筛选器从特定区间或 Oracle AI Database 软件主发行版版本中选择定制数据库软件映像。
定制数据库软件映像必须基于符合以下标准的 Oracle AI Database 发行版:
-
OCI 当前支持该发行版。
-
您正在预配的硬件型号支持该发行版。
-
选择软件映像后,选择选择按钮。
对于可用的 Oracle AI Database 主要版本,会为当前版本和三个最新旧版本(N 到 N - 3)提供映像。例如,如果实例使用的是 Oracle Database 19c,并且提供的最新版本 19c 为 19.31.0.0,则可用于预配的映像适用于 19.31.0.0、19.30.0.0、19.29.0.0 和 19.28.0.0 版本。
-
- 数据库主目录源:选择现有数据库主目录或创建一个数据库主目录(如果适用)。从数据库主页详细信息页创建数据库时,此字段不可用。
-
管理密码:
-
User name(用户名):显示用户名。
- 密码:输入 Oracle AI Database 管理密码。
- 此密码用于以下数据库管理帐户和功能:
SYS和SYSTEM用户的密码- 透明数据加密 (Transparent Data Encryption,TDE) 密钥库密码
- 第一个 PDB 中的
PDBADMIN用户。
- 密码必须为:
- 长度在 9 到 30 个字符之间
- 至少包含以下内容:
- 两个大写字母
- 两个小写字母
- 两个数字字符
- 两个特殊字符
- 仅使用以下特殊字符:
_#-
- 不能包含租户名称
- 不得包含保留字,例如
Oracle或Table,无论大小写如何
- 此密码用于以下数据库管理帐户和功能:
- Confirm password(确认密码):重新输入密码。
-
-
备份:
-
启用自动备份:启用以启用自动备份。如果启用,则每天执行自动备份。
-
备份目标类型:为数据库选择备份目标。选择下列选项之一:
-
Recovery Appliance :在之前定义的 Oracle Zero Data Loss Recovery Appliance 备份目的地中存储备份。
- 区间:为 Recovery Appliance 备份选择区间。
- 备份目标:从列表中选择 Recovery Appliance 备份目标。
- 恢复设备连接字符串:显示所选恢复设备的连接字符串。
- VPC 用户:从列表中选择虚拟专用目录 (virtual private catalog,VPC) 用户。
- 口令:输入 VPC 用户的口令。
- 输入源数据库的 TDE wallet 或 RMAN 密码:输入密码。
- 实时数据保护:开启以实现持续数据保护。实时数据保护可最大限度地降低数据丢失的可能性。
-
网络文件系统 (Network File System,NFS) :将备份存储在以前定义的网络文件系统 (Network File System,NFS) 备份目标中。
- 区间:为 NFS 备份选择区间。
- 备份目标:从列表中选择 NFS 备份目标。
-
-
-
加密:
-
密钥管理:选择密钥管理。默认选项为 Oracle Wallet。
- Oracle Wallet:
- 将管理员密码用于 TDE wallet :在选中此选项时,为
SYS用户输入的密码也将用于 TDE wallet。要指定其他 TDE wallet 密码,请清除此选择,然后输入并确认 TDE wallet 密码。
- 将管理员密码用于 TDE wallet :在选中此选项时,为
- Oracle Key Vault:
- 区间:选择包含密钥库的区间。
- 密钥库:选择密钥库。
- 外部密钥库:
- TDE wallet 密码:输入 TDE wallet 密码。
- 外部密钥库身份证明:按外部密钥库提供程序支持的格式输入身份证明。
- Oracle Wallet:
-
-
高级选项:展开以提供其他详细信息。
-
管理:展开以提供其他详细信息。
-
Oracle SID 前端:(可选)指定数据库的 Oracle SID 前端。实例编号会自动附加到 SID 前缀,成为
instance_name数据库参数。如果未提供,则 SID 前缀默认为db_name。 -
Character Set(字符集):数据库的字符集。默认值为
AL32UTF8。 -
National character set(国家字符集):数据库的民族字符集。默认值为
AL16UTF16。
-
-
标记:展开以提供其他详细信息。您可以向此资源添加自由形式的标记或定义的标记。您必须有权对定义的标记使用标记名称空间。有关使用标记管理资源的更多信息,请参见标记。标记可以稍后或随时应用于资源。
-
-
- 选择创建。
此时将显示“Database Details(数据库详细信息)”页。在创建进程运行时,数据库的状态为预配。数据库创建过程完成后,数据库的状态将更改为可用。
使用 dbaascli 实用程序
要在所需版本的指定数据库主目录中创建 Oracle AI Database,请使用 dbaascli database create 命令。
可以使用 dbaascli database create 命令执行以下操作:
- 创建容器数据库 (Container Database,CDB) 或非容器数据库
- 创建具有可插入数据库 (pluggable database,PDB) 的 CDB
- 创建具有指定字符集的 Oracle AI Database
-
在集群节点的子集上创建 Oracle 数据库
注:在部分节点上创建的数据库不会显示在 OCI 控制台中。
- 使用发行版更新(2021 年 1 月)或更高版本创建 Oracle AI Database 版本 12.1.0.2 或更高版本。对于版本较低的数据库,建议使用基于 OCI 控制台的 API。
-
以
opc用户身份连接到虚拟机。有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。
-
启动
root用户命令 shell:sudo -s -
运行以下命令:
dbaascli database create --dbName database name --oracleHome Oracle Home Path参数:
参数 说明 --dbName指定数据库的名称 --oracleHome指定 Oracle 主目录位置 要创建 CDB,请运行以下命令:
dbaascli database create --dbName database name --oracleHome Oracle Home Path要创建非 CDB,请运行以下命令:
dbaascli database create --dbName database name --oracleHome Oracle Home Path --createAsCDB false出现提示时,输入
sys和tde口令。 -
退出
root用户命令 shell:exit有关高级受支持选项的更多详细信息,请参见
dbaascli database create。
在创建 Oracle AI Database 之前运行先决条件检查
要运行先决条件检查,请使用 --executePrereqs 命令选项。这将仅执行先决条件检查,而不执行实际的 Oracle AI Database 创建。
-
以
opc用户身份连接到虚拟机。有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。
-
启动
root用户命令 shell:sudo -s -
运行以下命令:
dbaascli database create --dbName database name --oracleHome Oracle Home Path --executePrereqs参数:
参数 说明 --dbName指定数据库的名称 --oracleHome指定 Oracle 主目录位置 -
退出
root用户命令 shell:exit有关高级受支持选项的更多详细信息,请参见
dbaascli database create。
恢复或恢复 Oracle AI Database 创建操作
要恢复或恢复失败的数据库创建操作,请使用 --resume 或 --revert 命令选项。
例如:
dbaascli database create --dbName database name --oracleHome Oracle Home Path --resume
注意:
- 在使用
--resume或--revert命令选项时,请确保从用于实际创建操作流的同一节点使用相同的命令。 - 仅当数据库创建后步骤出现故障时,才能恢复数据库创建。
使用 dbaascli 复制云数据库
可以使用 dbaascli 创建重复的数据库。此新数据库可以位于与源区域相同的云区域中,也可以跨区域。以下步骤介绍了如何在云中创建重复的数据库。
注:如果为数据库配置了用于 TDE 加密的 OCI Vault,并且您希望复制数据库,请参阅以下各节。
准备复制:
确保满足以下先决条件:
-
确保存在通过
EZConnect字符串访问源数据库的网络路径设置。 -
将 TDE wallet 文件 (
ewallet.p12) 复制到目标数据库节点。决定运行dbaascli命令的节点。 -
在目标节点上创建 Oracle 主目录(如果需要)。Oracle 主目录版本必须与源或更高 RU 版本的版本相同。
运行先决条件检查:
要运行先决条件检查,请使用 --executePrereqs 命令选项。这将仅执行先决条件检查,而不执行实际的 Oracle Database 复制。
dbaascli database duplicate --dbName <database name> --oracleHome <Oracle Home Path> --sourceDBConnectionString <source database EZConnect string> --sourceDBTDEWalletLocation <location of copied wallet> --sourceDBTdeConfigMethod FILE --tdeConfigMethod FILE --executePrereqs
复制数据库:
dbaascli database duplicate --dbName <database name> --oracleHome <Oracle Home Path> --sourceDBConnectionString <source database EZConnect string> --sourceDBTDEWalletLocation <location of copied wallet> --sourceDBTdeConfigMethod FILE --tdeConfigMethod FILE
注:如果源数据库使用 OKV 进行 TDE 密钥库管理,则当前重复的数据库操作不支持此配置。
复制内部部署数据库
使用 dbaascli,您可以将内部部署数据库复制到云。可以使用 dbaascli database duplicate 命令执行此操作。此命令在云中创建新的数据库,该数据库与内部部署数据库及其数据重复。在执行此过程的同时,内部部署数据库仍可正常运行。在进行适当验证后,您可以将应用迁移到云上的重复数据库。
准备复制:
迁移过程包括要满足的以下先决条件。
-
确保设置了网络路径以通过
EZConnect字符串从 OCI 节点访问内部部署数据库。 -
如果为内部部署数据库配置了 TDE,请将 TDE wallet 文件 (
ewallet.p12) 复制到您决定在其中运行dbaascli命令的 OCI 节点。 -
在 OCI 节点上创建 Oracle 主目录(如果需要)。Oracle 主目录版本必须与源或更高 RU 版本相同。
验证所需的 RPM:
此过程要求 dbaastools RPM 版本至少为 23.3.2.0.0,但始终建议更新到最新的 dbaastools RPM。
-
要检查当前安装的版本,请运行:
dbaascli --version DBAAS CLI version 23.3.2.0.0 -
要以
root用户身份应用最新的工具 RPM,请运行:# dbaascli admin updateStack
运行先决条件检查:
要运行先决条件检查,请使用 --executePrereqs 命令选项。这将仅执行先决条件检查,而不执行实际的 Oracle Database 复制。
dbaascli database duplicate --dbName <database name> --oracleHome <Oracle Home Path> --sourceDBConnectionString <source database EZConnect string> --sourceDBTDEWalletLocation <location of copied wallet> --executePrereqs
复制数据库:
使用以下命令复制数据库:
dbaascli database duplicate --dbName <database name> --oracleHome <Oracle Home Path> --sourceDBConnectionString <source database EZConnect string> --sourceDBTDEWalletLocation <location of copied wallet>
例如:
dbaascli database duplicate --sourceDBConnectionString xyzhost.oracle.com:1521/dbuniquename.oracle.com --dbName orcl --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1 --sourceDBTDEWalletLocation /tmp/wallet_copy/tde --waitForCompletion false
成功完成此命令后,数据库将复制到云,并准备好对应用程序使用情况进行健全性检查。验证完成后,可以将应用程序连接迁移到云数据库。
有关其他配置选项,请参阅 dbaascli database duplicate -help。
迁移的注意事项很少:
-
如果您希望为 RMAN 重复项分配多个通道,则可以通过指定
--rmanParallelism参数来执行此操作。 -
Oracle Base Database Cloud@Customer 将数据库内存配置为自动共享内存管理 (ASMM)。如果您的本地数据库配置了不同的内存管理,请确保通过为
--sgaSizeInMB和--pgaSizeInMB提供值,在 OCI 端相应地调整内存参数值。 -
验证内部部署数据库不包含任何已过时或无效的初始化参数。
-
可以使用
--initParams参数更改与数据库存储相关的数据库初始化参数(数据文件位置、重做位置、恢复区目标、控制文件多路复用)。例如,要覆盖重复数据库的
db_create_online_log_dest值,请执行以下操作:--initParams db_create_online_log_dest_1=+DATAC1,db_create_online_log_dest_2=+RECOC1
对数据库复制进行故障排除:
-
可以在
/var/opt/oracle/log/<dbname>/database/duplicate下找到dbaascli操作日志文件 -
重复项的一个作业是运行
dbca。其日志文件位于/u02/app/oracle/cfgtoollogs/dbca和/u02/app/oracle/cfgtoollogs/dbca/<dbuniquename>下。
如果操作失败,您可以选择通过向同一命令提供 --resume 参数来恢复该操作。或者,使用 dbaascli database delete -dbname <dbname> -force 清除数据库,然后重新运行数据库复制命令。