Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon RDS 上的 Oracle

Amazon RDS 支持运行若干 Oracle Database 版本的数据库实例。您可以使用以下版本:

  • Oracle 12c,版本 12.1.0.2

  • Oracle 11g,版本 11.2.0.4

Amazon RDS 目前还支持弃用路径的以下版本,因为 Oracle 将不再为其提供修补程序:

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

为了让用户获得托管服务体验,Amazon RDS 未提供对数据库实例的 Shell 访问权限,并且限制对需要高级权限的某些系统过程和表的访问权限。Amazon RDS 支持使用任何标准 SQL 客户端应用程序(例如 Oracle SQL Plus)访问数据库实例上的数据库。Amazon RDS 不允许主机通过 Telnet 或安全 Shell (SSH) 直接访问数据库实例。

在创建数据库实例时,您用于创建实例的主账户将获得数据库管理员用户权限 (有一些限制)。使用此账户执行任何管理任务,例如,在数据库中创建其他用户账户。无法使用 SYS 用户、SYSTEM 用户和其他管理账户。

在创建数据库实例之前,您应完成本指南的设置 Amazon RDS部分中的步骤。

Amazon RDS 上 Oracle 的常见管理任务

下面是您对 Amazon RDS Oracle 数据库实例执行的常见管理任务,以及有关每个任务的相关文档的链接。

任务区域 相关文档

实例类、存储和 PIOPS

如果您出于生产目的而创建数据库实例,则应该了解 Amazon RDS 中的实例类、存储类型和配置的 IOPS 的工作原理。

Oracle 的数据库实例类支持

Amazon RDS 存储类型

多可用区部署

生产数据库实例应使用多可用区部署。多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。

Amazon RDS 的高可用性(多可用区)

Amazon Virtual Private Cloud (VPC)

如果您的 AWS 账户具有默认 VPC,则自动在默认 VPC 中创建数据库实例。如果您的账户没有默认 VPC,并且您希望数据库实例位于 VPC 中,则必须在创建数据库实例之前创建 VPC 和子网组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

在 VPC 中使用 Amazon RDS 数据库实例

安全组

默认情况下,数据库实例在创建时带有一个防火墙,这个防火墙会阻止对实例进行访问。因此,您必须使用正确的 IP 地址和网络配置创建安全组来访问数据库实例。创建的安全组取决于您的数据库实例所在的 Amazon EC2 平台以及您是否会从 Amazon EC2 实例访问该数据库实例。

一般而言,如果数据库实例位于 EC2-Classic 平台上,则需要创建数据库安全组;如果数据库实例位于 EC2-VPC 平台上,则需要创建 VPC 安全组。

确定您使用的是 EC2-VPC 还是 EC2-Classic 平台

使用 Amazon RDS 安全组控制访问

参数组

如果数据库实例需要特定数据库参数,则应在创建数据库实例前创建参数组。

使用数据库参数组

选项组

如果数据库实例需要特定数据库选项,则应在创建数据库实例前创建选项组。

适用于 Oracle 数据库实例的选项

连接到您的数据库实例

在创建安全组并将其与数据库实例关联后,您可以使用任何标准 SQL 客户端应用程序 (如 Oracle SQL Plus) 连接到数据库实例。

与运行 Oracle 数据库引擎的数据库实例连接

备份与还原

您可以配置数据库实例以采用自动备份或采用手动快照,然后从备份或快照还原实例。

备份和还原 Amazon RDS 数据库实例

监控

您可以使用 CloudWatch Amazon RDS 指标、事件和增强监控来监控 Oracle 数据库实例。

查看数据库实例指标

查看 Amazon RDS 事件

日志文件

您可以访问 Oracle 数据库实例的日志文件。

Amazon RDS 数据库日志文件

还提供了用于 Oracle 数据库实例的高级任务和可选功能。有关更多信息,请参阅以下文档:

Oracle 许可

Amazon RDS for Oracle 具有两种可用的许可选项:附带许可和自带许可 (BYOL)。在 Amazon RDS 上创建 Oracle 数据库实例后,您可以使用 AWS 管理控制台、Amazon RDS API ModifyDBInstance 操作或 AWS CLI modify-db-instance 命令来更改许可模式。

