创建 CEV
您可以使用 AWS Management Console 或 AWS CLI 创建 CEV。指定多租户或非多租户架构。有关更多信息,请参阅 多租户架构注意事项。
通常,创建 CEV 需要大约两个小时。创建 CEV 后,您可以使用它来创建 RDS Custom 数据库实例。有关更多信息,请参阅 创建 RDS Custom for Oracle 数据库实例。
请注意创建 CEV 的以下要求和限制:
-
包含安装文件的 Amazon S3 存储桶必须与您的 CEV 在同一个 AWS 区域。否则,创建过程将失败。
-
CEV 名称的格式必须为
,如major-engine-version
.customized_string
19.cdb_cev1
所示。 -
CEV 名称必须包含 1–50 个字母数字字符、下划线、短划线或句点。
-
CEV 名称不能包含连续的句点,如
19..cdb_cev1
所示。
要创建 CEV
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Custom engine versions(自定义引擎版本)。
Custom engine versions(自定义引擎版本)页面显示了当前存在的所有 CEV。如果您尚未创建任何 CEV,则该页面为空。
-
选择 Create custom engine version(创建自定义引擎版本)。
-
在引擎选项中,执行以下操作:
-
对于 Engine type(引擎类型),选择 Oracle。
-
对于架构设置,(可选)选择多租户架构来创建使用引擎
custom-oracle-ee-cdb
或custom-oracle-se2-cdb
的 Oracle 多租户 CEV。您只能使用多租户 CEV 创建 RDS Custom for Oracle CDB。如果您不选择此选项,CEV 将为非 CDB,它使用引擎custom-oracle-ee
或custom-oracle-se2
。注意
您选择的架构是 CEV 的永久特征。您以后无法修改您的 CEV 以使用其他架构。
-
请选择以下任一选项:
-
创建新的 CEV – 从头开始创建 CEV。在这种情况下,必须指定 JSON 清单,其中指定了数据库二进制文件。
-
从源创建 CEV – 在指定要复制的 CEV 中,选择要用作源 CEV 的现有 CEV。在这种情况下,您可以指定新的亚马逊机器映像(AMI),但不能指定不同的数据库二进制文件。
-
-
对于引擎版本,选择主要引擎版本。
-
-
在版本详细信息中,执行以下操作:
-
在自定义引擎版本名称中输入有效的名称。例如,您可以输入名称
19.cdb_cev1
。 -
(可选)为 CEV 输入描述。
-
-
在安装媒体中,执行以下操作:
-
(可选)对于 AMI ID,将该字段留空,以使用提供最新服务的 AMI,或者输入您之前用于创建 CEV 的 AMI。要获取有效的 AMI ID,请使用下面的任一种方法:
-
在控制台中,选择左侧导航窗格中的自定义引擎版本,然后选择 CEV 的名称。CEV 使用的 AMI ID 显示在配置选项卡中。
-
在 AWS CLI 中,使用
describe-db-engine-versions
命令。在输出中搜索ImageID
。
-
-
对于 S3 location of manifest files(清单文件的 S3 位置),输入您在 步骤 3:将安装文件上传到 Amazon S3 中指定的 Amazon S3 存储桶的位置。例如,输入
s3://my-custom-installation-files/123456789012/cev1/
。注意
您创建 CEV 的 AWS 区域必须与 S3 桶位于相同的区域。
-
(仅限创建新 CEV)对于 CEV 清单,请输入您在创建 CEV 清单中创建的 JSON 清单。
-
-
在 KMS 密钥部分中,选择输入密钥 ARN以列出可用的 AWS KMS 密钥。然后从列表中选择您的 KMS 密钥。
RDS Custom 需要 AWS KMS 密钥。有关更多信息,请参阅 步骤 1:创建或重用对称加密 AWS KMS 密钥。
-
(可选)选择添加新标签以便为您的 CEV 创建键值对。
-
选择 Create custom engine version(创建自定义引擎版本)。
如果 JSON 清单格式无效,则控制台将显示验证 CEV 清单时出错。修复问题并重试。
Custom engine versions(自定义引擎版本)页面显示。您的 CEV 显示状态 Creating(正在创建)。创建 CEV 的过程需要大约两个小时。
要使用 AWS CLI 创建 CEV,请运行 create-custom-db-engine-version 命令。
以下选项为必填:
-
--engine
– 指定引擎类型。对于 CDB,请指定custom-oracle-ee-cdb
或custom-oracle-se2-cdb
。对于非 CDB,请指定custom-oracle-ee
或custom-oracle-se2
。您只能从使用custom-oracle-ee-cdb
或custom-oracle-se2-cdb
创建的 CEV 创建 CDB。您只能从使用custom-oracle-ee
或custom-oracle-se2
创建的 CEV 创建非 CDB。 -
--engine-version
– 指定引擎版本。格式为major-engine-version
.customized_string
。CEV 名称必须包含 1–50 个字母数字字符、下划线、短划线或句点。CEV 名称不能包含连续的句点,如19..cdb_cev1
所示。 -
--kms-key-id
– 指定一个 AWS KMS key。 -
--manifest
– 指定
或manifest_json_string
--manifest file:
。file_name
中不允许使用换行符。确保在 JSON 代码中转义双引号 ("),方法是使用反斜杠 (\) 作为其前缀。manifest_json_string
以下示例展示来自 步骤 5:准备 CEV 清单 的 19c 的
。该示例为 Oracle 根目录、Oracle 主目录以及 UNIX/Linux 用户和组的 ID 和名称设置了新值。如果您复制此字符串,请先移除所有换行符,然后再将其粘贴到命令中。manifest_json_string
"{\"mediaImportTemplateVersion\": \"2020-08-14\",\"databaseInstallationFileNames\": [\"V982063-01.zip\"],\"opatchFileNames\": [\"p6880880_190000_Linux-x86-64.zip\"],\"psuRuPatchFileNames\": [\"p32126828_190000_Linux-x86-64.zip\"],\"otherPatchFileNames\": [\"p29213893_1910000DBRU_Generic.zip\",\"p29782284_1910000DBRU_Generic.zip\",\"p28730253_190000_Linux-x86-64.zip\",\"p29374604_1910000DBRU_Linux-x86-64.zip\",\"p28852325_190000_Linux-x86-64.zip\",\"p29997937_190000_Linux-x86-64.zip\",\"p31335037_190000_Linux-x86-64.zip\",\"p31335142_190000_Generic.zip\"]\"installationParameters\":{ \"unixGroupName\":\"dba\", \ \"unixUname\":\"oracle\", \ \"oracleHome\":\"/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1\", \ \"oracleBase\":\"/home/oracle/\"}}"
-
--database-installation-files-s3-bucket-name
– 指定您在步骤 3:将安装文件上传到 Amazon S3中指定的桶名称。您运行create-custom-db-engine-version
所在的 AWS 区域必须与 Amazon S3 桶位于相同的区域。
您还可以指定以下选项:
-
--description
– 指定您的 CEV 的描述。 -
--database-installation-files-s3-prefix
– 指定您在步骤 3:将安装文件上传到 Amazon S3中指定的文件夹名称。 -
--image-id
– 指定要重复使用的 AMI ID。要查找有效的 ID,请运行describe-db-engine-versions
命令,然后在输出中搜索ImageID
。原定设置情况下,RDS Custom for Oracle 使用最新的可用 AMI。
下面的示例创建一个名为 19.cdb_cev1
的 Oracle 多租户 CEV。该示例重用现有 AMI,而不是使用最新的可用 AMI。确保 CEV 的名称以主要引擎版本号开头。
对于 Linux、macOS 或 Unix:
aws rds create-custom-db-engine-version \ --engine
custom-oracle-se2-cdb
\ --engine-version19.cdb_cev1
\ --database-installation-files-s3-bucket-nameus-east-1-123456789012-custom-installation-files
\ --database-installation-files-s3-prefix123456789012/cev1
\ --kms-key-idmy-kms-key
\ --description "test cev
" \ --manifestmanifest_string
\ --image-idami-012a345678901bcde
对于 Windows:
aws rds create-custom-db-engine-version ^ --engine
custom-oracle-se2-cdb
^ --engine-version19.cdb_cev1
^ --database-installation-files-s3-bucket-nameus-east-1-123456789012-custom-installation-files
^ --database-installation-files-s3-prefix123456789012/cev1
^ --kms-key-idmy-kms-key
^ --description "test cev
" ^ --manifestmanifest_string
^ --image-idami-012a345678901bcde
使用 describe-db-engine-versions
命令以获取有关您的 CEV 的详细信息。
aws rds describe-db-engine-versions \ --engine custom-oracle-se2-cdb \ --include-all
以下不完整的示例输出显示了引擎、参数组、清单和其他信息。
{ "DBEngineVersions": [ { "Engine": "custom-oracle-se2-cdb", "EngineVersion": "19.cdb_cev1", "DBParameterGroupFamily": "custom-oracle-se2-cdb-19", "DBEngineDescription": "Containerized Database for Oracle Custom SE2", "DBEngineVersionDescription": "test cev", "Image": { "ImageId": "ami-012a345678901bcde", "Status": "active" }, "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "MajorEngineVersion": "19", "DatabaseInstallationFilesS3BucketName": "us-east-1-123456789012-custom-installation-files", "DatabaseInstallationFilesS3Prefix": "123456789012/cev1", "DBEngineVersionArn": "arn:aws:rds:us-east-1:123456789012:cev:custom-oracle-se2-cdb/19.cdb_cev1/abcd12e3-4f5g-67h8-i9j0-k1234l56m789", "KMSKeyId": "arn:aws:kms:us-east-1:732027699161:key/1ab2345c-6d78-9ef0-1gh2-3456i7j89k01", "CreateTime": "2023-03-07T19:47:58.131000+00:00", "TagList": [], "SupportsBabelfish": false, ...
创建 CEV 失败
如果创建 CEV 的过程失败,RDS Custom 将发布带有消息 Creation failed for custom
engine version
的 major-engine-version.cev_name
RDS-EVENT-0198
,并包含有关失败的详细信息。例如,事件会打印丢失的文件。
您无法修改失败的 CEV。您只能删除它,然后在修复失败的原因之后再次尝试创建 CEV。有关排查 CEV 创建失败原因的信息,请参阅为 RDS Custom for Oracle 排除自定义引擎版本创建的故障。