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.
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.