Amazon RDS 上的 Oracle - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon RDS 上的 Oracle

Amazon RDS 支持运行以下版本的 Oracle Database 的数据库实例:

  • Oracle Database 19c (19.0.0.0)

  • Oracle Database 18c (18.0.0.0)

  • Oracle Database 12c 版本 2 (12.2.0.1)

  • Oracle Database 12c 版本 1 (12.1.0.2)

注意

Oracle Database 18c (18.0.0.0) 即将弃用。在支持结束日期之后,Oracle Corporation 将不再为 Oracle Database 18c 提供补丁。有关更多信息,请参阅 为 Oracle Database 18c 的自动升级做好准备

不再支持 RDS for Oracle Database 11g。

可创建数据库实例和数据库快照、时间点还原以及自动或手动备份。您可以在 VPC 内使用运行 Oracle 的数据库实例。您还可以通过启用各种选项向 Oracle 数据库实例添加功能。Amazon RDS 支持对 Oracle 的多可用区部署,这是一种高可用性故障转移解决方案。

为了提供托管服务体验,Amazon RDS 未提供数据库实例的 Shell 访问权限。并且它还限制了对需要高级权限的某些系统程序和表的访问。您可以使用任何标准 SQL 客户端应用程序(例如 Oracle SQL*Plus)访问数据库实例上的数据库。但是,您无法使用远程登录或安全外壳 (SSH) 直接访问主机。

当您使用主账户创建数据库实例时,该账户将获得 DBA 权限,但有一些限制。此账户用于管理任务,如创建其他数据库账户。您不能使用 SYS、SYSTEM 或其他 Oracle 提供的管理账户。

在创建数据库实例之前,需要完成本指南的对 Amazon RDS 进行设置部分中的步骤。

Amazon RDS 上的 Oracle 版本

Amazon RDS for Oracle 支持以下主要数据库版本。

用于 Amazon RDS 的 Oracle Database 19c

Amazon RDS 支持 Oracle Database 19c,它包括 Oracle 企业版和 Oracle 标准版 2。

与上一版相比,Oracle Database 19c (19.0.0.0) 包含多项新功能和更新。在本部分中,您可以找到对 Amazon RDS 使用 Oracle Database 19c (19.0.0.0) 十分重要的功能和更改。有关这些更改的完整列表,请参阅 Oracle Database 19c 文档。有关每个 Oracle Database 19c 版本支持的功能的完整列表,请参阅 Oracle 文档中的 Oracle Database 产品允许的功能、选件和管理包

Oracle Database 19c (19.0.0.0) 的 Amazon RDS 参数更改

Oracle Database 19c (19.0.0.0) 包含一些新参数以及具有新范围和新默认值的旧参数。

下表显示 Oracle Database 19c (19.0.0.0) 中新的 Amazon RDS 参数。

名称

可修改

描述

lob_signature_enable

TRUE、FALSE(默认值)

启用或禁用 LOB 定位器签名功能。

max_datapump_parallel_per_job

1 到 1024,或 AUTO

指定每个 Oracle Data Pump 作业允许的最大并行进程数。

对于 Amazon RDS 上的 Oracle Database 19c (19.0.0.0),compatible 参数具有新的最大值。下表显示新的默认值。

参数名称

Oracle Database 19c (19.0.0.0) 最大值

Oracle Database 18c (18.0.0.0) 最大值

compatible

19.0.0

18.0.0

Oracle Database 19c (19.0.0.0) 中删除了以下参数:

  • exafusion_enabled

  • max_connections

  • o7_dictionary_access

Amazon RDS 上的 Oracle Database 18c

Oracle Corporation 计划于 2021 年 7 月 1 日停止对 Oracle Database 18c (18.0.0.0) 提供支持。在同一天,Amazon RDS 计划执行以下操作:

  • 停止对 BYOL 和 LI 的 Oracle Database 18c 的支持

  • 开始自动升级所有 Oracle Database 18c 实例

以下时间表包含升级建议。有关更多信息,请参阅 为 Oracle Database 18c 的自动升级做好准备

操作或建议 Oracle Database 18c

我们建议您将 Oracle Database 18c 数据库实例手动升级到 Oracle Database 19c,并验证您的应用程序。

现在 – 2021 年 6 月 30 日

我们建议您手动将 Oracle Database 18c 快照升级到 Oracle Database 19c。

2021 年 5 月 1 日

您无法再使用 Amazon RDS 创建新的 Oracle Database 18c 实例。在 2021 年 6 月 30 日之前,您可以继续还原 18c 数据库快照而不会自动升级。

2021 年 5 月 1 日

Amazon RDS 计划开始自动将 Oracle Database 18c 实例升级到 Oracle Database 19c。

2021 年 7 月 1 日

Amazon RDS 计划开始自动为从快照还原的任何 Oracle Database 18c 数据库实例升级到 Oracle Database 19c。

2021 年 7 月 1 日

用于 Amazon RDS 的 Oracle Database 12c

Amazon RDS 支持 Oracle Database 12c,它包括 Oracle 企业版和 Oracle 标准版 2。Oracle Database 12c 包括两个主要版本:

用于 Amazon RDS 的 Oracle Database 12c 版本 2 (12.2.0.1)

与上一版相比,Oracle Database 12c 版本 2 (12.2.0.1) 包含多项新功能和更新。在本部分中,您可以找到对 Amazon RDS 使用 Oracle Database 12c 版本 2 (12.2.0.1) 十分重要的功能和更改。有关这些更改的完整列表,请参阅 Oracle Database 12c 版本 2 (12.2) 文档。有关每个 Oracle Database 12c 版本支持的功能的完整列表,请参阅 Oracle 文档中的 Oracle Database 产品允许的功能、选件和管理包

