Wednesday, April 23, 2008

Starting 64 bit OBI Service in Solaris

I tried to restart OBI service after a long time today.

yyy:/xxxx/OracleBI/setup>./run-sa.sh start64

yyy:/xxxx/xx>tail -f /xxxx/xxx/OracleBI/server/Log/NQServer.log

2008-03-21 10:19:06
[nQSError: 43059] Init block 'LAST_SYND_DS_YTD_QTD': Dynamic refresh of repository scope variables has failed.
ld.so.1: nqsserver: fatal: /pgobiee/app/oracle/10.2.0/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64
[nQSError: 46029] Failed to load the DLL /pgobiee/app/obiee/OracleBI/server/Bin/libnqsdbgatewayoci10g.so. Check if 'Oracle OCI 10G' database client is installed.

If you read see, OBI is trying to use the file in lib directory, which is a 64 bit file. I checked the LD_LIBRARY_PATH variable and added an entry for Oracle client lib directory.

yyy:/xxxx/OracleBI/setup>export $LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

I restarted the sevice by issuing

yyy:/xxxx/OracleBI/setup>./run.sa.sh start64
yyy:/xxxx/xx>tail -f /xxxx/xxx/OracleBI/server/Log/NQServer.log
2008-03-21 10:19:06
[nQSError: 43059] Init block 'LAST_SYND_DS_YTD_QTD': Dynamic refresh of repository scope variables has failed.
ld.so.1: nqsserver: fatal: libclntsh.so.10.1: No such file or directory
[nQSError: 46029] Failed to load the DLL /pgobiee/app/obiee/OracleBI/server/Bin64/libnqsdbgatewayoci10g64.so. Check if 'Oracle OCI 10G' database client is installed.

I created a soft link to libclntsh.sl in Oracle\lib32 in Bin64 directory.

yyy:/xxxx/OracleBI/server/Bin64>ln -s $ORACLE_HOME/lib32/libclntsh.so libclntsh.so.10.1

The service starts with no complaints.

I could not find any noticeable differences with 64 bit service running. So, I removed the soft link and started the 32 bit service. Make sure LD_LIBRARY_PATH has $Oracle_HOME/lib32 included.

No comments: