Which Oracle Client Versions are on my Network?

Oracle Version Challenges

If you are a Sys Admin and have worked with the Oracle client for Windows then you probably know that it doesn’t behave like other Windows’ applications. For one, the installation isn’t registered in Windows, therefore you can’t uninstall via Control Panel > Programs (or Control Panel > Add/Remove Programs on XP/2003).

PDQ Inventory (like many other Inventory tools) determines which applications are installed by scanning the same area in the Registry that Windows uses in Control Panel > Programs.

So if the Oracle client doesn’t show up as an installed application how can you:

  • Determine which computers have the client installed and 
  • Determine which versions are installed across your network?

How to get your Oracle version

You can easily determine this if you run PDQ Inventory in Pro Mode. The point here is not just to show you how you can inventory your Oracle clients but also to help you understand how you can use PDQ Inventory to collect all sorts of other data.

If you are running PDQ Inventory in Free mode, feel free to start a trial of Pro mode. It’s quick and you will quickly see the evil power that you hold in your hands. (ahem)

In the case of the Oracle client I am going to revert to scanning for specific files. In this case I am going to scan computers for the file oraocci11.dll. This, obviously will only work with Oracle 11 versions. If you have other versions of Oracle, I would suggest that you find an Oracle file that you can use to determine the version.

Here is a screenshot of the properties of oraocci11.dll on an XP and a Windows 7 computer.

File Properties

Let’s tell Inventory what we want to scan for. To do this we will create a new Scan Profile.

Step 1. Create a new Scan Profile (or edit an existing one if you’d prefer). You create new Scan Profiles via the Preferences window.

Give your new Profile a name and then add a “Files” scanner.

 After you select “Files” you need to specify A) where to search for the files and B) which files to look for. In this example I chose to look in the %SystemDrive% directory (usually C:\). In the File Patterns field I entered ora*.dll. This will look for any file that begins with ora and ends with .dll.

 After you finish editing your Scan Profile go to your All Computers collection and scan computers using the Oracle Client profile. Don’t hit the usual Scan Computers instead select the button next to it. This will drop down a menu of all of your Scan Profiles. 

Scan Computers

 

Now let’s create some new Collections to organize our Java client computers. Hit CTRL+N (or go to Collection > New Collection). Below is a screenshot of what our collections will look like when we are done.

Oracle Client Collections

Create the Oracle Client collection.

Oracle Client Collection

Then create a collection underneath Oracle Client called Oracle Client (latest version)

Computers with latest Oracle Client

Note that for File Version we are using the version equals condition. All conditions that begin with the word Version will process a string of numbers stopping at the fourth dot (.) or comma (.). If the version value being compared is 11.2.0.1.34.65 the condition will only evaluate 11.2.0.1

Next we will create a collection underneath Oracle Client called Oracle Client (old version)

Computers with Older Oracle Client Version

Notice that in this case we are using the version lower than condition. Here are some example of versions that pass this condition:

11.2.0

11.0.100.9000

Here are some examples of versions that would NOT pass this condition:

12

11.3.0.0

11.2.1

Finally, we are going to create one last collection called Systems missing Oracle Client

Computers missing Oracle Client

 Notice how the conditions still look for file name that equals oraocci11.dll inside a path which contains the word client. The magic comes by changing the Match rule near the top of the Collection window. In this case we select Don’t Match Any. This means that computers meet these two conditions will NOT be shown in this collection. This way we can find which computers don’t have the Oracle Client.

You can also, of course, create a new report to give you some more in-depth data about the Oracle Client. Go to the menu: Report > New Report > Basic

Give your new report a name. I called mine Oracle Client Versions. Under the Columns tab select Add Column > Computer > Name. Then choose Add Column > File > File Name. You can review this image to see which Columns I chose to show in this report.

Define which columns to display

 After you have chosen which columns to display, go to the Filters tab Push the Add Filter button. A new filter will be created called Filter 1. Inside the Filter panel push the Add Column button. Add File > File Name. Use the equals condition and type oraocci11.dll. Add a new Column and select File > File Path. Using the contains condition type, client.

Define which filters to use

Save your report and hit the Run button (blue triangle) to see your results. Make sure your collection source is set appropriately. You will which collection you are running this against listed under the name of your Report. You can see in this example that I am using the collection All Computers.

Run your report

There you have it.