创建 CEV - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建 CEV

您可以使用 Amazon Web Services Management Console 或 Amazon CLI 创建 CEV。指定多租户或非多租户架构。有关更多信息,请参阅多租户架构注意事项

确保包含安装文件的 Amazon S3 桶与您的 CEV 位于同一个 Amazon Web Services 区域中。否则,创建 CEV 的过程将失败。

通常,创建 CEV 需要大约两个小时。创建 CEV 后,您可以使用它来创建 RDS Custom 数据库实例。有关更多信息,请参阅创建 RDS Custom for Oracle 数据库实例

要创建 CEV
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Custom engine versions(自定义引擎版本)。

    Custom engine versions(自定义引擎版本)页面显示了当前存在的所有 CEV。如果您尚未创建任何 CEV,则该页面为空。

  3. 选择 Create custom engine version(创建自定义引擎版本)。

  4. 引擎选项中,执行以下操作:

    1. 对于 Engine type(引擎类型),选择 Oracle

    2. 对于架构设置,(可选)选择多租户架构来创建使用引擎 custom-oracle-ee-cdb 的多租户 CEV。您只能使用多租户 CEV 创建 RDS Custom for Oracle CDB。如果您不选择此选项,CEV 将为非 CDB,它使用引擎 custom-oracle-ee

      注意

      您选择的架构是 CEV 的永久特征。您以后无法修改您的 CEV 以使用其他架构。

    3. 对于引擎版本,选择主要引擎版本。

  5. 版本详细信息中,执行以下操作:

    1. 自定义引擎版本名称中输入有效的名称。

      名称格式为 major-engine-version.customized_string。您可以使用 1–50 位字母数字字符、下划线、短划线和句点。例如,您可以输入名称 19.cdb_cev1

    2. (可选)为 CEV 输入描述。

  6. 安装媒体中,执行以下操作:

    1. (可选)对于 AMI ID,输入您之前用于创建 CEV 的 AMI。要获取有效的 AMI ID,请使用下面的任一种方法:

      • 在控制台中,选择左侧导航窗格中的自定义引擎版本,然后选择 CEV 的名称。CEV 使用的 AMI ID 显示在配置选项卡中。

      • 在 Amazon CLI 中,使用 describe-db-engine-versions 命令。在输出中搜索 ImageID

      如果您不输入 AMI ID,RDS Custom 将使用最新的可用 AMI。

    2. 对于 S3 location of manifest files(清单文件的 S3 位置),输入您在 步骤 3:将安装文件上传到 Amazon S3 中指定的 Amazon S3 存储桶的位置。例如,输入 s3://my-custom-installation-files/806242271698/cev1/

    3. 对于 CEV 清单,请输入您在创建 CEV 清单中创建的 JSON 清单。

  7. KMS 密钥部分中,选择输入密钥 ARN以列出可用的 Amazon KMS 密钥。然后从列表中选择您的 KMS 密钥。

    RDS Custom 需要 Amazon KMS 密钥。有关更多信息,请参阅步骤 1:创建或重用对称加密 Amazon KMS 密钥

  8. (可选)选择添加新标签以便为您的 CEV 创建键值对。

  9. 选择 Create custom engine version(创建自定义引擎版本)。

    如果 CEV 清单具有无效表单,则控制台将显示 Error validating the CEV manifest(验证 CEV 清单时出错)。修复问题并重试。

Custom engine versions(自定义引擎版本)页面显示。您的 CEV 显示状态 Creating(正在创建)。创建 CEV 的过程需要大约两个小时。

要使用 Amazon CLI 创建 CEV,请运行 create-custom-db-engine-version 命令。

以下选项为必填:

  • --engine engine-type,其中 engine-type 对于 CDB 为 custom-oracle-ee-cdb,对于非 CDB 为 custom-oracle-ee。您只能从使用 custom-oracle-ee-cdb 创建的 CEV 创建 CDB。您只能从使用 custom-oracle-ee 创建的 CEV 创建非 CDB。

  • --engine-version major-engine-version.customized_string

  • --kms-key-id

  • --manifest manifest_string 或者 --manifest file:file_name

    manifest_string 中不允许使用换行符。确保在 JSON 代码中转义双引号 ("),方法是使用反斜杠 (\) 作为其前缀。

    以下示例展示来自 步骤 5:准备 CEV 清单 的 19c 的 manifest_string。该示例为 Oracle 根目录、Oracle 主目录以及 UNIX/Linux 用户和组的 ID 和名称设置了新值。如果复制此字符串,请先删除所有换行符,然后再将其粘贴到命令中。

    "{\"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 s3-bucket-name,其中 s3-bucket-name 是您在 步骤 3:将安装文件上传到 Amazon S3 中指定的存储桶名称。您运行 create-custom-db-engine-version 所在的 Amazon Web Services 区域必须与 Amazon S3 桶位于相同的区域。

您还可以指定以下选项:

  • --description my-cev-description

  • --database-installation-files-s3-prefix prefix,其中 prefix 是您在 步骤 3:将安装文件上传到 Amazon S3 中指定的文件夹名称。

  • --image-id ami-id,其中 ami-id 是想要重用的 AMI ID。要查找有效的 ID,请运行 describe-db-engine-versions 命令,然后在输出中搜索 ImageID。原定设置情况下,RDS Custom for Oracle 使用最新的可用 AMI。

下面的示例创建一个名为 19.cdb_cev1 的多租户 CEV。该示例重用现有 AMI,而不是使用最新的可用 AMI。确保 CEV 的名称以主要引擎版本号开头。

对于 Linux、macOS 或 Unix:

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee-cdb \ --engine-version 19.cdb_cev1 \ --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files \ --database-installation-files-s3-prefix 123456789012/cev1 \ --kms-key-id my-kms-key \ --description "test cev" \ --manifest manifest_string \ --image-id ami-012a345678901bcde

对于 Windows:

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee-cdb ^ --engine-version 19.cdb_cev1 ^ --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files ^ --database-installation-files-s3-prefix 123456789012/cev1 ^ --kms-key-id my-kms-key ^ --description "test cev" ^ --manifest manifest_string ^ --image-id ami-012a345678901bcde

使用 describe-db-engine-versions 命令以获取有关您的 CEV 的详细信息。

aws rds describe-db-engine-versions \ --engine custom-oracle-ee-cdb \ --include-all

以下不完整的示例输出显示了引擎、参数组、清单和其他信息。

{ "DBEngineVersions": [ { "Engine": "custom-oracle-ee-cdb", "EngineVersion": "19.cdb_cev1", "DBParameterGroupFamily": "custom-oracle-ee-cdb-19", "DBEngineDescription": "Containerized Database for Oracle Custom EE", "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-ee-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_nameRDS-EVENT-0198,并包含有关失败的详细信息。例如,事件会打印丢失的文件。

您无法修改失败的 CEV。您只能删除它,然后在修复失败的原因之后再次尝试创建 CEV。有关排查 CEV 创建失败原因的信息,请参阅为 RDS Custom for Oracle 排除自定义引擎版本创建的故障