UNIX Job Server won't configure from svrcfg

Having a problem getting my Solaris Job Server to run. All the other services and servers configured and work, but after running the job server config I get an error and no job server. I have confirmed the $LD_LIBRARY_PATH is valid and correct, the library file referenced is correct, all the env variables are being set in al_env.sh, etc.

$ echo $LD_LIBRARY_PATH
/usr/local/data_integ/bin:/usr/local/data_integ/HttpServer/bin:
/usr/local/data_integ/bin:/usr/local/data_integ/HttpServer/bin:
/ora01/app/oracle/product/9.2.0/lib32:/ora01/app/oracle/product
/9.2.0/lib:/ora01/app/oracle/product/9.2.0/network/lib:/ora01/app
/oracle/product/9.2.0/lib32:/ora01/app/oracle/product/9.2.0/lib:
/ora01/app/oracle/product/9.2.0/network/lib

Not sure why it is repeated 2x. Should not matter anyway.

What is strange is the web server, for example, should not configure if this was an env variable issue - the web server home var is set and it does configure.

Job Service is stopped when trying to configure, nothing running. Oracle DBMS connection and password checks out from SQL Plus on my PC. $ORACLE_HOME is also correct.

Any suggestions welcome. The output file is empty and size 0 bytes(/tmp/al_machine.out.2339). Also note I have used other names for the job server, including default (Server1). Did not work. Access Server, Web Server, etc. all configured no problems.

See below for the output error text:

** Data Integrator Server Manager Utility **

   1 : Control Job Service
   2 : Configure Job Server
   3 : Configure Access Server
   4 : Configure Web Server
   5 : Configure SNMP Agent   
   6 : Configure SMTP
   7 : Configure HACMP
   x : Exit

Enter Option: 2


             Current Job Server Information

No Job Server Information Available

Enter a Name for Job Server [Server1]:jobserver
Enter TCP Port Number for Job Server :3500
Do you want to manage adapters for the Job Server ‘Y|N’ [N]: N

  1. Oracle
  2. Informix
  3. DB2
  4. Sybase ASE
    Enter the database type (1,2,3 or 4) for the associated repository: 1
Enter the repository connection string: CISDBA
Enter the repository username: bodidev
Enter the repository password (not echoed):
Confirm the repository password (not echoed):

S#  Job Server Name  TCP    Repository Connection
                     Port
--  ---------------  ----   ---------------------

1   jobserver        3500   bodidev@CISDBA__Oracle

Is this information correct [Y/N]? Y

Updating the repository <bodidev@CISDBA__Oracle>.  Please wait...

(11.5) 07-19-06 11:05:56 (E) (2352:0001) CON-120421: Initialization
                                                     Oracle shared library <libclntsh.so> not found. Please make sure it is installed and can be located using the library search
                                                     path (LIBPATH on AIX, LD_LIBRARY_PATH on Solaris/Linux, SHLIB_PATH on HP-UX). Please check the file permissions for
                                                     <libclntsh.so>.
UNABLE to Update the repository <bodidev@CISDBA__Oracle>. Please check the /tmp/al_machine.out.2339 for more details!


Continue to Add/Modify/Delete Job Servers[Y/N]: Y
_____________________________________________________________________

                 Current Job Server Information
_____________________________________________________________________

No Job Server Information Available

Thanks in advance for any input,
Steve :hb:


Stracy :us: (BOB member since 2006-07-14)

Hard to understand why the other servers also dependent on ENV variables configured just fine:

Checking for existence of AL_JobService…
Starting AL_JobService. This may take several seconds.
Please Wait!!!
07-18-06 17:32:43 (17838:001) JSERVICE: Attempting to Start Data Integrator Web Server…
07-18-06 17:32:43 (17838:001) JSERVICE: Found 1 Web Server(s) configured.
07-18-06 17:33:04 (17838:001) JSERVICE: INFO: Data Integrator Web Server /usr/local/data_integ//ext/WebServer:22828:ANY:28080,pid:17839 is up and running.
07-18-06 17:33:04 (17838:001) JSERVICE: Attempting to Start JobServer(s)…
07-18-06 17:33:04 (17838:001) JSERVICE: Found 0 JobServer(s) configured.
07-18-06 17:33:04 (17838:001) JSERVICE: Attempting to Start AccessServer(s)…
07-18-06 17:33:04 (17838:001) JSERVICE: Found 1 AccessServer(s) configured.


Stracy :us: (BOB member since 2006-07-14)

Can you check where this required library actually sits?

What caught my eye is this line:

ora01/app 
/oracle/product/9.2.0/lib32:/ora01/app/oracle/product/9.2.0/lib: 
/ora01/app/oracle/product/9.2.0/network/lib

So the library path includes the lib directory (the database 64 bit libraries), lib32 directory but for network only the network/lib. In other words, I suspect the only library to be found via the LD_LIB_PATH is the 64 bit version.