Oracle Database 12c 版本 2 (12.2.0.1) 的 Amazon RDS 参数更改

除了几个具有新范围和新默认值的参数之外,Oracle Database 12c 版本 2 (12.2.0.1) 还提供了 20 个新参数。

下表显示 Oracle Database 12c 版本 2 (12.2.0.1) 中新的 Amazon RDS 参数。

名称

可修改

说明

allow_global_dblinks

TRUE、FALSE(默认值)

指定数据库是否允许对数据库链接进行 LDAP 查找。

approx_for_aggregation

TRUE、FALSE(默认值)

将聚合查询的精确查询处理替换为近似查询处理。

approx_for_count_distinct

TRUE、FALSE(默认值)

自动将 COUNT (DISTINCT expr) 查询替换为 APPROX_COUNT_DISTINCT 查询。

approx_for_percentile

NONE(默认值)、PERCENTILE_CONT、PERCENTILE_CONT DETERMINISTIC、PERCENTILE_DISC、PERCENTILE_DISC DETERMINISTIC、ALL、ALL DETERMINISTIC

将精确的百分位函数转换为其近似的对应百分位函数。

cursor_invalidation

DEFERRED、IMMEDIATE(默认值)

控制默认情况下是否将延迟游标失效或立即游标失效用于 DDL 语句。

data_guard_sync_latency

0(默认值)- LOG_ARCHIVE_DEST_n 参数的 NET_TIMEOUT 属性指定的秒数

控制日志写入器 (LGWR) 进程等待超过一系列 Oracle Data Guard SYNC 重做传输模式连接中的第一个响应的秒数。

data_transfer_cache_size

0 – 512M,四舍五入到下一个颗粒大小

设置数据传输缓存的大小(以字节为单位),该数据传输缓存用于接收数据块(通常来自 Oracle Data Guard 环境),以供实例在 RMAN RECOVER ... NONLOGGED BLOCK 命令正在运行时使用。

inmemory_adg_enabled

TRUE (默认值)、FALSE

指示除内存中的缓存大小外,是否启用活动 Data Guard 的内存中缓存。

inmemory_expressions_usage

STATIC_ONLY、DYNAMIC_ONLY,ENABLE(默认值)、DISABLE

控制哪些内存中的表达式(IM 表达式)将被填充到内存中的列存储(IM 列存储)中且可用于查询。

inmemory_virtual_columns

ENABLE、MANUAL(默认值)、DISABLE

控制哪些内存中的表达式(IM 表达式)将被填充到内存中的列存储(IM 列存储)中且可用于查询。

instance_abort_delay_time

0(默认值)和更高值

指定延迟内部启动的实例关闭的时间量(以秒为单位),例如,严重进程终止或发生不可恢复的实例错误时。

instance_mode

READ-WRITE(默认值)、READ-ONLY、READ-MOSTLY

指示实例是读写、只读还是主读

long_module_action

TRUE (默认值)、FALSE

允许对模块和操作使用更长的长度。

max_idle_time

0(默认值)至最大整数。值 0 指示没有限制。

指定会话可处于空闲状态的最大分钟数。在此之后,会话将自动终止。

optimizer_adaptive_plans

TRUE (默认值)、FALSE

控制自适应计划。自适应计划是使用备选选项构建的执行计划,而这些选项将在运行时基于查询执行时收集的统计信息来确定。

optimizer_adaptive_statistics

TRUE、FALSE(默认值)

控制自适应统计数据。一些查询配置过于复杂,无法仅依赖基本表统计数据,因此,优化器使用自适应统计数据来扩充这些统计数据。

outbound_dblink_protocols

ALL(默认值)、NONE、TCP、TCPS、IPC

指定允许针对数据库中的出站数据库链接进行通信的网络协议。

resource_manage_goldengate

TRUE、FALSE(默认值)

确定数据库中的 Oracle GoldenGate 应用进程是否是资源管理的。

standby_db_preserve_states

NONE(默认值)、SESSION、ALL

控制在将可读物理备用数据库转换为主数据库时是否保留实例的用户会话和其他内部状态。

uniform_log_timestamp_format

TRUE (默认值)、FALSE

指定在 Oracle Database 跟踪 (.trc) 文件和日志文件(如警报日志)中使用统一的时间戳格式。

对于 Amazon RDS 上的 Oracle Database 12c 版本 2 (12.2.0.1),compatible 参数具有新的默认值。下表显示新的默认值。

参数名称

Oracle Database 12c 版本 2 (12.2.0.1) 默认值

Oracle Database 12c 版本 1 (12.1.0.2) 默认值

compatible

12.2.0

12.0.0

对于 Amazon RDS 上的 Oracle Database 12c 版本 2 (12.2.0.1),optimizer_features_enable 参数具有新的值范围。有关旧的和新的值范围,请参阅下表。

参数名称

Oracle Database 12c 版本 2 (12.2.0.1) 范围

Oracle Database 12c 版本 1 (12.1.0.2) 范围

optimizer_features_enable

8.0.0 到 12.2.0.1

8.0.0 到 12.1.0.2

Oracle Database 12c 版本 2 (12.2.0.1) 中删除了以下参数:

  • global_context_pool_size

  • max_enabled_roles

  • optimizer_adaptive_features

  • parallel_automatic_tuning

  • parallel_degree_level

  • use_indirect_data_buffers

Oracle Database 12c 版本 2 (12.2.0.1) 及更高版本不支持以下参数:

  • sec_case_sensitive_logon

