Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: How to find the Database version without opening the Database

Re: How to find the Database version without opening the Database

From: Rauf Sarwar <rs_arwar_at_hotmail.com>
Date: 20 Sep 2002 22:58:07 -0700
Message-ID: <92eeeff0.0209202158.4a56b6b@posting.google.com>


YasinQ_at_yahoo.com (Yasin) wrote in message news:<f1159af4.0209201048.6ad1eb67_at_posting.google.com>...
> Hi: I am intresting in knowing if there is way to know the version of
> the Database without opening it, or even putting it in mount state.
>
> Many thanks.

First...Please do not cross post in multiple groups. You will only tick people off and will definitely get fewer responses.

In the absence of any Oracle provided tool to do this (that I am not aware of), there isn't a sure shot way, however, there are couple of ways to get to it. Little easier on Windows then on Unix though.

Windows:
1) Query [ImagePath] registry value of a SID service at HKLM\System\CurrentControlSet\Services\OracleService<SID>[ImagePath]. This will give you a string e.g. C:\Oracle\Ora81\bin\Oracle <SID>. Parse the string and get the first token which is full path and name to Oracle executable. use Windows API function GetFileVerInfo() or NT resource kit utility like "filever" to get the version. It may not give you the patchset version but it will give you the major version.

2) For 8.1 and above, query registry at
HKLM\Software\Oracle[inst_loc]. This will give you location of Inventory...Typically under C:\Program files\Oracle. For base version, get folder name immediately under C:\Program files\Oracle\Inventory\Components\oracle.rdbms\. For patchset information, get most recent folder name under C:\Program files\Oracle\Inventory\PatchSets\oracle.server\.

Unix:
1) This is Windows equivalent in step 1. Get the SID Oracle home by parsing SID entry in /etc/oratab file. Goto $SID_HOME/bin and get file version of oracle executable. I don't know if there is any equivalent of GetFileVerInfo() in Unix but you may use commands like "ident" or "what" or some third party tool.

2) This is Windows equivalent in step 2. Get oraInventory location from ../orainst.loc file and follow steps like in Windows step 2.

It is not 100% gauranteed but it will get you close enough without database being open. Maybe someone else may have a better way to do this.

/Rauf Sarwar Received on Sat Sep 21 2002 - 00:58:07 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US