互联网上的各种消息来源表明,在每次操作系统升级和/或补丁之后,重新链接 Oracle 二进制文件是必要的。
我可以理解升级 glibc 时需要重新链接。有些包可能不需要重新链接,有些需要,有些我不确定:
- 升级 glibc -> 我想需要重新链接
- 升级 vim -> 我想不需要重新链接
- 升级 gzip -> 我不确定
- 升级内核->我不确定
有没有人有一个列表,或者任何人都可以向我指出 Oracle 实际链接的库的列表吗?我不是 Oracle DBA,所以我对 Oracle 链接过程一无所知。我什至不确定我是否真的了解 Oracle 在重新链接期间所做的事情:在二进制软件中,安装后进行自己的链接并不是一种常见的做法,是吗?
无论如何,长话短说:我有几个 RHEL[345] 盒子,我需要应用一些补丁。大多数机器都运行 Oracle,我想知道哪些补丁需要重新链接,哪些不需要。尽可能详尽的清单会很好:)
我很少需要重新链接 Oracle 数据库,可能只有在主要的操作系统升级或从 32 位升级到 64 位之后。但是,如果您有疑问,请运行它。需要一分钟。另一个要咨询的来源是metalink note 131321.1 ...要点是:
" 在以下情况下会自动进行重新链接:
以下信息已添加到 Metalink 的“认证”部分:
Oracle 数据库 - 企业版的一般说明:
操作系统信息:厂商保证操作系统二进制兼容性;因此,除非另有明确说明,否则在升级这些操作系统时不需要重新安装或重新链接 Oracle 软件。
在以下情况下建议手动重新链接 Oracle(即使操作系统供应商可能不需要):
"
为了全面了解,除了上面所说的之外,如果您要更改 Linux 内核,Oracle Clusterware 可能还需要重新链接。例如,如果您使用 ACFS 文件系统,Oracle 具有特定 Linux 内核版本的 ACFS 内核驱动程序。不确定小内核升级是否符合此条件。
它实际上并不是修复 acfs Clusterware 驱动程序的重新链接本身,而是安装新 ACFS 驱动程序的 crs/install/rootcrs.pl -lock(或用于单节点集群件的 roothas.pl -lock)脚本。在重新链接集群件二进制文件之前,您必须调用 rootcrs.pl -unlock ,一旦重新链接完成 - 然后是 rootcrs.pl -lock 。
来自 Oracle Metalink 注释“重新链接 Oracle 主页常见问题解答(常见问题)(文档 ID 1467060.1)”已在另一个答案中提到,该文档的当前版本:
如果您使用 Oracle Linux,那么它与 Redhat Enterprise Linux 100% 兼容,根据Oracle Linux 常见问题
红帽企业 Linux 7:应用程序兼容性指南。
因此,Oracle 建议在更改(补丁、升级等)后重新链接二进制文件,而 Redhat 仅做出“商业上合理的努力,以在所有次要版本中保持核心运行时环境的二进制兼容性”。
对于二进制兼容性,不仅操作系统必须不更改应用程序二进制接口 (ABI),而且应用程序仅使用此接口而不使用其他可能未记录的例程。
重新链接很容易,Oracle 提供了一个必须在正确环境中执行的脚本。所以实际上你可以添加链接到你的数据库的开始脚本,如果你有一个,并且每次启动数据库时都做这个链接。
所需的 Linux 软件包可以在 Linux 的数据库安装指南中找到
但我不确定手册中的这些信息有多可靠。>ou 还可以对某些二进制文件运行“ldd”命令以找出它使用的库。
但我认为重新链接 Oracle 软件更容易。这并不难。根据Metalink注释,设置变量
并运行
对于您的所有情况,我建议不要。我一直明白,重新链接是为了升级或修补Oracle安装的一部分,而不是它的支持操作系统。