Oracle Database 12c 版本 2 (12.2.0.1) 的 Amazon RDS 安全性更改

在 Oracle Database 12c 版本 2 (12.2.0.1) 中,数据库级别触发器的拥有者需要直接授予权限 ADMINISTER DATABASE TRIGGER。在主要版本升级到 Oracle Database 12c 版本 2 (12.2.0.1) 期间,Amazon RDS 将此权限授予拥有触发器的任何用户,以便触发器拥有者具有所需的权限。有关更多信息,请参阅 My Oracle Support 文档 2275535.1

用于 Amazon RDS 的 Oracle Database 12c 版本 1 (12.1.0.2)

与上一版相比,Oracle Database 12c 版本 1 (12.1.0.2) 引入了 500 多项新功能和更新。在本部分中,您可以找到对 Amazon RDS 使用 Oracle Database 12c 版本 1 (12.1.0.2) 十分重要的功能和更改。有关这些更改的完整列表,请参阅 Oracle Database 12c 版本 1 (12.1) 文档。有关每个 Oracle Database 12c 版本支持的功能的完整列表,请参阅 Oracle 文档中的 Oracle Database 版本允许的功能、选件和管理包

Oracle Database 12c 版本 1 (12.1.0.2) 包含了影响 Amazon RDS 数据库实例的 16 个新参数,以及 18 种新的系统权限,取消了对若干包的支持并加入了几个新的选项组设置。有关这些更改的更多信息,请参阅以下部分。

Oracle Database 12c 版本 1 (12.1.0.2) 的 Amazon RDS 参数更改

除了几个具有新范围和新默认值的参数之外,Oracle Database 12c 版本 1 (12.1.0.2) 还提供了 16 个新参数。

下表显示 Oracle Database 12c 版本 1 (12.1.0.2) 中新的 Amazon RDS 参数。

名称

可修改

说明

connection_brokers

CONNECTION_BROKERS = broker_description[,...]

指定连接代理类型、每种类型的连接代理数以及每个代理的最大连接数。

db_index_compression_inheritance

TABLESPACE、TABL、ALL、NONE

显示针对表或表空间级别压缩继承设置的选项。

db_big_table_cache_percent_target

0-90

为自动大型表缓存指定缓存区目标大小 (以缓冲区缓存百分比的形式)。

heat_map

ON、OFF

允许数据库跟踪对所有分段的读写访问以及由于执行数据操作语言 (DML) 和数据定义语言 (DDL) 语句而对数据库块进行的修改。

inmemory_clause_default

INMEMORY、NO INMEMORY

INMEMORY_CLAUSE_DEFAULT 使您可以为新表和具体化视图指定默认内存列存储 (IM 列存储) 子句。

inmemory_clause_default_memcompress

NO MEMCOMPRESS、MEMCOMPRESS FOR DML、MEMCOMPRESS FOR QUERY、MEMCOMPRESS FOR QUERY LOW、MEMCOMPRESS FOR QUERY HIGH、MEMCOMPRESS FOR CAPACITY、MEMCOMPRESS FOR CAPACITY LOW、MEMCOMPRESS FOR CAPACITY HIGH

请参阅 INMEMORY_CLAUSE_DEFAULT。

inmemory_clause_default_priority

PRIORITY LOW、PRIORITY MEDIUM、PRIORITY HIGH、PRIORITY CRITICAL、PRIORITY NONE

请参阅 INMEMORY_CLAUSE_DEFAULT。

inmemory_force

DEFAULT、OFF

INMEMORY_FORCE 使您可以指定是否将指定为 INMEMORY 的表和具体化视图填充到内存列存储 (IM 列存储) 中。

inmemory_max_populate_servers

Null

INMEMORY_MAX_POPULATE_SERVERS 指定要用于内存列存储(IM 列存储)填充的最大后台填充服务器数,以便这些服务器不会使系统的其余部分过载。

inmemory_query

ENABLE (默认值)、DISABLE

INMEMORY_QUERY 用于在会话或系统级别为整个数据库启用或禁用内存查询。

inmemory_size

0、104857600-274877906944

INMEMORY_SIZE 对数据库实例设置内存列存储 (IM 列存储) 的大小。

inmemory_trickle_repopulate_servers_percent

0 到 50

INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT 限制用于内存中列存储(IM 列存储)重新填充的最大后台填充服务器数。由于细流重新填充设计为仅使用一小部分的填充服务器,因此将应用此限制。

max_string_size

STANDARD (默认值)、EXTENDED

控制 VARCHAR2、NVARCHAR2 和 RAW 的最大大小。

有关更多信息,请参阅 启用扩展数据类型

optimizer_adaptive_features

TRUE (默认值)、FALSE

启用或禁用所有自适应优化程序功能。

optimizer_adaptive_reporting_only

TRUE、FALSE(默认值)

控制自适应优化的仅报告模式。

pdb_file_name_convert

没有默认值。

将现有文件的名称映射到新文件名。

pga_aggregate_limit

0-最大内存值

指定实例所用总 PGA 内存的限制。

processor_group_name

没有默认值。

指示数据库实例在指定操作系统处理器组中运行。

spatial_vector_acceleration

TRUE、FALSE

启用或禁用空间向量加速 (空间选项的一部分)。

temp_undo_enabled

TRUE、FALSE(默认值)

确定特定会话中的事务是否可以具有临时撤消日志。

threaded_execution

TRUE、FALSE

启用多线程 Oracle 模式,但阻止操作系统身份验证。

unified_audit_sga_queue_size

1 MB - 30 MB

指定统一审核的系统全局区域 (SGA) 队列的大小。

