更新数据库

本文介绍了使用控制台和 API 更新数据库系统中的数据库的过程。

必需的 IAM 策略

要使用 Oracle Cloud Infrastructure,必须由管理员在策略中为您授予安全访问权限。无论您是将控制台或 REST API 与 SDK、CLI 还是其他工具结合使用,都需要进行此访问。如果您收到一则表明您无权访问或未经授权的消息,请向管理员确认您具有哪些类型的访问权限以及要使用哪些区间

对于管理员:让数据库管理员管理 Oracle Cloud 数据库系统中的策略允许指定的组对数据库和相关数据库资源执行所有操作。

如果您刚接触策略,请参阅策略入门常见策略。如果要深入了解如何为数据库编写策略,请参阅数据库服务的详细信息

关于更新数据库

Oracle 建议先更新数据库系统,然后再更新该数据库系统中的数据库。

对于 Oracle Database,有四个最新版本(N 到 N-3)提供更新。例如,如果实例使用 21c 并且提供的 21c 的最新版本为 21.10.0.0,则 21.10.0.0、21.9.0.0、21.8.0.0 和 21.7.0.0 可用于 Oracle Database 更新。您可以使用其中的任何更新,但 Oracle 建议使用最新更新。

您还可以使用定制数据库软件映像更新 Oracle Database。使用软件映像进行更新时,Oracle 支持基于四个最新版本(N 到 N-3)中的任何一个使用任何映像进行更新。

以下内容仅适用于自 2022 年 4 月 12.1 和 12.2 更新以及 2022 年 7 月 19c 更新开始的基于 Oracle 的更新。

如果安装了任何临时更新(以前称为一次性修补程序),则在安装新更新之前将自动回退这些临时更新。如果新更新不包括临时更新,您可以在完成安装新更新后再次安装临时更新。

如果您的数据库中安装了任何临时更新,为了避免在新更新后安装临时更新,Oracle 建议使用定制数据库软件映像并使用该映像更新数据库。

运行预检查后,可以通过在 dbcli 中执行以下命令来确定是否安装了任何其他临时更新。

dbcli describe-job -i <job id>

其中 job id (dbcli list-jobs) 是预检查运行的作业 ID。

Oracle 主目录中的所有更改都将复制到新更新和安装的数据库。

注意:

  • Oracle 不建议更改数据库主目录中的任何文件。
  • 必须确保正确复制对数据库主目录所做的所有更改。如果已复制数据库主目录中的任何文件或文件夹(如 tnsnames.oralistener.ora 等),则应手动备份这些文件。

数据库系统应有权访问 OCI 中的身份端点和对象存储端点。如果在专用子网上运行的数据库系统只配置了服务网关而没有其他网关(例如 NAT 网关),则应确保服务网关已设置为允许访问所有 Oracle 服务,而不仅仅是对象存储。如果可以通过其他方式访问身份和对象存储端点,则无需更改。

有关当前可用数据库更新的列表的更多信息,请参阅当前可用的更新

注意:

必须使用 OPATCH 工具手动应用 OJVM 更新。

使用数据库软件映像应用临时更新

我们不建议对数据库系统应用临时更新。而应创建和部署包含必要修复的数据库软件映像。仅当无法使用数据库软件映像(例如,将临时更新应用于 GI 主目录)时,您才能提交服务请求 (Service Request,SR) 并请求支持协助以下载临时更新。

有关数据库软件映像的更多信息,请参见软件映像

应用数据库更新

查看数据库更新历史记录

应用临时更新

使用 API

有关使用 API 和签名请求的信息,请参阅 REST API安全身份证明。有关 SDK 的信息,请参见 Software Development Kits and Command Line Interface

使用以下 API 管理数据库更新:

  • ListDbHomePatches
  • ListDbHomePatchHistoryEntries
  • GetDbHomePatch
  • GetDbHomePatchHistoryEntry
  • UpdateDbHome
  • UpdateDatabase

有关数据库服务的 API 的完整列表,请参阅数据库服务 API