在 RDS for Oracle 中开启扩展数据类型 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 RDS for Oracle 中开启扩展数据类型

Amazon RDS for Oracle 支持扩展数据类型。对于扩展数据类型,VARCHAR2NVARCHAR2RAW 数据类型的最大大小为 32767 字节。要使用扩展数据类型,请将 MAX_STRING_SIZE 参数设置为 EXTENDED。有关更多信息,请参阅 Oracle 文档中的扩展数据类型

如果您不希望使用扩展数据类型,请将 MAX_STRING_SIZE 参数设置为 STANDARD(默认值)。在这种情况下,VARCHAR2NVARCHAR2 数据类型的大小限制为 4,000 字节,RAW 数据类型的大小限制为 2,000 字节。

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

扩展数据类型的注意事项

为数据库实例启用扩展数据类型时,请考虑以下几点:

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

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

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

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

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

为新数据库实例开启扩展数据类型
  1. 在参数组中将 MAX_STRING_SIZE 参数设置为 EXTENDED

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

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

  2. 创建新的 RDS for Oracle 数据库实例。

    有关更多信息,请参阅创建 Amazon RDS 数据库实例

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

    有关更多信息,请参阅创建 Amazon RDS 数据库实例

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

在修改数据库实例以开启扩展数据类型时,RDS 将转换数据库中的数据以使用扩展的大小。参数更改后,下次重启数据库时会发生转换和停机。数据库实例在转换期间不可用。

转换数据所需的时间取决于数据库实例类、数据库大小和最后一个数据库快照的时间。为减少停机时间,请考虑就在重启前拍摄快照。这缩短了转换工作流程期间执行的备份的时间。

注意

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

为现有数据库实例开启扩展数据类型
  1. 拍摄数据库的快照。

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

    有关更多信息,请参阅“为单可用区数据库实例创建数据库快照”。

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

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

    有关更多信息,请参阅“使用参数组”。

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

    有关更多信息,请参阅“修改 Amazon RDS 数据库实例”。

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

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