use_dedicated_broker

TRUE、FALSE

确定如何生成专用服务器。

对于 Amazon RDS 上的 Oracle Database 12c 版本 1 (12.1.0.2),有几个参数具有新的值范围。有关旧的和新的值范围,请参阅下表。

参数名称

Oracle Database 12c 版本 1 (12.1.0.2) 范围

audit_trail

os | db [, extended] | xml [, extended]

compatible

如果升级到 12.2.0.1、18c 或 19c,则 COMPATIBLE 必须为 11.2.0 或更高版本。我们建议您为您的 Oracle Database 版本使用 COMPATIBLE 的默认设置,除非您有理由对其进行更改。如果未显式设置 COMPATIBLE,则 Amazon RDS 自动将此参数设置为 12.0.0。

db_securefile

PERMITTED | PREFERRED | ALWAYS | IGNORE | FORCE

db_writer_processes

1-100

optimizer_features_enable

8.0.0 到 12.1.0.2

parallel_degree_policy

MANUAL、LIMITED、AUTO、ADAPTIVE

parallel_min_server

0 到 parallel_max_servers

对于 Amazon RDS 上的 Oracle Database 12c,参数具有新的默认值。下表显示新的默认值。

参数名称

Oracle Database 12c 默认值

job_queue_processes

50

Oracle Database 12c 版本 1 (12.1.0.2) 的 Amazon RDS 系统权限

对于 Oracle Database 12c 版本 1 (12.1.0.2),向系统账户授予了几个新的系统权限。这些新的系统权限包括:

  • ALTER ANY CUBE BUILD PROCESS

  • ALTER ANY MEASURE FOLDER

  • ALTER ANY SQL TRANSLATION PROFILE

  • CREATE ANY SQL TRANSLATION PROFILE

  • CREATE SQL TRANSLATION PROFILE

  • DROP ANY SQL TRANSLATION PROFILE

  • EM EXPRESS CONNECT

  • EXEMPT DDL REDACTION POLICY

  • EXEMPT DML REDACTION POLICY

  • EXEMPT REDACTION POLICY

  • LOGMINING

  • REDEFINE ANY TABLE

  • SELECT ANY CUBE BUILD PROCESS

  • SELECT ANY MEASURE FOLDER

  • USE ANY SQL TRANSLATION PROFILE

Oracle Database 12c 版本 1 (12.1.0.2) 的 Amazon RDS 选项

比较 Oracle Database 11g 与 Oracle Database 12c 版本 1 (12.1.0.2) 这两个版本,几个 Oracle 选项进行了更改,不过大多数选项保持不变。Oracle Database 12c 版本 1 (12.1.0.2) 的更改包括以下内容:

  • Oracle Enterprise Manager Database Express 12c 取代了 Oracle Enterprise Manager 11g Database Control。有关更多信息,请参阅 Oracle Enterprise Manager Database Express

  • XMLDB 选项在 Oracle Database 12c 版本 1 (12.1.0.2) 中会默认安装。不再需要由您亲自安装该选项。

Oracle Database 12c 版本 1 (12.1.0.2) 的 Amazon RDS PL/SQL 包

Oracle Database 12c 版本 1 (12.1.0.2) 包含一些新的内置 PL/SQL 包。Amazon RDS for Oracle Database 12c 版本 1 (12.1.0.2) 附带的包中包含以下项。

程序包名称

描述

CTX_ANL

CTX_ANL 包用于 AUTO_LEXER,提供了用于对 lexer 添加和删除自定义词典的过程。

DBMS_APP_CONT

DBMS_APP_CONT 包提供了一个接口,用于确定现在不可用的会话上进行的事务是否已提交,以及该会话上的上一个调用是否已完成。

DBMS_AUTO_REPORT

DBMS_AUTO_REPORT 包提供了一个接口,用于查看捕获到 Automatic Workload Repository (AWR) 中的 SQL 监控和实时自动数据库诊断监视器 (ADDM) 数据。

DBMS_GOLDENGATE_AUTH

DBMS_GOLDENGATE_AUTH 包提供用于对 GoldenGate 管理员授予和撤销权限的子程序。

DBMS_HEAT_MAP

DBMS_HEAT_MAP 包提供了一个接口,用于在各种存储级别 (包括数据块、范围、区段、对象和表空间) 对热度地图进行外部化处理。

DBMS_ILM

DBMS_ILM 包提供了一个接口,用于使用自动数据优化 (ADO) 策略实施信息生命周期管理 (ILM) 策略。

DBMS_ILM_ADMIN

DBMS_ILM_ADMIN 包提供了一个接口,用于自定义自动数据优化 (ADO) 策略执行。

DBMS_PART

DBMS_PART 包为对分区对象执行的维护和管理操作提供了一个接口。

DBMS_PRIVILEGE_CAPTURE

DBMS_PRIVILEGE_CAPTURE 包为数据库权限分析提供了一个接口。

DBMS_QOPATCH

DBMS_QOPATCH 包提供了一个接口,用于查看安装的数据库补丁。

DBMS_REDACT

DBMS_REDACT 包为 Oracle Data Redaction 提供了一个接口,使您可以对从低权限用户或应用程序发出的查询所返回的数据进行掩蔽 (编写)。

DBMS_SPD

DBMS_SPD 包提供用于管理 SQL 计划指令 (SPD) 的子程序。

DBMS_SQL_TRANSLATOR

DBMS_SQL_TRANSLATOR 包提供了一个接口,用于创建、配置和使用 SQL 转换配置文件。

DBMS_SQL_MONITOR

