Home > Oracle > Missing file or path not set

Missing file or path not set


Many times, oracle fails due to missing files or the file is not existing in the path.  But, how to find out what file or path need to set?

To simulate this, I just renamed one file in the lib directory and run sqlplus.

 
oracle@:/home/oracle>$ sqlplus
ld.so.1: sqlplus: fatal: libclntsh.so.11.1: open failed: No such file or directory
Killed

As expected it throws a fatal exception and failed.  To find out the missing file and its path, I used truss utility in sun solaris.

oracle@:/home/oracle>$ truss -o truss.log sqlplus / as sysdba
ld.so.1: sqlplus: fatal: libclntsh.so.11.1: open failed: No such file or directory

The out file truss.log showed me exactly what is missing and where.

stat(“/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFFFFFFFF7F500000
stat(“/opt/SUNWcluster/lib/sparcv9/libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
stat(“/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
stat(“/opt/ORCLcluster/lib//libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
stat(“/lib/64/libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
stat(“/usr/lib/64/libclntsh.so.11.1”, 0xFFFFFFFF7FFFECF0) Err#2 ENOENT
write(2, ” l d . s o . 1 :   s q l”.., 83)      = 83
munmap(0xFFFFFFFF7F700000, 32768)               = 0
lwp_self()                                      = 1

/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclntsh.so.11.1 is the original location and also checked other possible locations like

/opt/SUNWcluster/lib/sparcv9/libclntsh.so.11.1

/opt/ORCLcluster/lib//libclntsh.so.11.1

/lib/64/libclntsh.so.11.1

/usr/lib/64/libclntsh.so.11.1

And failed as the file was not existing.  I just renamed back the missing file and the problem resolved.

oracle@:/home/oracle>$ mv /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclntsh.so.11.1.orig /home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libclntsh.so.11.1

oracle@:/home/oracle>$ sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on Mon Mar 21 22:00:53 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

It looks very simple, but this can burn many hours, looking for the reason why it is failing.

Advertisements
  1. February 23, 2012 at 6:57 pm

    This article was of great help to solve part of the problem he had, also commented that if the library is housed in another directory and through no fault can not create or copy the files, we can also use the following command:

    crle-m64-l / oracle/112/lib-u
    and an apology for my English

    /*********** spanish version ***********/

    Este articulo fue de gran ayuda para resolver parte del problema que tenia, tambien comento que si la libreria se encuentra alojada en otro directorio y por razones ajenas no podemos crear o copiar los archivos, tambien podemos hacer uso del siguiente comando:

    crle -m64 -l /oracle/112/lib -u

    y una disculpa por mi ingles

    • February 24, 2012 at 1:34 am

      Thank you. Glad to know that helped.

      Thanks
      Thomas

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: