We help IT Professionals succeed at work.

Determine Oracle Server or Oracle Client Installation

sdruss asked
In my shop we have several Solaris bash shell scripts that help with database procedures/maintenance.  One of the things that we rely on, is the condition on a particular box, whether the database server software or client software is installed.  Via the script what would be a good way to determine whether I have a server or client installed on a particular Solaris box?
Watch Question

David FavorFractional CTO
Distinguished Expert 2019

Simple way will be to run the which on various executables.

If a path is returned, then the executable is installed, so you'll run which on both your client + server executables.
Senior Oracle DBA
I don't believe that which would be a definitive answer.  That would mean it is installed and on the path.

For Solaris, I would look for the /var/opt/oracle directory.  There should be a file named oraInst.loc in that directory.  If that directory is there, then there is likely an Oracle install on the machine.  Not totally definitive, as if you know a few tricks you can put that in a different place, but it should be pretty close.

If you are using instant client instead of the full client install, it will be almost impossible to determine if it is installed or not.
Geert GOracle dba
Top Expert 2009

I wrote a few scripts to monitor an oracle  server
part of this is the use of oracle client

after much pains, I simply copy the instant client to the same path on all my servers and refert to it
the instant client doesn't require an installation

that's the easiest way to not depend on any other items installed on a server an no need to check
off course, you need the script to use the hardcoded path of the instant client