1. 개요

예전 AIX 서버에 IBM JDK 1.6 32-bit 상에서 WebLogic 10.3로 구성한 후, 프로젝트 요청으로 JDK를 64-bit로 변경하였습니다. (JAVA_HOME 변경) 그런데 이후 WebLogic 기동시 Performance Pack을 로딩하지 못하는 현상이 발생합니다.

<2009. 12. 2 오후 8시 56분 32초 KST> <Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that libmuxer library is in :'/usr/java6_64/jre/lib/ppc64/default:/usr/java6_64/jre/lib/ppc64:/usr/java6_64/jre/lib/ppc64:/usr/java6_64/jre/lib/ppc64/default:/usr/java6_64/jre/lib/ppc64/j9vm:/usr/java6_64/jre/lib/ppc64:/usr/java6_64/jre/../lib/ppc64::/u01/weblogic/wls103/wlserver_10.3/server/native/aix/ppc:/usr/lib:/usr/lib'

2. 분석

분명 libmuxer.so 파일은 ./wlserver_10.3/server/native/aix/ppc/libmuxer.so에 존재하고 있었습니다. 그런데 문득 저 libmuxer.so 는 32-bit 용이 아닐까 하는 생각이 들어, JDK 64-bit가 설치된 상황에서 WebLogic 10.3을 다시 설치 해보니 이렇게 64-bit 용 libmuxer.so도 설치가 되었습니다.

./wlserver_10.3/server/native/aix/ppc/libmuxer.so
./wlserver_10.3/server/native/aix/ppc64/libmuxer.so

ppc64 디렉토리에는 libmuxer 이외에 다른 파일도 있습니다.

# ls -tlr
total 1744 
-rw-r--r--    1 weblogic weblogic     439714 12310:01 wlkeytool
-rw-r--r--    1 weblogic weblogic      27513 12310:01 wlauth
-rw-r--r--    1 weblogic weblogic      18384 12310:01 libwlfileio2.so
-rw-r--r--    1 weblogic weblogic       7984 12310:01 libwlenv.so
-rw-r--r--    1 weblogic weblogic      17299 12310:01 libweblogicunix1.so
-rw-r--r--    1 weblogic weblogic       4163 12310:01 libterminalio.so
-rw-r--r--    1 weblogic weblogic      20647 12310:01 libnodemanager.so
-rw-r--r--    1 weblogic weblogic      23040 12310:01 libmuxer.so
-rw-r--r--    1 weblogic weblogic     312513 12310:01 libjmsc.so

3. 대응 

Core 의 부분 설치만은 불가능하므로 다른 디렉토리에 Core만 선택하여 설치 후 ppc64 디렉토리를 옮깁니다.

Choose Products and Components:
-------------------------------
 
Release 10.3.0.0
|_____WebLogic Server [1] x
| |_____Core Application Server [1.1] x
| |_____Administration Console [1.2]
| |_____Configuration Wizard and Upgrade Framework [1.3] x
| |_____Web 2.0 HTTP Pub-Sub Server [1.4]
| |_____WebLogic JDBC Drivers [1.5]
| |_____Third Party JDBC Drivers [1.6]
| |_____WebLogic Server Clients [1.7]
| |_____WebLogic Web Server Plugins [1.8]
| |_____UDDI and Xquery Support [1.9]
| |_____Server Examples [1.10]
|_____Workshop [2]
|_____Workshop for WebLogic [2.1]
|_____Workshop Runtime Framework [2.2]
 
*Estimated size of installation: 190.2 MB  

commEnv.sh을 수정합니다. 

# Setup SUN_ARCH_DATA_MODEL 
SUN_ARCH_DATA_MODEL="32"

다음과 같이 64로 변경합니다. 

# Setup SUN_ARCH_DATA_MODEL 
SUN_ARCH_DATA_MODEL="64"

4. 기타

Performance Pack, Native I/O는 OS dependency한 영역이기 때문에 OS 버그에 영향을 받습니다. 과거 PosixSocketMuxer 버그에 의해 WAS Hang이 발생한 사례 등이 있습니다.