DBMS_SQL_MONITOR 包提供有关实时 SQL 监控和实时数据库操作监控的信息。

DBMS_SYNC_REFRESH

DBMS_SYNC_REFRESH 包提供了一个接口,用于执行具体化视图的同步刷新。

DBMS_TSDP_MANAGE

DBMS_TSDP_LAYE 包提供了一个接口,用于在数据库中导入和管理敏感列和敏感列类型。DBMS_TSDP_MANAGE 与 DBMS_TSDP_PROTECT 包一起使用,以实现透明的敏感数据保护 (TSDP) 策略。只有企业版提供了 DBMS_TSDP_MANAGE。

DBMS_TSDP_PROTECT

DBMS_TSDP_PROTECT 包提供了一个接口,用于与 DBMS_TSDP_MANAGE 包结合使用以配置透明的敏感数据保护 (TSDP) 策略。只有企业版提供了 DBMS_TSDP_PROTECT。

DBMS_XDB_CONFIG

DBMS_XDB_CONFIG 包提供了一个接口,用于配置 Oracle XML DB 及其存储库。

DBMS_XDB_CONSTANTS

DBMS_XDB_CONSTANTS 包为常用常量提供了一个接口。Oracle 建议使用常量而不是动态字符串来避免拼写错误。

DBMS_XDB_REPOS

DBMS_XDB_REPOS 包提供一个接口,用于对 Oracle XML 数据库存储库进行操作。

DBMS_XMLSCHEMA_ANNOTATE

DBMS_XMLSCHEMA_ANNOTATE 包提供了一个接口,用于管理和配置结构化存储模式 (主要通过使用预注册架构注释)。

DBMS_XMLSTORAGE_MANAGE

DBMS_XMLSTORAGE_MANAGE 包提供了一个接口,用于在完成架构注册之后管理和修改 XML 存储。

DBMS_XSTREAM_ADM

DBMS_XSTREAM_ADM 包提供了接口,用于在 Oracle 数据库与其他系统之间流式处理数据库更改。XStream 使应用程序可以流式发送或流式接收数据库更改。

DBMS_XSTREAM_AUTH

DBMS_XSTREAM_AUTH 包提供用于对 XStream 管理员授予和撤销权限的子程序。

UTL_CALL_STACK

UTL_CALL_STACK 包提供了一个接口,用于提供有关当前执行的子程序的信息。

不支持 Oracle Database 12c 版本 1 (12.1.0.2) 包

有几个 Oracle Database 11g PL/SQL 包在 Oracle Database 12c 版本 1 (12.1.0.2) 中不受支持。这些包中包括以下项:

  • DBMS_AUTO_TASK_IMMEDIATE

  • DBMS_CDC_PUBLISH

  • DBMS_CDC_SUBSCRIBE

  • DBMS_EXPFIL

  • DBMS_OBFUSCATION_TOOLKIT

  • DBMS_RLMGR

  • SDO_NET_MEM

Oracle 许可选项

Amazon RDS for Oracle 具有两种许可选项:附带许可 (LI) 和自带许可 (BYOL)。在 Amazon RDS 上创建 Oracle 数据库实例后,您可以通过修改数据库实例来更改许可模型。有关更多信息,请参阅 修改 Amazon RDS 数据库实例

附带许可

在附带许可模式下,您不需要单独购买 Oracle 许可证;AWS 持有 Oracle 数据库软件的许可证。在此模式下,如果您拥有可享受案例支持的 AWS Support 账户,就可以联系 AWS Support,解决 Amazon RDS 和 Oracle 数据库服务请求。仅在 Amazon RDS for Oracle Database 标准版 2 (SE2) 上支持附带许可证模式。

自带许可 (BYOL)

在 BYOL 模式下,可以使用自己现有的 Oracle Database 许可证来在 Amazon RDS 上运行 Oracle 部署。您必须拥有与数据库实例类和要运行的 Oracle Database 版本对应的 Oracle Database 许可证 (及软件更新许可证和支持)。您也必须遵循 Oracle 对云计算环境中 Oracle Database 软件的授权政策。有关 Oracle 对 Amazon EC2 的授权政策的更多信息,请参阅在云计算环境中授权 Oracle 软件

在此模式下,可以继续使用有效的 Oracle 支持账户,并能直接联系 Oracle 解决 Oracle 数据库服务请求。如果您拥有可享受案例支持的 AWS Support 账户,可以联系 AWS Support 来解决 Amazon RDS 问题。Amazon Web Services 和 Oracle 对于需要获得两家组织协助的案例,建立了多供应商支持流程。

Amazon RDS 仅支持 Oracle Database 企业版 (EE) 和 Oracle Database 标准版 2 (SE2) 的 BYOL 模式。

与 AWS License Manager 集成

为了更轻松地监控 BYOL 模型中的 Oracle 许可证使用情况,AWS License Manager 与 Amazon RDS for Oracle 相集成。License Manager 根据虚拟核心 (vCPU) 支持对 RDS for Oracle 引擎版本和许可包的跟踪。您也可以将 License Manager 与 AWS Organizations 一起使用以集中管理组织的所有账户。

下表显示了 RDS for Oracle 的产品信息筛选器。

Filter

名称

描述

引擎版本

oracle-ee

Oracle Database 企业版 (EE)

oracle-se2

Oracle Database 标准版 2 (SE2)

许可证包

data guard

请参阅 使用适用于 Amazon RDS 的 Oracle 副本 (Oracle Active Data Guard)

olap

请参阅 Oracle OLAP

ols

请参阅 Oracle Label Security

diagnostic pack sqlt

请参阅 Oracle SQLT

