The Utility DB Load on Linux fails
search cancel

The Utility DB Load on Linux fails

book

Article ID: 96534

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic One Automation Automic SaaS

Issue/Introduction

When running the utility DB Load on the UNIX/Linux server, it will fail with the following error message in the DB load log:

20180513/154121.311 - U00029120 UCUDB: Function LoadLibrary failed. Library 'ucuoci.so' error 'libclntsh.so.11.1: cannot open shared object file: No such file or directory'. 
20180513/154121.311 - U00003531 UCUDB: Error while checking data source (e.g. code conversion or driver problem, see log file). 

The library libclntsh.so.11.1 is an Oracle application library and it is typically located in /usr/lib directory. This library is used to when connecting  to the target Oracle database.

Environment

Release:
Component: AAUTEN

Resolution

Please make sure that the environment variables are defined correctly as explained in the documentation-

https://docs.automic.com/documentation/webhelp/english/AA/12.3/DOCU/12.3/Automic%20Automation%20Guides/help.htm#Installation_Manual/AE/InstalltheUtilities_UNIX.htm?Highlight=LD_LIBRARY_PATH
https://docs.automic.com/documentation/WEBHELP/English/all/components/DOCU/21.0/Automic%20Automation%20Guides/Content/Installation_Manual/AE/InstalltheUtilities_UNIX.htm 


If the issue persists, please do the following:

-Execute the command below and make sure the library is present.

ls -l /usr/lib/libclntsh.so.11.1


It is also possible that even if the library is present, it has a softlink as shown below:

libclntsh.so.11.1 -> /home/oracle/product/12.1.0/client/lib/libclntsh.so


Please make sure that the path and file /home/oracle/product/12.1.0/client/lib/libclntsh.so  . You can verify it by using the command below:

ls -l /home/oracle/product/12.1.0/client/lib/libclntsh.so 

If the returns "No such file or directory", then you need to check with the System Administrator to make sure that the path or the file exists.

Example of how the LD_LIBRARY_PATH is set. i.e.: LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH

This can be set in the .bash_profile of the user that starts the ServiceManager or the server processes.

ldd on ucuoci.so now shows:
 
ldd ucuoci.so
        linux-vdso.so.1 =>  (0x00007fffe28d0000)
        libsysapi.so => ./libsysapi.so (0x00007fda7180e000)
        libzu00132.so => ./libzu00132.so (0x00007fda715dc000)
        libuc001.so => ./libuc001.so (0x00007fda713d7000)
        libclntsh.so.11.1 => /oracle/product/12.1.0/db_1/lib/libclntsh.so.11.1 (0x00007fda6e418000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fda6e1ff000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fda6dfe3000)
        libstdc++.so.6 => ./libstdc++.so.6 (0x00007fda6ddf3000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fda6daf0000)
        libgcc_s.so.1 => ./libgcc_s.so.1 (0x00007fda6d9e3000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fda6d624000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fda6d41b000)
        libmql1.so => /oracle/product/12.1.0/db_1/lib/libmql1.so (0x00007fda6d1a5000)
        libipc1.so => /oracle/product/12.1.0/db_1/lib/libipc1.so (0x00007fda6ce26000)
        libnnz12.so => /oracle/product/12.1.0/db_1/lib/libnnz12.so (0x00007fda6c71c000)
        libons.so => /oracle/product/12.1.0/db_1/lib/libons.so (0x00007fda6c4d7000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fda6c2be000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fda71c27000)
        libaio.so.1 => /lib64/libaio.so.1 (0x00007fda6c0bb000)
        libclntshcore.so.12.1 => /oracle/product/12.1.0/db_1/lib/libclntshcore.so.12.1 (0x00007fda6bb48000)

If you are using a different Oracle client version, you must create a SYM LINK  like ln -s libclntsh.so.xx.x libclntsh.so.11.1, where xx.x is your Oracle client version.