Oracle discovery

Are there any tools that will do a discovery of all roacle databases in your network, regardless of the OS they are installed on? Our admins have provided a list that seems very out of date, i just wondered how such a list could be compiled?
Who is Participating?
Geert GConnect With a Mentor Oracle dbaCommented:
for windows you can find them by using the sc command together with find
Oracle databases are typically installed as OracleService<SID>

sc \\servername query|findstr  /C:"DISPLAY_NAME: OracleService"
DISPLAY_NAME: OracleServiceDB1UT11
DISPLAY_NAME: OracleServiceDB2UT11
DISPLAY_NAME: OracleServiceDB2UQ11
DISPLAY_NAME: OracleServiceDB3UT11

you'll need to run this command with a user with admin priviliges to the remote server
> for all servers this will require the list of all servers (from active directory) and a domain admin user
slightwv (䄆 Netminder)Connect With a Mentor Commented:
I've never heard of a tool or product that would do this.

Many reasons this would be next to impossible:
A database could be down.
Any listener could be on a non-default port.
A listener could have hard-coded instances that don't even exist.
pma111Author Commented:
Are there any manual ways of doing this per server?

The oracle databases are installed on either windows server or AIX IBM.
slightwv (䄆 Netminder) Commented:
There might be other ways other Experts can think of but off the top of my head here is what I have.

You can look for Oracle Software installs.  Once found look in common database folders like dbs (Unix) or database (Windows) for config files like the spfile or init configuration files.  This will tell you that a database existed at one time but not the current status of it.

You can look at services or running processes to see what is running at that specific moment.  This won't show databases that are down (although Windows Services will show what databases are available to be started).
Geert GOracle dbaCommented:
i use something like this to list the databases i manage
in servers.txt file i add the names of all the servers i'm interested in :


Open in new window

this script checks every servername and lists all the databases (services) per server in file databases.txt
set serverfile=servers.txt

set dbfile=databases.txt

echo.List of databases per server >%dbfile%

for /f %%G in (%serverfile%) do  (
  echo.Databases on server "%%G">>%dbfile%
  sc \\%%G query|findstr /C:"DISPLAY_NAME: OracleService">>%dbfile%


Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.