tuning pack sqlt

请参阅 Oracle SQLT

要跟踪 Oracle 数据库实例的许可证使用情况,您可以创建许可证配置。在这种情况下,与产品信息筛选条件匹配的 RDS for Oracle 资源会自动与许可证配置相关联。Oracle 数据库实例的发现操作可能需要长达 24 小时。

创建许可证配置以跟踪您的 Oracle 数据库实例的许可证使用情况

  1. 转到 https://console.amazonaws.cn/license-manager/

  2. 创建许可证配置。

    有关说明,请参阅 AWS License Manager 用户指南 中的创建许可证配置

    Product Information (产品信息) 面板中为 RDS Product Information Filter (RDS 产品信息筛选器) 添加规则。

    有关更多信息,请参阅 AWS License Manager API 参考 中的 产品信息

要使用 AWS CLI 创建许可证配置,请调用 create-license-configuration 命令。使用 --cli-input-json--cli-input-yaml 参数将参数传递给命令。

下面的代码为 Oracle Enterprise Edition 创建许可证配置。

aws license-manager create-license-configuration -cli-input-json file://rds-oracle-ee.json

下面是示例中使用的示例 rds-oracle-ee.json 文件。

{ "Name": "rds-oracle-ee", "Description": "RDS Oracle Enterprise Edition", "LicenseCountingType": "vCPU", "LicenseCountHardLimit": false, "ProductInformationList": [ { "ResourceType": "RDS", "ProductInformationFilterList": [ { "ProductInformationFilterName": "Engine Edition", "ProductInformationFilterValue": ["oracle-ee"], "ProductInformationFilterComparator": "EQUALS" } ] } ] }

有关产品信息的更多信息,请参阅 AWS License Manager 用户指南 中的资源清单自动发现

有关 --cli-input 参数的更多信息,请参阅 AWS CLI 用户指南中的从 JSON 或 YAML 输入文件生成 AWS CLI 骨架和输入参数

在 Oracle 版本之间迁移

如果您有适用于计划运行的数据库实例的版本和类别的未使用的 BYOL Oracle 许可证,可以从标准版 2 (SE2) 迁移到企业版 (EE)。您无法从企业版迁移到其他版本。

更改版本并保留数据

  1. 创建数据库实例的快照。

    有关更多信息,请参阅 创建数据库快照

  2. 将快照还原到新的数据库实例,然后选择要使用的 Oracle 数据库版本。

    有关更多信息,请参阅 从数据库快照还原

  3. (可选)删除旧数据库实例,除非您希望将其保持运行并具有相应的 Oracle Database 许可证。

    有关更多信息,请参阅 删除数据库实例

为 Oracle 多可用区部署授予许可

Amazon RDS 支持对 Oracle 的多可用区部署,这是一种高可用性故障转移解决方案。建议对生产工作负载使用多可用区。有关更多信息,请参阅Amazon RDS 的高可用性(多可用区)

如果使用自带许可模式,多可用区部署中必须具有主数据库实例和备用数据库实例的许可。

RDS for Oracle 实例类

数据库实例的计算和内存容量由数据库实例类决定。您需要的数据库实例类取决于您的处理能力和内存要求。有关更多信息,请参阅 数据库实例类

以下是 Oracle 支持的数据库实例类。

Oracle 版本 Oracle Database 19c、Oracle Database 18c 和 Oracle Database 12c 版本 2 (12.2.0.1) 支持 Oracle Database 12c 版本 1 (12.1.0.2) 支持

企业版 (EE)

自带许可 (BYOL)

db.m5.large–db.m5.24xlarge

db.m4.large–db.m4.16xlarge

db.z1d.large–db.z1d.12xlarge

db.x1e.xlarge–db.x1e.32xlarge

db.x1.16xlarge–db.x1.32xlarge

db.r5.large–db.r5.24xlarge

db.r5b.large–db.r5b.24xlarge

db.r4.large–db.r4.16xlarge

db.t3.small–db.t3.2xlarge

db.m5.large–db.m5.24xlarge

db.m4.large–db.m4.16xlarge

db.z1d.large–db.z1d.12xlarge

db.x1e.xlarge–db.x1e.32xlarge

db.x1.16xlarge–db.x1.32xlarge

db.r5.large–db.r5.24xlarge

db.r5b.large–db.r5b.24xlarge

db.r4.large–db.r4.16xlarge

db.t3.micro–db.t3.2xlarge

标准版 2 (SE2)

自带许可 (BYOL)

db.m5.large–db.m5.4xlarge

db.m4.large–db.m4.4xlarge

db.z1d.large–db.z1d.3xlarge

db.r5.large–db.r5.4xlarge

db.r5b.large–db.r5b.4xlarge

db.r4.large–db.r4.4xlarge

db.t3.small–db.t3.2xlarge

db.m5.large–db.m5.4xlarge

db.m4.large–db.m4.4xlarge

db.z1d.large–db.z1d.3xlarge

db.r5.large–db.r5.4xlarge

db.r5b.large–db.r5b.4xlarge

db.r4.large–db.r4.4xlarge

db.t3.micro–db.t3.2xlarge

标准版 2 (SE2)

附带许可

db.m5.large–db.m5.4xlarge

db.m4.large–db.m4.4xlarge

db.r5.large–db.r5.4xlarge

db.r4.large–db.r4.4xlarge

db.t3.small–db.t3.2xlarge

db.m5.large–db.m5.4xlarge

db.m4.large–db.m4.4xlarge

db.r5.large–db.r5.4xlarge

db.r4.large–db.r4.4xlarge

db.t3.micro–db.t3.2xlarge

注意

我们鼓励所有 BYOL 客户查阅其许可协议,以评估 Amazon RDS 对于 Oracle 弃用的影响。有关 Amazon RDS for Oracle 支持的数据库实例类别的计算容量的更多信息,请参阅数据库实例类为数据库实例类配置处理器

注意

如果您具有使用已弃用的数据库实例类的数据库实例的数据库快照,则可以在还原数据库快照时选择尚未弃用的数据库实例类。有关更多信息,请参阅 从数据库快照还原

已弃用的 Oracle 数据库实例类

以下是已弃用的 Amazon RDS for Oracle 数据库实例类:

  • db.m1、db.m2、db.m3

  • db.t1、db.t2

  • db.r1、db.r2、db.r3

前面的数据库实例类已被性能更好的数据库实例类所取代,后者的价格通常更低。Amazon RDS for Oracle 会自动将数据库实例扩展到未弃用的数据库实例类。

如果您具有使用已弃用的数据库实例类的数据库实例,Amazon RDS 会将每个实例修改为自动使用尚未弃用的性能相当的数据库实例类。您可以通过修改数据库实例来自行更改数据库实例的数据库实例类。有关更多信息,请参阅修改 Amazon RDS 数据库实例

如果您具有使用已弃用的数据库实例类的数据库实例的数据库快照,则可以在还原数据库快照时选择尚未弃用的数据库实例类。有关更多信息,请参阅 从数据库快照还原

RDS for Oracle 的功能

Amazon RDS for Oracle 支持 Oracle Database 的大部分特性和功能。有些功能可能仅提供有限的支持或受限制的权限。有些功能仅在企业版中可用,有些功能需要额外许可证。有关特定 Oracle 数据库版本所具备的 Oracle 数据库功能的更多信息,请参阅您所用版本的 Oracle 数据库许可信息用户手册

注意

这些列表并不详尽。

RDS for Oracle 支持的功能

Amazon RDS Oracle 支持以下 Oracle 数据库功能:

RDS for Oracle 不支持的功能

Amazon RDS Oracle 不支持以下 Oracle 数据库功能:

  • 自动存储管理 (ASM)

  • 数据库文件库

  • 闪回数据库

  • 消息网关

  • 多租户

  • Oracle Enterprise Manager 云控制管理存储库

  • 真实应用程序集群 (RAC)

  • 真实应用程序测试

  • 统一审计,纯净模式

  • 工作空间管理器 (WMSYS) 架构

警告

通常,Amazon RDS 不会阻止您为不受支持的功能创建架构。但是,如果您为需要 SYS 权限的 Oracle 功能和组件创建架构,则可能会损坏数据字典并影响实例的可用性。仅使用 向 Oracle 数据库实例添加选项 中可用的受支持的功能和架构。

RDS for Oracle 的参数

在 Amazon RDS 中,使用参数组管理参数。有关更多信息,请参阅使用数据库参数组。要查看特定 Oracle Database 版本支持的参数,可以运行 AWS CLI describe-engine-default-parameters 命令。

例如,要查看 Oracle Database 12c 版本 2 (12.2) 企业版支持的参数,请运行以下命令。

aws rds describe-engine-default-parameters \ --db-parameter-group-family oracle-ee-12.2

RDS for Oracle 字符集

Amazon RDS 支持两种类型的 Oracle 字符集:数据库字符集和国家/地区字符集。

数据库字符集

Oracle 数据库字符集用于 CHARVARCHAR2CLOB 数据类型中。数据库还将此字符集用于元数据,如表名、列名和 SQL 语句。Oracle 数据库字符集通常称为数据库字符集

您可以在创建数据库实例时设置该字符集。创建数据库后,无法更改数据库字符集。

支持的数据库字符集

下表列出了 Amazon RDS 中支持的 Oracle 数据库字符集。您可结合使用本表中的值和 AWS CLIcreate-db-instance 命令的 --character-set-name 参数,或 Amazon RDSAPI CreateDBInstance 操作的 CharacterSetName 参数。

描述

AL32UTF8

Unicode 5.0 UTF-8 通用字符集 (默认)

AR8ISO8859P6

ISO 8859-6 拉丁语/阿拉伯语

AR8MSWIN1256

Microsoft Windows 代码页 1256 8 位拉丁语/阿拉伯语

BLT8ISO8859P13

ISO 8859-13 波罗的海文

BLT8MSWIN1257

Microsoft Windows 代码页 1257 8 位波罗的海文

CL8ISO8859P5

ISO 88559-5 拉丁语/西里尔语

CL8MSWIN1251

Microsoft Windows 代码页 1251 8 位拉丁语/西里尔语

EE8ISO8859P2

ISO 8859-2 东欧国家语言

EL8ISO8859P7

ISO 8859-7 拉丁语/希腊语

EE8MSWIN1250

Microsoft Windows 代码页 1250 8 位东欧国家语言

EL8MSWIN1253

Microsoft Windows 代码页 1253 8 位拉丁语/希腊语

IW8ISO8859P8

ISO 8859-8 拉丁语/希伯来语

IW8MSWIN1255

Microsoft Windows 代码页 1255 8 位拉丁语/希伯来语

JA16EUC

EUC 24 位日语

JA16EUCTILDE

除波浪短划线和波形符至 Unicode 及来自 Unicode 的映射外,与 JA16EUC 相同

JA16SJIS

Shift-JIS 16 位日语

JA16SJISTILDE

除波浪短划线和波形符至 Unicode 及来自 Unicode 的映射外,与 JA16SJIS 相同

KO16MSWIN949

Microsoft Windows 代码页 949 韩语

