Amazon RDS - Oracle 功能
Oracle 是非常流行的关系型数据库,它通过其企业版功能在 Amazon RDS 服务中提供。Oracle 的几乎所有功能都可以在 RDS 平台中利用。下面简要介绍了 RDS 平台中 MYSQL 的主要功能。
支持的版本
版本 11.2 和 12.1 是 RDS 平台支持的主要版本。如果在创建数据库时未提及任何版本,则默认为当时的最新版本。下面是如何在 Python SDK 程序中使用 AWS API 获取支持的数据库引擎版本的示例。
import boto3 client = boto3.client('rds') response = client.describe_db_engine_versions( DBParameterGroupFamily='oracle-ee-12.1', DefaultOnly=True, Engine='', EngineVersion='', ListSupportedCharacterSets=False, #True, ) print(response)
当我们运行上述程序时,我们得到以下输出 −
{ "ResponseMetadata": { "RetryAttempts": 0, "HTTPStatusCode": 200, "RequestId": "f6805635-3e16-4014-83cd-dfdaf3f17950", "HTTPHeaders": { "x-amzn-requestid": "f6805635-3e16-4014-83cd-dfdaf3f17950", "date": "Fri, 14 Sep 2018 03:46:38 GMT", "content-length": "1455", "content-type": "text/xml" } }, "u'DBEngineVersions'": [ { "u'Engine'": "oracle-ee", "u'DBParameterGroupFamily'": "oracle-ee-12.1", "u'SupportsLogExportsToCloudwatchLogs'": true, "u'SupportsReadReplica'": false, "u'DefaultCharacterSet'": { "u'CharacterSetName'": "AL32UTF8", "u'CharacterSetDescription'": "Unicode 5.0 UTF-8 Universal character set" }, "u'DBEngineDescription'": "Oracle Database Enterprise Edition", "u'EngineVersion'": "12.1.0.2.v12", "u'DBEngineVersionDescription'": "Oracle 12.1.0.2.v12", "u'ExportableLogTypes'": [ "alert", "audit", "listener", "trace" ], "u'ValidUpgradeTarget'": [] } ] }
Oracle 许可
在 RDS 中使用 Oracle 许可有两种方式。它们是包含许可和自带许可。
包含许可的模式
在此模式下,Amazon 持有您要使用的软件的许可。此外,AWS 本身通过其支持计划为 AWS 和 Oracle 软件提供支持。因此,用户无需购买任何单独的许可。平台定价包括用户支付的许可费用。此模式支持的两个版本是标准版一和标准版二。
自带许可 (BYOL)
在此模式下,用户将其持有的许可带入 RDS 平台。用户有责任维护许可、数据库实例类和数据库版本之间的兼容性。用户如有任何需要,可直接联系 Oracle 支持渠道。在此模型中,支持的版本包括企业版 (EE)、标准版 (SE)、标准版一 (SE1) 和标准版二 (SE2)。
对于多 A-Z 部署,用户应同时拥有主数据库实例和辅助数据库实例的许可证。
Oracle 数据库参数组
Oracle 数据库涉及许多数据库参数,需要针对数据库的各种功能和性能需求进行配置。AWS 通过 CLI 命令使这些参数可见,用户可以使用这些命令查询参数值。以下是 CLI 命令和示例输出。
aws rds describe-engine-default-parameters --db-parameter-group-family oracle-ee-12.1以下是通过上述 CLI 命令获得的一些重要参数。
{ "EngineDefaults": { "Parameters": [ { "AllowedValues": "TRUE,FALSE", "ParameterName": "_allow_level_without_connect_by", "ApplyType": "dynamic", "Description": "_allow_level_without_connect_by", "IsModifiable": true, "Source": "engine-default", "DataType": "boolean" }, { "AllowedValues": "CHOOSE,OFF,CUBE,NESTED_LOOPS,MERGE,HASH", "ParameterName": "_always_semi_join", "ApplyType": "dynamic", "Description": "_always_semi_join", "IsModifiable": true, "Source": "engine-default", "DataType": "string" }, { "AllowedValues": "TRUE,FALSE", "ParameterName": "_b_tree_bitmap_plans", "ApplyType": "dynamic", "Description": "_b_tree_bitmap_plans", "IsModifiable": true, "Source": "engine-default", "DataType": "boolean" }, { "AllowedValues": "TRUE,FALSE", "ParameterName": "parallel_automatic_tuning", "ApplyType": "static", "Description": "enable intelligent defaults for parallel execution parameters", "IsModifiable": true, "Source": "engine-default", "DataType": "boolean" }, { "AllowedValues": "ENABLE,DISABLE", "ParameterName": "xml_db_events", "ApplyType": "dynamic", "Description": "are XML DB events enabled", "IsModifiable": false, "Source": "engine-default", "DataType": "string" } ] } }