在部署有OGG的數據庫主機上打數據庫patch遇到的問題$ORACLE_HOME/lib/libclntsh.so.11.1 active
如下是報錯提示:
[oracle@lei1 17579684]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch apply Oracle Interim Patch Installer version 11.2.0.3.10 Copyright (c) 2015, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/11.2.0/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc OPatch version : 11.2.0.3.10 OUI version : 11.2.0.3.0 Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/17579684_Jun_29_2015_16_41_59/apply2015-06-29_16-41-58PM_1.log Applying interim patch '17579684' to OH '/u01/app/oracle/product/11.2.0/dbhome_1' Verifying environment and performing prerequisite checks... Prerequisite check "CheckActiveFilesAndExecutables" failed. The details are: Following executables are active : /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/17579684_Jun_29_2015_16_41_59/apply2015-06-29_16-41-58PM_1.log Recommended actions: OPatch needs to modify files which are being used by some processes. OPatch failed with error code 41 [oracle@lei1 17579684]$
很奇怪,為啥提示還占用,db instance 和db listener 都事先關閉了。
下面fuser和lsof上場:
[root@lei1 ~]# fuser /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: 3288m [root@lei1 ~]# lsof /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ggsci 3288 oracle mem REG 253,0 52699035 661288 /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 [root@lei1 ~]#
原來是ggsci程序還在訪問libclntsh.so.11.1,其實,當時ogg的進程已經stop了,但是ggsci並沒有退出。退出ggsci即可。然後重新opatch apply 即可!