NE8ISO8859P10

ISO 8859-10 北欧国家语言

NEE8ISO8859P4

ISO 8859-4 北欧和东北欧国家语言

TH8TISASCII

泰国工业标准 620-2533-ASCII 8 位

TR8MSWIN1254

Microsoft Windows 代码页 1254 8 位土耳其语

US7ASCII

ASCII 7 位美国英语

UTF8

Unicode 3.0 UTF-8 通用字符集 (符合 CESU-8 标准)

VN8MSWIN1258

Microsoft Windows 代码页 1258 8 位越南语

WE8ISO8859P1

西欧 8 位 ISO 8859 第 1 部分

WE8ISO8859P15

ISO 8859-15 西欧国家语言

WE8ISO8859P9

ISO 8859-9 西欧国家语言和土耳其语

WE8MSWIN1252

Microsoft Windows 代码页 1252 8 位西欧国家语言

ZHS16GBK

GBK 16 位简体中文

ZHT16HKSCS

Microsoft Windows 代码页 950,香港附属字符集 HKSCS-2001。字符集转换基于 3.0。

ZHT16MSWIN950

Microsoft Windows 代码页 950 繁体中文

ZHT32EUC

EUC 32 位繁体中文

NLS_LANG 环境变量

区域设置 是一组满足语言和文化要求的信息,这些信息对应于给定的语言和国家/地区。在客户端环境中设置 NLS_LANG 环境变量,是为 Oracle 指定区域设置行为最简单的方法。该变量可设置客户端应用程序和数据库服务器所使用的语言和地区。它还指示客户端字符集,该字符集对应于客户端应用程序输入或显示的数据的字符集。有关 NLS_LANG 和字符集的更多信息,请参阅 Oracle 文档中的什么是字符集或代码页?

NLS 初始化参数

您还可在 Amazon RDS 中为 Oracle 数据库实例设置实例级别的以下区域语言支持 (NLS) 初始化参数:

  • NLS_DATE_FORMAT

  • NLS_LENGTH_SEMANTICS

  • NLS_NCHAR_CONV_EXCP

  • NLS_TIME_FORMAT

  • NLS_TIME_TZ_FORMAT

  • NLS_TIMESTAMP_FORMAT

  • NLS_TIMESTAMP_TZ_FORMAT

有关修改实例参数的信息,请参阅使用数据库参数组

您可以在 SQL 客户端中设置其他 NLS 初始化参数。例如,以下语句在连接到 Oracle 数据库实例的 SQL 客户端中将 NLS_LANGUAGE 初始化参数设置为 GERMAN:

ALTER SESSION SET NLS_LANGUAGE=GERMAN;

有关使用 SQL 客户端连接到 Oracle 数据库实例的信息,请参阅连接到 Oracle 数据库实例

国家/地区字符集

国家/地区字符集用于 NCHARNVARCHAR2NCLOB 数据类型中。国家/地区字符集通常称为 NCHAR 字符集。与数据库字符集不同,NCHAR 字符集不影响数据库元数据。

NCHAR 字符集支持以下字符集:

  • AL16UTF16(默认值)

  • UTF8

您可以使用 create-db-instance 命令的 --nchar-character-set-name 参数指定值(仅 AWS CLI 版本 2)。如果您使用 Amazon RDS API,请指定 CreateDBInstance 操作的 NcharCharacterSetName 参数。创建数据库后,无法更改国家/地区字符集。

有关 Oracle 数据库中 Unicode 的更多信息,请参阅 Oracle 文档中的使用 Unicode 支持多语言数据库

RDS for Oracle 的限制

以下是使用 Amazon RDS for Oracle 的重要限制。

注意

此列表并不详尽。

Amazon RDS 中的 Oracle 文件大小限制

Amazon RDS Oracle 数据库实例上的最大文件大小为 16 TiB。如果您尝试将大文件表空间中的数据文件大小调整为超过限制的值,您会收到类似以下错误。

ORA-01237: cannot extend datafile 6 ORA-01110: data file 6: '/rdsdbdata/db/mydir/datafile/myfile.dbf' ORA-27059: could not reduce file size Linux-x86_64 Error: 27: File too large Additional information: 2

Oracle 提供的架构的公共同义词

请勿为 Oracle 提供的架构(包括 SYSSYSTEMRDSADMIN)创建或修改公共同义词。这样做可能会导致核心数据库组件失效并影响数据库实例的可用性。

您可以在自己的架构中创建公共同义词引用对象。

不支持的功能的架构

通常,Amazon RDS 不会阻止您为不受支持的功能创建架构。但是,如果您为需要 SYS 权限的 Oracle 功能和组件创建架构,可能会损坏数据字典并影响实例的可用性。仅使用 向 Oracle 数据库实例添加选项 中可用的受支持的功能和架构。

Oracle DBA 权限的限制

在数据库中,角色是可授予用户或从用户撤消的特权的集合。Oracle 数据库使用角色来提供安全性。

预定义角色 DBA 通常拥有对 Oracle 数据库的所有管理权限。创建数据库实例时,您的主用户账户将获得 DBA 权限(但有一些限制)。为了提供托管体验,RDS for Oracle 数据库不为 DBA 角色提供以下权限:

  • ALTER DATABASE

  • ALTER SYSTEM

  • CREATE ANY DIRECTORY

  • DROP ANY DIRECTORY

  • GRANT ANY PRIVILEGE

  • GRANT ANY ROLE

使用主用户账户执行管理任务,例如,在数据库中创建其他用户账户。您不能使用 SYSSYSTEM 和 Oracle 提供的其他管理账户。