关于Oracle Online Patch的离线模式
Online Patch的特点之一是可以在数据库实例不关闭的情况下进行打补丁操作。
另外,readme也提到,可以使用离线模式打。
以补丁18034737为例,该补丁的readme有如下:
(2.1) Installing in Offline Mode
-----------------------------------
To install the patch, follow these steps:1. Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following commands:
$ cd <PATCH_TOP_DIR>/18034737
$ opatch apply
2. Verify whether the patch has been successfully installed by running the following command:
$ opatch lsinventory
3. Start the services from the Oracle home.
而且,readme强烈建议使用离线模式,就算一开始用在线模式也建议一旦有机会回退然后用离线模式打。
- It is strongly recommended to rollback all Online patches and replace them with regular (offline) patches on next instance shutdown or the earliest maintenance window.
当然,以在线模式打,会出现$ORACLE_HOME/hpatch的目录,以离线模式打则没有。
并且如果使用离线模式,和普通补丁不同的是没有脚本给你去更新数据字典信息。
在我之前的一篇博文中Oracle Online Patching的限制有提到:
上述限制点的第3点,其实就算使用离线模式打也根本不需要enable,即便跟普通补丁不一样它不需要跑脚本。
因为最近测试库宕掉需要重新搞数据,于是有机会验证下离线模式下,补丁到底生效了没有。
对于BUG 18034737,在数据泵大量导入数据后(比如实例名是test)会在警告日志的目录下生成大量以test_w***.trc的文件,如下:
18034737 | MANY TRACEFILES FROM WXXX KJTS SLAVE PROCESS AFTER UPGRADE TO 11.2.0.4 |
在测试迁移过程中,反复在离线模式打了18034737的情况下做大量数据导入,不会出现大量trc文件。
后续将补丁卸载后,再次导入就出现该文件了。
因此离线模式直接打即可,无需同普通补丁一样打完跑脚本(也没脚本给你跑)。