附带许可

在“附带许可”模式下,您无需单独购买 Oracle 许可证。AWS 拥有 Oracle 数据库软件的许可证。在此模式下,如果您拥有可享受案例支持的 AWS Support 账户,就可以联系 AWS Support,解决 Amazon RDS 和 Oracle 数据库服务请求。

在 Amazon RDS 上,以下 Oracle 数据库版本支持“附带许可”模式:

  • Oracle Database 标准版 1 (SE1)

  • Oracle Database 标准版 2 (SE2)

自带许可 (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 数据库版本支持自带许可模式:

  • Oracle Database 企业版 (EE)

  • Oracle Database 标准版 (SE)

  • Oracle Database 标准版 1 (SE1)

  • Oracle Database 标准版 2 (SE2)

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

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

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

在 Oracle 版本之间迁移

对于 BYOL 模式,您可以从任何标准版(SE、SE1 或 SE2)迁移到企业版 (EE),假定您具有适合计划运行的数据库实例版本和类的未使用 Oracle 许可证。您无法从企业版迁移到其他版本。

更改版本并保留数据

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

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

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

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

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

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

Oracle 的数据库实例类支持

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

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

Oracle 版本 版本 12.1.0.2 支持 版本 11.2.0.4 支持

企业版 (EE)

自带许可 (BYOL)

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

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

db.m3.medium–db.m3.2xlarge

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

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

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

db.r3.large–db.r3.8xlarge

db.t2.micro–db.t2.2xlarge

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

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

db.m3.medium–db.m3.2xlarge

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

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

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

db.r3.large–db.r3.8xlarge

db.t2.micro–db.t2.2xlarge

标准版 2 (SE2)

自带许可 (BYOL)

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

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

db.m3.medium–db.m3.2xlarge

db.x1e.xlarge–db.x1e.4xlarge

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

db.r3.large–db.r3.4xlarge

db.t2.micro–db.t2.2xlarge

标准版 2 (SE2)

附带许可

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

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

db.m3.medium–db.m3.2xlarge

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

db.r3.large–db.r3.4xlarge

db.t2.micro–db.t2.2xlarge

标准版 1 (SE1)

自带许可 (BYOL)

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

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

db.m3.medium–db.m3.2xlarge

db.x1e.xlarge–db.x1e.4xlarge

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

db.r3.large–db.r3.4xlarge

db.t2.micro–db.t2.2xlarge

标准版 1 (SE1)

附带许可

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

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

db.m3.medium–db.m3.2xlarge

db.r3.large–db.r3.4xlarge

db.t2.micro–db.t2.large

标准版 (SE)

自带许可 (BYOL)

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

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

db.m3.medium–db.m3.2xlarge

db.x1e.xlarge–db.x1e.8xlarge

db.r4.large–db.r4.8xlarge

db.r3.large–db.r3.8xlarge

db.t2.micro–db.t2.2xlarge

已弃用的 Oracle 数据库实例类

Amazon RDS for Oracle 已弃用 db.m1 和 db.m2 数据库实例类。这些数据库实例类已被性能更好的数据库实例类取代,后者在正式发布时的价格更低。从 2018 年 9 月 12 日开始,Amazon RDS for Oracle 会将数据库实例自动扩展为尚未淘汰的数据库实例类。

如果您具有使用 db.m1 和 db.m2 数据库实例类的数据库实例,Amazon RDS 会将每个实例修改为自动使用尚未淘汰的性能相当的数据库实例类。您可以通过修改数据库实例来自行更改数据库实例的数据库实例类。有关更多信息,请参阅修改运行 Oracle 数据库引擎的数据库实例

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

Oracle 安全性

Oracle 数据库引擎采用了基于角色的安全机制。角色是可授予用户或从用户撤消的权限集合。名为数据库管理员的预定义角色通常拥有对 Oracle 数据库引擎的所有管理权限。对于使用 Oracle 引擎的 Amazon RDS 数据库实例,数据库管理员角色没有以下权限:

  • 更改数据库

  • 更改系统

  • 创建任何目录

  • 删掉任何目录

  • 授予任何权限

  • 授予任何角色

在创建数据库实例时,您用于创建实例的主账户将获得数据库管理员用户权限 (有一些限制)。使用此账户执行任何管理任务,例如,在数据库中创建其他用户账户。无法使用 SYS 用户、SYSTEM 用户和其他管理账户。

Amazon RDS Oracle 支持 SSL/TLS 加密的连接以及 Oracle 本机网络加密 (NNE) 选项来加密应用程序与 Oracle 数据库实例之间的连接。有关在 Amazon RDS 上对 Oracle 使用 SSL 的更多信息,请参阅对 Oracle 数据库实例使用 SSL。有关 Oracle Native Network Encryption 选项的更多信息,请参阅Oracle 本机网络加密

对 Oracle 数据库实例使用 SSL

安全套接字层 (SSL) 是用于保护客户端和服务器之间的网络连接的行业标准协议。在 SSL 3.0 版之后,此名称已更改为传输层安全性 (TLS),但它通常仍称为 SSL,我们将此协议称作 SSL。Amazon RDS 支持对 Oracle 数据库实例进行 SSL 加密。使用 SSL,您可加密应用程序客户端和 Oracle 数据库实例之间的连接。所有 AWS 区域均支持对 Oracle 使用 SSL。

通过向与数据库实例关联的选项组添加 Oracle SSL 选项,可实现针对 Oracle 数据库实例的 SSL 加密。Amazon RDS 按照 Oracle 的要求使用另一个端口进行 SSL 连接,这允许数据库实例和 Oracle 客户端之间能够同时进行明文通信和 SSL 加密通信。例如,您可以使用用于明文通信的端口与 VPC 内的其他资源通信,同时使用用于 SSL 加密通信的端口与 VPC 外部的资源通信。

有关更多信息,请参阅 Oracle 安全套接字层

注意

您不能在同一数据库实例上同时使用 SSL 和 Oracle 本机网络加密 (NNE)。您必须先禁用任何其他连接加密,然后才能使用 SSL 加密。

适用于 Amazon RDS 的 Oracle 12c

Amazon RDS 支持 Oracle 版本 12c,它包括 Oracle 企业版和 Oracle 标准版 2。相对于上一版,Oracle 版本 12c 引入了 500 多项新功能和更新。本部分介绍对 Amazon RDS 使用 Oracle 12c 十分重要的功能和更改。有关更改的完整列表,请参阅 Oracle 12c 文档。有关每个 Oracle 12c 版本支持的功能的完整列表,请参阅各版本的功能可用性

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

Oracle 12c 的 Amazon RDS 参数更改

除了几个具有新范围和新默认值的参数之外,Oracle 12c 还提供了 16 个新参数。

下表显示 Oracle 12c 中新的 Amazon RDS 参数:

名称

可修改

说明

connection_brokers

CONNECTION_BROKERS = broker_description[,...]

N

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

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

N

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

N

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

pga_aggregate_limit

1-最大内存值

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

processor_group_name

N

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

spatial_vector_acceleration

TRUE、FALSE

N

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

temp_undo_enabled

TRUE、FALSE (默认值)

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

threaded_execution

TRUE、FALSE

N

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

unified_audit_sga_queue_size

1 MB - 30 MB

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

use_dedicated_broker

TRUE、FALSE

N

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

对于 Amazon RDS 上的 Oracle 12c,有几个参数具有新的值范围。下表显示旧的和新的值范围:

参数名称

12c 范围

11g 范围

audit_trail

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

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

compatible

对于从 Oracle 11g 升级的数据库实例,在 Amazon RDS 上自动设置为 12.0.0,除非在升级期间显式提供了更低的值 (低至 11.2.0)

对于新的 Oracle 12c 数据库实例,在 Amazon RDS 上从 12.0.0 开始

在 Amazon RDS 上从 11.2.0 开始

db_securefile

PERMITTED | PREFERRED | ALWAYS | IGNORE | FORCE

PERMITTED | ALWAYS | IGNORE | FORCE

db_writer_processes

1-100

1-36

optimizer_features_enable

8.0.0 到 12.1.0.2

8.0.0 到 11.2.0.4

parallel_degree_policy

MANUAL、LIMITED、AUTO、ADAPTIVE

MANUAL、LIMITED、AUTO

parallel_min_server

0 到 parallel_max_servers

CPU_COUNT * PARALLEL_THREADS_PER_CPU * 2 到 parallel_max_servers

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

参数名称

Oracle 12c 默认值

Oracle 11g 默认值

job_queue_processes

50

1000

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

例如,要查看 Oracle 企业版 12c 版支持的参数,请运行以下命令:

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

Oracle 12c 的 Amazon RDS 系统权限

对于 Oracle 12c,向系统账户授予了几个新的系统权限。这些新的系统权限包括:

  • 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 12c 的 Amazon RDS 选项

比较 Oracle 11g 与 Oracle 12c 这两个版本,几个 Oracle 选项进行了更改,不过大多数选项保持不变。Oracle 12c 的更改包括:

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

  • XMLDB 选项在 Oracle 12c 中会默认安装。不再需要由您亲自安装该选项。

Oracle 12c 的 Amazon RDS PL/SQL 程序包

Oracle 12c 包含一些新的内置 PL/SQL 程序包。Amazon RDS Oracle 12c 附带的程序包如下:

程序包名称

说明

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_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 程序包为常用常量提供了一个接口。用户应使用常量而不是动态字符串来避免拼写错误。

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 12c 不支持的功能

Amazon RDS 上的 Oracle 12c 不支持以下功能:

  • 自动存储管理

  • Data Guard/Active Data Guard

  • 数据库文件库

  • Java 支持

  • 多租户数据库

  • Real Application Clusters (RAC)

  • 统一审核

有几个 Oracle 11g PL/SQL 程序包在 Oracle 12c 中不受支持。这些程序包包括:

  • DBMS_AUTO_TASK_IMMEDIATE

  • DBMS_CDC_PUBLISH

  • DBMS_CDC_SUBSCRIBE

  • DBMS_EXPFIL

  • DBMS_OBFUSCATION_TOOLKIT

  • DBMS_RLMGR

  • SDO_NET_MEM

适用于 Amazon RDS 的 Oracle 11g

Oracle 11g 支持的功能

以下列表显示了 Amazon RDS 支持的 Oracle 11g 功能。

  • 全面调用

  • 闪回表、查询和交易查询

  • 虚拟专用数据库

  • 细粒度审核

  • 全面支持 Microsoft .NET、OLE DB 和 ODBC

  • 自动内存管理

  • 自动撤消管理

  • 高级压缩

  • 分区

  • 星形查询优化

  • 摘要管理 - 具体化视图查询重写

  • Oracle Data Redaction

  • 分布式查询/事务

  • 文本

  • 具体化视图

  • Import/Export 和 sqlldr 支持

  • Oracle Enterprise Manager Database Control

  • Oracle XML DB (无 XML DB Protocol Server)

  • Oracle Application Express

  • 适用于企业版的 Automatic Workload Repository (AWR)。有关更多信息,请参阅 使用 Automatic Workload Repository (AWR)

  • Datapump (仅限网络)

  • 本机网络加密

  • 透明数据加密 (Oracle TDE),Oracle Advanced Security 功能的一部分

不支持的 Oracle 11g 功能

Amazon RDS 上的 Oracle 11g 不支持以下功能:

  • Real Application Clusters (RAC)

  • 真实应用程序测试

  • Data Guard/Active Data Guard

  • Oracle Enterprise Manager Grid Control

  • 自动存储管理

  • 数据库文件库

  • Streams 技术

  • Java 支持

  • Oracle Label Security

  • Oracle XML DB Protocol Server

Oracle 11g 的 Amazon RDS 参数

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

例如,要查看 Oracle 企业版 11g 版支持的参数,请运行以下命令:

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

Oracle 引擎版本管理

数据库引擎版本管理是 Amazon RDS 的一项功能,在为运行数据库实例的数据库引擎软件安装修补程序或进行升级方面,您可以用它控制时间和方式。该功能可让您灵活地保持与数据库引擎修补程序版本兼容、在生产部署前测试新修补程序版本以确保其适用于您的应用程序,以及根据自己的期限和时间表执行版本升级。

注意

Amazon RDS 使用 Amazon RDS 特定数据库引擎版本定期汇总官方 Oracle 数据库修补程序。要查看某个 Amazon RDS Oracle 特定引擎版本中包含的 Oracle 修补程序的列表,请转到 Oracle 数据库引擎发行说明

目前,您手动执行所有 Oracle 数据库升级。有关升级 Oracle 数据库实例的更多信息,请参阅 升级 Oracle 数据库引擎

弃用 Oracle 11.2.0.2

2017 年,Amazon RDS 会淘汰对 Oracle 版本 11.2.0.2 的支持。Oracle 不再提供此版本的修补程序。因此,为了向 AWS 客户提供最佳体验,我们将淘汰此版本。

不再有任何运行 Oracle 版本 11.2.0.2 的生产数据库实例。您仍可拥有 11.2.0.2 数据库实例的快照。

Amazon RDS 会按照以下计划淘汰对 Oracle 版本 11.2.0.2 的支持。

日期 信息

2016 年 8 月 4 日

您不再能够创建使用 Oracle 版本 11.2.0.2 的数据库实例.

2019 年 4 月 15 日

所有 11.2.0.2 版本的快照会升级到 11.2.0.4。

您可以在此日期之前自己升级快照。有关更多信息,请参阅升级 Oracle 数据库快照

弃用 Oracle 11.2.0.3

2017 年,Amazon RDS 会淘汰对 Oracle 版本 11.2.0.3 的支持。Oracle 不再提供此版本的修补程序。因此,为了向 AWS 客户提供最佳体验,我们将淘汰此版本。

不再有任何运行 Oracle 版本 11.2.0.3 的生产数据库实例。您仍可拥有 11.2.0.3 数据库实例的快照。

Amazon RDS 会按照以下计划淘汰对 Oracle 版本 11.2.0.3 的支持。

日期 信息

2016 年 8 月 4 日

您不再能够创建使用 Oracle 版本 11.2.0.3 的数据库实例。

2019 年 3 月 15 日

所有 11.2.0.3 版本的快照会升级到 11.2.0.4。

您可以在此日期之前自己升级快照。有关更多信息,请参阅升级 Oracle 数据库快照

弃用 Oracle 12.1.0.1

2017 年,Amazon RDS 会淘汰对 Oracle 版本 12.1.0.1 的支持。Oracle 不再提供此版本的修补程序。因此,为了向 AWS 客户提供最佳体验,我们将淘汰此版本。

不再有任何运行 Oracle 版本 12.1.0.1 的生产数据库实例。您仍可拥有 12.1.0.1 数据库实例的快照。

Amazon RDS 将按照以下计划淘汰对 Oracle 版本 12.1.0.1 的支持。

日期 信息

2017 年 2 月 15 日

您不再能够创建使用 Oracle 版本 12.1.0.1 的数据库实例。

2019 年 6 月 1 日

所有 12.1.0.1 版本的快照会升级到 12.1.0.2。

您可以在此日期之前自己升级快照。有关更多信息,请参阅升级 Oracle 数据库快照

借助 Oracle 数据库实例使用大页

Amazon RDS for Oracle 支持 Linux 内核大页,提高了数据库扩展能力。使用大页的结果是页表变小,花在内存管理上的 CPU 时间也减少,从而提高大数据库实例的性能。有关更多信息,请参阅 Oracle 文档中的巨页概述

您可对下列 Oracle 版本使用大页:

  • 12.1.0.2,所有版本

  • 11.2.0.4,所有版本

use_large_pages 参数控制是否为数据库实例启用大页。该参数的可能设置包括 ONLYFALSE{DBInstanceClassHugePagesDefault}。在 Oracle 的默认数据库参数组中,use_large_pages 参数设置为 {DBInstanceClassHugePagesDefault}

要控制是否自动为数据库实例启用大页,您可以在参数组中使用 DBInstanceClassHugePagesDefault 公式变量。该值如下所示确定:

  • 对于下表中提及的数据库实例类,DBInstanceClassHugePagesDefault 默认情况下计算结果始终为 FALSE,而 use_large_pages 的计算结果为 FALSE。如果实例类为 db.t2、db.r3 或 db.m4 系列,并且至少具有 14 GiB 内存,您可以手动启用大页。

  • 对于未在下表中提及的数据库实例类,如果实例类内存小于 100 GiB,则 DBInstanceClassHugePagesDefault 默认情况下计算结果为 TRUE,而 use_large_pages 的计算结果为 ONLY

  • 对于未在下表中提及的数据库实例类,如果实例类内存至少为 100 GiB,则 DBInstanceClassHugePagesDefault 的计算结果始终为 TRUE,而 use_large_pages 的计算结果为 ONLY

默认情况下,不为以下数据库实例类启用大页。

数据库实例类系列 默认情况下,不启用具有大页的数据库实例类

db.m4

db.m4.large,db.m4.xlarge,db.m4.2xlarge,db.m4.4xlarge,db.m4.10xlarge

db.m3

db.m3.medium,db.m3.large,db.m3.xlarge,db.m3.2xlarge

db.r3

db.r3.large,db.r3.xlarge,db.r3.2xlarge,db.r3.4xlarge,db.r3.8xlarge

db.t2

db.t2.micro,db.t2.small,db.t2.medium,db.t2.large

有关数据库实例类的更多信息,请参阅所有可用数据库实例类的规范

要为新的或现有的数据库实例手动启用大页,请将 use_large_pages 参数设置为 ONLY。大页不能与 Oracle 自动内存管理 (AMM) 一起使用。如果将 use_large_pages 参数设置为 ONLY,则还必须将 memory_targetmemory_max_target 都设置为 0.有关为数据库实例设置数据库参数的更多信息,请参阅使用数据库参数组

您也可以设置 sga_targetsga_max_sizepga_aggregate_target 参数。当设置系统全局区域 (SGA) 和程序全局区域 (PGA) 内存参数时,请将这些值加在一起。从可用实例内存 (DBInstanceClassMemory) 中减去此计算得到的总计值,可确定大页分配后的可用内存。必须保留至少 2 GiB 可用内存或总可用实例内存的 10% (取两者中较小的值)。

配置参数之后,必须重启数据库实例才能使更改生效。有关更多信息,请参阅 重启中的数据库实例

针对大页,以下示例参数配置手动启用大页。您应根据自己的需要设置这些值。

memory_target = 0 memory_max_target = 0 pga_aggregate_target = {DBInstanceClassMemory*1/8} sga_target = {DBInstanceClassMemory*3/4} sga_max_size = {DBInstanceClassMemory*3/4} use_large_pages = ONLY

假设在参数组中设置以下参数值。

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = {DBInstanceClassHugePagesDefault}

该参数组由内存小于 100 GiB 的 db.r4 数据库实例类以及内存大于 100 GiB 的 db.r3 实例使用。如果使用这些参数设置并将 use_large_pages 设置为 {DBInstanceClassHugePagesDefault},则会在 db.r4 实例上启用大页,但在 db.r3 实例上禁用大页。

请考虑在参数组中设置了以下参数值的另一个示例。

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = FALSE

该参数组由内存小于 100 GiB 的 db.r4 数据库实例类以及内存大于 100 GiB 的 db.r3 实例使用。如果使用这些参数设置,则会在 db.r4 和 db.r3 实例上禁用大页。

注意

如果该参数组由具有至少 100 GiB 内存的 db.r4 数据库实例类使用,将覆盖 FALSEuse_large_pages 设置并将其设置为 ONLY。在这种情况下,将发送有关覆盖的客户通知。

在大页在数据库实例上处于活动状态后,您可以启用增强监测以查看大页信息。有关更多信息,请参阅 增强监测

将 utl_http、utl_tcp 和 utl_smtp 用于 Oracle 数据库实例

Amazon RDS 支持对运行 Oracle 的数据库实例进行出站网络访问。您可以使用 utl_httputl_tcputl_smtp 从数据库实例连接到网络。

请注意有关使用出站网络访问的以下几点:

使用 OEM、APEX、TDE 和其他选项

大多数 Amazon RDS 数据库引擎均支持一些选项组,通过这些选项组,可选择其他功能用于数据库实例。Oracle 数据库实例支持若干选项,其中包括 Oracle Enterprise Manager (OEM)、透明数据加密 (TDE)、Application Express (APEX) 和本机网络加密。有关支持的 Oracle 选项的完整列表,请参阅适用于 Oracle 数据库实例的选项。有关使用选项组的详细信息,请参阅使用选项组

使用扩展数据类型

Amazon RDS Oracle 12c 版支持扩展数据类型。对于扩展数据类型,VARCHAR2、NVARCHAR2 和 RAW 数据类型的最大大小为 32,767 字节。要使用扩展数据类型,请将 MAX_STRING_SIZE 参数设置为 EXTENDED。有关更多信息,请参阅 Oracle 文档中的扩展数据类型

如果您不希望使用扩展数据类型,请将 MAX_STRING_SIZE 参数设置为 STANDARD(默认值)。在将该参数设置为 STANDARD 时,VARCHAR2 和 NVARCHAR2 数据类型的大小限制为 4,000 字节,RAW 数据类型的大小限制为 2,000 字节。

您可以在新的或现有的数据库实例上启用扩展数据类型。对于新的数据库实例,在启用扩展数据类型时,数据库实例的创建时间通常较长。对于现有的数据库实例,数据库实例在转换过程中不可用。

下面是启用了扩展数据类型的数据库实例的注意事项:

  • 在为数据库实例启用扩展数据类型时,您无法将数据库实例改回使用标准数据类型大小。在转换数据库实例以使用扩展数据类型后,如果将 MAX_STRING_SIZE 参数重新设置为 STANDARD,则会导致 incompatible-parameters 状态。

  • 在还原使用扩展数据类型的数据库实例时,您必须指定一个参数组并将 MAX_STRING_SIZE 参数设置为 EXTENDED。在还原期间,如果指定默认参数组或任何其他参数组并将 MAX_STRING_SIZE 设置为 STANDARD,则会导致 incompatible-parameters 状态。

  • 我们建议您不要为在 t2.micro 数据库实例类上运行的 Oracle 数据库实例启用扩展数据类型。

如果由于 MAX_STRING_SIZE 设置而导致数据库实例状态为 incompatible-parameters,数据库实例将保持不可用状态,直到您将 MAX_STRING_SIZE 参数设置为 EXTENDED 并重新引导数据库实例。

为新数据库实例启用扩展数据类型

为新数据库实例启用扩展数据类型

  1. 在参数组中将 MAX_STRING_SIZE 参数设置为 EXTENDED

    要设置该参数,您可以创建新的参数组或修改现有的参数组。

    有关更多信息,请参阅 使用数据库参数组

  2. 创建新的 Amazon RDS Oracle 数据库实例,并将 MAX_STRING_SIZE 设置为 EXTENDED 的参数组与该数据库实例相关联。

    有关更多信息,请参阅 创建运行 Oracle 数据库引擎的数据库实例

为现有数据库实例启用扩展数据类型

在修改数据库实例以启用扩展数据类型时,将转换数据库中的数据以使用扩展大小。数据库实例在转换期间不可用。转换数据所需的时间取决于数据库实例使用的数据库实例类和数据库大小。

注意

在启用扩展数据类型后,您无法在转换期间执行时间点还原以还原到某个时间。您可以还原到紧靠转换前或转换后的时间。

为现有数据库实例启用扩展数据类型

  1. 拍摄数据库的快照。

    如果在数据库中具有无效的对象,Amazon RDS 将尝试重新编译这些对象。如果 Amazon RDS 无法重新编译无效的对象,转换为扩展数据类型可能会失败。如果在转换过程中出现问题,您可以使用快照还原数据库。请始终在转换之前检查无效的对象,并修复或删除这些无效的对象。对于生产数据库,我们建议先在数据库实例的副本上测试转换过程。

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

  2. 在参数组中将 MAX_STRING_SIZE 参数设置为 EXTENDED

    要设置该参数,您可以创建新的参数组或修改现有的参数组。

    有关更多信息,请参阅 使用数据库参数组

  3. 修改数据库实例以将其与 MAX_STRING_SIZE 设置为 EXTENDED 的参数组相关联。

    有关更多信息,请参阅 修改运行 Oracle 数据库引擎的数据库实例

  4. 重新引导数据库实例以使参数更改生效。

    有关更多信息,请参阅 重启中的数据库实例