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

Oracle 时区文件概览

Oracle Database 时区文件存储以下信息:

  • 相对于协调世界时(UTC)的偏移量

  • 夏令时(DST)的过渡时间

  • 标准时间和 DST 的缩写

Oracle Database 提供多个版本的时区文件。在本地环境中创建 Oracle 数据库时,可以选择时区文件版本。有关更多信息,请参阅《Oracle Database 全球化支持指南》中的选择时区文件

如果 DST 的规则发生变化,Oracle 将发布新的时区文件。Oracle 发布这些新的时区文件与每季度版本更新(RU)和版本更新修订(RUR)的时间表无关。时区文件位于数据库主机上的目录 $ORACLE_HOME/oracore/zoneinfo/ 中。时区文件名使用的格式为 DstVversion,如 DSTV35 所示。

时区文件如何影响数据传输

在 Oracle 数据库中,TIMESTAMP WITH TIME ZONE 数据类型存储时间戳和时区数据。TIMESTAMP WITH TIME ZONE 数据类型的数据使用关联时区文件版本中的规则。这样,当您更新时区文件时,现有 TIMESTAMP WITH TIME ZONE 数据会受到影响。

在使用不同版本时区文件的数据库之间传输数据时,可能会出现问题。例如,如果您从时区文件版本比目标数据库更高的源数据库导入数据,数据库会发出 ORA-39405 错误。以前,您必须使用以下任一方法解决此错误:

  • 使用所需的时区文件创建 RDS for Oracle 数据库实例,从源数据库导出数据,然后将其导入到新数据库中。

  • 使用 Amazon DMS 或逻辑复制来迁移数据。

使用 TIMEZONE_FILE_AUTOUPGRADE 选项进行自动更新

当附加到 RDS for Oracle 数据库实例的选项组包括 TIMEZONE_FILE_AUTOUPGRADE 选项时,RDS 将自动更新您的时区文件。通过确保 Oracle 数据库使用相同的时区文件版本,可以避免在不同环境之间移动数据时采用耗时的手动方法。容器数据库(CDB)和非 CDB 均支持 TIMEZONE_FILE_AUTOUPGRADE 选项。

当您向选项组添加 TIMEZONE_FILE_AUTOUPGRADE 选项时,您可以选择是立即添加此选项,还是在维护时段添加此选项。数据库实例应用新选项后,RDS 会检查它是否可以安装更新的 DSTvversion 文件。目标 DSTvversion 取决于以下内容:

  • 数据库实例当前正在运行的次要引擎版本

  • 您要将数据库实例升级到的次要引擎版本

例如,您当前的时区文件版本可能是 DSTv33。当 RDS 将更新应用到选项组时,它可能会确定 DSTv34 在数据库实例文件系统上当前可用。然后,RDS 自动将您的时区文件更新到 DSTv34。

要在支持的 RDS 版本更新中查找可用的 DST 版本,请查看适用于 Oracle 的 Amazon Relational Database Service(Amazon RDS)发布说明中的补丁。例如,版本 19.0.0.0.ru-2022-10.rur-2022-10.r1 列出补丁 34533061: RDBMS - DSTV39 UPDATE - TZDATA2022C。