12 Replies Latest reply: Jun 16, 2010 12:11 PM by 779469 RSS

    Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.

    779469
      Hi,

      I am getting the above mentioned error whenever running the scripts through a scheduler (MAESTRO). If I try to runt th script manually then there is no problem.

      Oracle Version: 10.2.0.1.0
      Server: HP UNIX

      My user is added in the dba group.

      In my script I have mentioned ORACLE_HOME, ORACLE_BASE, ORACLE_SID, LD_LIBRABY_PATH,SHLIB_PATH accordingly. But still I have the same error.

      I have already checked the existance of the file under $ORACLE_HOME/lib and $ORACLE_HOME/lib32 folder and in both the places it have executable permission for all the users.

      I saw a lot of post with the same issue, but nothing worked for me. The difference in my problem is, I can run the script manually without any error, but whenever it is running via a scheduler generates the problem.

      Any help will be greatly appriciated.

      Thanks,

      Uday
        • 1. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
          618702
          Hi user13296941,

          Can you please show us the output of;

          your environmental variables (ORACLE_HOME, ORACLE_BASE, ORACLE_SID, LD_LIBRABY_PATH,SHLIB_PATH),
          .profile file of the oracle and application user (if they are different),
          type ls -lrt libsqlplus.sl in $ORACLE_HOME/lib and $ORACLE_HOME/lib32

          Ogan
          • 2. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
            EdStevens
            user13296941 wrote:
            Hi,

            I am getting the above mentioned error whenever running the scripts through a scheduler (MAESTRO). If I try to runt th script manually then there is no problem.

            Oracle Version: 10.2.0.1.0
            Server: HP UNIX

            My user is added in the dba group.

            In my script I have mentioned ORACLE_HOME, ORACLE_BASE, ORACLE_SID, LD_LIBRABY_PATH,SHLIB_PATH accordingly. But still I have the same error.

            I have already checked the existance of the file under $ORACLE_HOME/lib and $ORACLE_HOME/lib32 folder and in both the places it have executable permission for all the users.

            I saw a lot of post with the same issue, but nothing worked for me. The difference in my problem is, I can run the script manually without any error, but whenever it is running via a scheduler generates the problem.

            Any help will be greatly appriciated.

            Thanks,

            Uday
            That is almost certainly an indication that the environment variables ORACLE_HOME, etc. are not set IN THE SESSION RUN BY THE SCHEDULER. Does no good to log on and look at the enviornment of that session. THat's not the session launched by your scheduler. If you have scripts run by schedulers, those scripts need to ensure their own run-time environment.
            • 3. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
              779469
              Hi,

              This is the .profile file for my user:


              # @(#)B.11.11_LR

              # Default user .profile file (/usr/bin/sh initialization).

              # Set up the terminal:
              if [ "$TERM" = "" ]
              then
              eval ` tset -s -Q -m ':?hp' `
              else
              eval ` tset -s -Q `
              fi
              stty erase "^H" kill "^U" intr "^C" eof "^D"
              stty hupcl ixon ixoff
              tabs

              # Set up the search paths:
              PATH=$PATH:

              # Set up the shell environment:
              set -u
              trap "echo 'logout'" 0

              # Set up the shell variables:
              EDITOR=vi
              export EDITOR

              export ORACLE_BASE=/prd/cosm/u01
              export ORACLE_HOME=/prd/cosm/u01/product/10.2.0
              export PATH=$ORACLE_HOME/bin:$PATH

              export SHLIB_PATH=$ORACLE_HOME/lib32
              export LD_LIBRARY_PATH=$ORACLE_HOME/lib
              -------------------------

              This is the .profile file of the user under which oracle is installed:


              # @(#)B.11.11_LR

              # Default user .profile file (/usr/bin/sh initialization).

              # Set up the terminal:
              if [ "$TERM" = "" ]
              then
              eval ` tset -s -Q -m ':?hp' `
              else
              eval ` tset -s -Q `
              fi
              stty erase "^H" kill "^U" intr "^C" eof "^D"
              stty hupcl ixon ixoff
              tabs

              # Set up the search paths:
              PATH=$PATH:.
              # Set up the shell environment:
              set -u
              trap "echo 'logout'" 0

              # Set up the shell variables:
              EDITOR=vi
              export EDITOR

              #export DISPLAY=`who -uR am i | awk '{print $8}'`":0"
              export DISPLAY=`who -uR am i`
              export HOST=`uname -n`
              export PS1=`echo '${HOST}: '`

              export ORACLE_SID=COSMPRP3
              export ORACLE_BASE=/prd/cosm/u01
              export ORACLE_HOME=/prd/cosm/u01/product/10.2.0


              export PATH=$ORACLE_HOME/bin:$PATH
              #export TNS_ADMIN=$ORACLE_HOME/network/admin

              #export SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib64
              export SHLIB_PATH=$ORACLE_HOME/lib
              export LD_LIBRARY_PATH=$ORACLE_HOME/lib
              -------------------------------------

              This the environment variables I am using:

              export ORACLE_HOME=/prd/cosm/u01/product/10.2.0
              export ORACLE_SID=ERIPRP1
              export ORACLE_BASE=/prd/cosm/u01
              export SHLIB_PATH=$ORACLE_HOME/lib32
              export LD_LIBRARY_PATH=$ORACLE_HOME/lib
              export PATH=$PATH:$ORACLE_HOME/bin

              ------------------------

              And this is the code I am using:

              export ORACLE_HOME=/prd/cosm/u01/product/10.2.0
              export ORACLE_SID=ERIPRP1
              export ORACLE_BASE=/prd/cosm/u01
              export SHLIB_PATH=$ORACLE_HOME/lib32
              export LD_LIBRARY_PATH=$ORACLE_HOME/lib
              export PATH=$PATH:$ORACLE_HOME/bin

              $ORACLE_HOME/bin/sqlplus -l my_schema/password@my_db <<!
              @/path_to_sql/my_sql.sql
              exit
              !
              elm -s "My Subject" my-account@myemail.com < /path_to_my_log/output.log
              --------------

              Desired outputs:

              $ cd $ORACLE_HOME/lib
              $ ls -lrt libsqlplus.sl
              -rwxr-xr-x 1 appora dba 916968 Aug 14 2005 libsqlplus.sl [appora is the user under which Oracle is installed]


              $ cd $ORACLE_HOME/lib32
              $ ls -lrt libsqlplus.sl
              -r-xr-xr-x 1 appora dba 3198976 Aug 14 2005 libsqlplus.sl


              Note: If I try to run the script manually it is working fine perfectly. Only from MAESTRO scheduler it is not running.
              • 4. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                779469
                Hi,

                I understand your point perfectly. But the problem is that I have already the variables declared at the beginning of my script and it doesn't work either. Though the user appora (under which Oracle is installed) have similar scripts (with Same variables like the ones I have already mentioned in my earlier post) and they are running via the same scheduler without any problems!
                • 5. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                  sb92075
                  I am getting the above mentioned error whenever running the scripts through a scheduler (MAESTRO). If
                  add the line below as line #3 in the script being scheduled

                  env | sort -o /tmp/capture.env

                  Then after the script is invoked by the scheduler post the content of /tmp/capture.env back here
                  • 6. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                    779469
                    Hi,

                    Here is the capture.env as you have asked for:


                    HOME=/home/eriora
                    LANG=C
                    LD_LIBRARY_PATH=/prd/cosm/u01/product/10.2.0/lib32
                    LD_RUN_PATH=
                    LOGNAME=eriora
                    MAESTRO_OUTPUT_STYLE=LONG
                    MECHO=/opt/maestro/bin/mecho
                    NLSPATH=/opt/maestro/catalog/%L/%N.cat:
                    ORACLE_BASE=/prd/cosm/u01
                    ORACLE_HOME=/prd/cosm/u01/product/10.2.0
                    ORACLE_SID=ERIPRP1
                    PATH=/bin:/usr/bin:/prd/cosm/u01/product/10.2.0/bin
                    PWD=/home/eriora
                    SHLIB_PATH=/prd/cosm/u01/product/10.2.0/lib
                    • 7. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                      618702
                      ubk,

                      PATH variable should be PATH=/bin:/usr/bin:/prd/cosm/u01/product/10.2.0/bin:$PATH

                      It should effect i guess.

                      Ogan
                      • 8. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                        779469
                        Hi,

                        I mentioned

                        PATH=/bin:/usr/bin:$ORACLE_HOME:$PATH

                        and here is the output of capture.env again for the PATH variable:

                        PATH=/bin:/usr/bin:/prd/cosm/u01/product/10.2.0:/bin:/usr/bin:/prd/cosm/u01/product/10.2.0/bin

                        and it didn't work either :(
                        • 9. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                          sb92075
                          post results from following commands

                          id
                          ls -la /prd/cosm/u01/product/10.2.0/dbs
                          • 10. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                            779469
                            $ id
                            uid=146(eriora) gid=20(users) groups=105(dba)


                            $ ls -la /prd/cosm/u01/product/10.2.0/dbs

                            -rw-r--r-- 1 appora dba 31018 Jun 12 22:00 alert_ERIPRP1.log
                            -rw-r----- 1 appora dba 14303232 Apr 20 2006 backupcf_ERIPRP1_dbid_2647052977_arch.cf
                            -rw-rw---- 1 appora dba 103301120 Jun 16 05:02 backupcf_ERIPRP1_dbid_2647052977_arch.f
                            -rw-rw---- 1 appora dba 1552 Jun 12 22:00 hc_ERIPRP1.dat
                            lrwxr-xr-x 1 appora dba 49 Jan 5 2006 initERIPRP1.ora -> /prd/cosm/u01/admin/ERIPRP1/pfile/initERIPRP1.ora
                            -rw-r----- 1 appora dba 2722 Mar 30 2006 initERIPRP1.ora.04212005
                            -rw-rw---- 1 appora dba 24 Jan 5 2006 lkERIPRP1
                            -rw-r----- 1 appora dba 3072 Apr 20 03:02 orapwERIPRP1
                            -rw-r----- 1 appora dba 103301120 Jun 16 07:22 snapcf_ERIPRP1.f
                            -rw-r----- 1 appora dba 3072 Jan 5 2006 spfileERIPRP1.ora.bak

                            Should I ask the UNIX team to change the gid to dba?
                            • 11. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                              sb92075
                              Should I ask the UNIX team to change the gid to dba?
                              It won't hurt & just might help.
                              • 12. Re: Error /usr/lib/pa20_64/dld.sl: Unable to find library 'libsqlplus.sl'.
                                779469
                                it worked :)

                                Now the account have the dba group only and the batches are running as scheduled.

                                Thanks everybody for your kind help.