在Solaris 10打补丁的时,前期准备(关数据库,listener,修改oraInst.loc)之后,然后opatch apply ,跳过Y|N之后,备分文件,编译之后,貌似一切都顺利了,但到了verifying patch...,就没任何进展了,半小时过后,没任何屏幕输出,后来,问一下同事,同事说是java版本的问题,版本要1.4以上。只好重来,opatch指定jreLoc,这样整个过程20分钟就完成了。Oracle9i是不带java1.4的,所以要指向其它的地方.
有了在Solaris 10上打CPU补丁的经验后,AIX机器上的9i数据库,也顺着这个思路,指定Java 1.4的版本,但运行时跳出如下错误: java.lang.UnsatisfiedLinkError: oui/lib/aix/liboraInstaller.so: load ENOEXEC on shared library(s) oui/lib/aix/liboraInstaller.so at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2144) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1973) at java.lang.Runtime.load0(Runtime.java:773) at java.lang.System.load(System.java:887) at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:372) at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:119) .... Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't find library oraInstaller (liboraInstaller.a or .so) in sun.boot.library.path or java.library.path ........ 从上面的错误来判断,应是java这边的错误,进一步确认一下java的版本
./java -version java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca142-20070708 (SR9) (JIT enabled: jitc))
lslpp -l |grep Java Java14.sdk 1.4.2.175 COMMITTED Java SDK 32-bit VRTScscm.rte 5.0.1.0 COMMITTED Veritas Cluster Manager - Java Java14.sdk 1.4.2.175 COMMITTED Java SDK 32-bit VRTScscm.rte 5.0.1.0 COMMITTED Veritas Cluster Manager - Java
从上面来看,java是32位的。
file $ORACLE_HOME/bin/oracle
$ORACLE_HOME/bin/oracle: 64-bit XCOFF executable or object module not stripped 从这里来看,版本不一致,可能问题所在,直接到64位的10G数据库直接拷个1.4的JRE.然后再跑opatch,补丁就顺利完成.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/45188/viewspace-1027945/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/45188/viewspace-1027945/