The webserver can startup because a) it is tomcat only, b) requires java only and c) uses the JDBC drivers, not the C++ shared libraries like the DI engine does (for performance reasons).

Use the Unix command “file libclntsh.so” to get the file type.


Werner Daehn :de: (BOB member since 2004-12-17)

Yes, I checked the file:

in /ora01/app/oracle/product/9.2.0/lib32 -

lrwxrwxrwx   1 oracle   dba           16 Jun 16 17:09 libclntsh.so -> libclntsh.so.9.0
-rwxr-x---   1 oracle   dba      16330368 Jun 16 17:09 libclntsh.so.9.0

and in
/ora01/app/oracle/product/9.2.0/lib -

lrwxrwxrwx   1 oracle   dba           16 Jun 16 17:09 libclntsh.so -> libclntsh.so.9.0
-rwxr-xr-x   1 oracle   dba      17400352 Jun 16 17:09 libclntsh.so.9.0

First thing is the actual file is different; “libclntsh.so” is a link to “libclntsh.so.9.0”. In most cases the linkname can be used as if it were the actual file, but I wonder about the permissions on these files -

One thing that stands out right away is the permissions for libclntsh.so.9.0 in the 32-bit library are “-rwxr-x—” vs. “-rwxr-xr-x” and since the ID used is impacted by the last three, it is “no permissions” in the 64-bit library.

If I recall correctly permissions to a file link created with ln are not the same just because the link file is wide open, i.e. this does not mean the file linked to is accessible.

If I read that correctly the file linked to in the 32-bit library is not accessible to users outside the Oracle UNIX Group.

That may be causing some issues - I checked errorlog.txt and found the following entry:

(11.5) 07-17-06 14:42:39 (E) (28733:0001) CON-120421: Initialization
Oracle shared library <libclntsh.so> not found. Please make sure it is installed and can be located usi
ng the library search path (LIBPATH on AIX, LD_LIBRARY_PATH on Solaris/Linux, SHLIB_PATH on HP-UX). Please check the file permissions for <libclntsh.so>.

I don’t think the permissions are set correctly.

  • Steve
    :?

Stracy :us: (BOB member since 2006-07-14)

Oops - I meant “no permissions in the 32-bit library” not the 64-bit one.


Stracy :us: (BOB member since 2006-07-14)

Well, no satisfaction in being correct here, it was the permissions on the 32 bit library file. Had the DBA change to both be the same, Job Server Config works fine.

What a PITA - someone set the 32 bit library permissions to “—” for everyone outside the DBA group.

HTH with anyone else if they run into this problem!

Thanks for the help Werner, too.

Steve :smiley:


Stracy :us: (BOB member since 2006-07-14)

This problem always occurs when installing DI into 64bit unix systems and i dont understand why businessobjects doesnt have any documentation about this problem?
In 64 bit systems libclntsh.so is knows as libclntsh.sl and even if the system is 64bit, DI requires 32 bit libraries as well. So you should create a link under lib directory that links libclntsh.sl and 32bir Oracle library.


k7nixen :us: (BOB member since 2006-10-07)

Yesterday I have seen the same but we came to a different conclusion. The lib32 library was not the first in LIBPATH, the lib directory came before (from the oraenv.sh script). Isn’t that the core problem?


Werner Daehn :de: (BOB member since 2004-12-17)

Even if you set LINK_DIR and 32BIT libraries before any 64BIT libraries it gives the same error. Whenever i installed 64BIT DI on unix-hp 64BIT OS this stupid error occured and even techsupport had no idea about the problem. They just kept asking unnecessary questions to pass time. Just you need to do is to create a link between 64BIT and 32BIT database libraries as i mentioned above.


k7nixen :us: (BOB member since 2006-10-07)

I did not create this link and it was still working!?!


Werner Daehn :de: (BOB member since 2004-12-17)

Did you install also Oracle ?
And what about patch level of OS?

Anyway if anyone faces to this problem you should create the fallowing links:

$ORACLE_HOME/lib32/libclntsh.sl that is linked to libclntsh.so.10.1 as
fallows:

ln -s libclntsh.so.10.1 libclntsh.sl

$ORACLE_HOME/lib/libclntsh.so that is linked to libclntsh.so.10.1 as
fallows:

ln -s libclntsh.so.10.1 libclntsh.so


k7nixen :us: (BOB member since 2006-10-07)

Yes, Oracle client in 64bit and 32bit was installed with the directory structure you use. I made sure the 32bit lib is the first in the path, checked the permission and did not define a link - and it was working


Werner Daehn :de: (BOB member since 2004-12-17)

Strange !!!
Up to this time i participated 3 international projects and so installed DI in HP-UX Itanium 64Bit system and i faced to this problem during all installations. Maybe the problem is only with HP-UX systems :roll_eyes:


k7nixen :us: (BOB member since 2006-10-07)