I try to run sqlplus on my server with the command sqlplus /as sysdba

and I got this error

sqlplus: error while loading shared libraries: /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1: file too short


[user@server]$echo $PATH    

the output of which sqlplus is /u01/app/oracle/product/12.1.0/dbhome_1/bin/sqlplus

I set up all the necessary Oracle shell variables.

I took a look at the libclntsh.so.12.1 file and it is empty.

Can you help me ? Thanks

  • Show the output of "echo $PATH".
    – Vérace
    Apr 19, 2016 at 9:23
  • /u01/app/oracle/product/12.1.0/dbhome_1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    – gani amine
    Apr 19, 2016 at 9:24
  • And the output of "which sqlplus"? What user are you? Have you set all the necessary Oracle shell variables - ORACLE_HOME, ORACLE_SID &c?
    – Vérace
    Apr 19, 2016 at 9:28
  • Take a look here.
    – Vérace
    Apr 19, 2016 at 9:30
  • the output of "which sqlplus" is /u01/app/oracle/product/12.1.0/dbhome_1/bin/sqlplus Yes i set up all the necessary Oracle shell variables
    – gani amine
    Apr 19, 2016 at 9:32

1 Answer 1


It is very recommendable to do a dump in another media of all your database before trying anything else, because your filesystem is probably not going well.

You will need to restart the server and run fsck not only because of that file is corrupted, but because the risk of more data corruption, then try to run sqlplus again, if it does not help, you will need the file libclntsh.so.12.1 for an another installation.

But dont try to simple replace the file, it is not a good idea, first you will need to run fsck to ensure the file system is ok or something worse can happen.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.