See the README.pdf file in the \Doc
folder for full details, but ...
Oraenv
for Windows provides Windows Oracle DBAs (and developers etc) with an environment setup tool which resembles, almost 100%, the utility of the same name supplied on Unix systems.
Oraenv
for Windows will set the following environment variables according to definitions in an ORATAB
text file:
- ORACLE_SID
- ORACLE_HOME
- PATH
In addition, it will default the following:
- NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
- NLS_DATE_FORMAT=yyyy/mm/dd hh24:mi:ss
If you already have an Oracle environment set up in your shell/batch session, then oraenv
will, on changing the ORACLE_SID
:
- Set the correct
ORACLE_HOME
for the passedORACLE_SID
; - Clear down the previous
ORACLE_HOME
folder & sub-folders fromPATH
; - Add the (new)
%ORACLE_HOME%
\bin folder toPATH
after removing the previous%ORACLE_HOME%
\bin etc from the path.
In this manner, you will not end up with a mix and match of numerous different Oracle versions - which is usually unhealthy.
If you set ORAENV_ASK
to YES (letter case is not significant), then running oraenv
with no parameters will prompt you to enter a valid ORACLE_SID
that can be found in the ORATAB
file. Passing a new ORACLE_SID
on the command line will not prompt, and will merely set the new environment to suite the passed ORACLE_SID
.
If ORAENV_ASK
is not defined, or does not equal YES, then running oraenv
with no parameters will simply display the current environment with no changes made.
The following files should be copied to a folder that is on your %PATH
%:
-
oraenv.cmd - the main batch file. This is what you call to set the new Oracle environment.
-
DBHome.exe - a utility to extract an
ORACLE_HOME
from anORATAB
file, for a givenORACLE_SID
. This is called fromoratab.cmd
to do the necessary work. -
DBPath.exe - a utility to remove all folders and sub-folders from
%PATH%
based on a passed parameter. This is used to remove the current Oracle Environment's paths from%PATH%
before setting%PATH%
with a new Oracle Environment. This is called fromoratab.cmd
to do the necessary work. -
TidyPath.exe - a utility that corrects the inconsistent behaviour of batch files when setting a new value for
%PATH%
where that new value contains characters that confuse theset
command. These characters are valid when setting up%PATH%
in Control Panel, but cause errors in batch files when used withset
. Consistency does not appear to be being considered here!This utility reads the current
%PATH%
settings and for each folder detected, will wrap it in double quotes if it is not already wrapped and if it has any of the special characters in it which confuse theset
command in batch files.TidyPath
is called fromoratab.cmd
to do the necessary work.
The oratab file is the central hub on oraenv
for Windows, as indeed it is on Unix systems. However, the format is slightly different from that on Unix as the colon used as a separator there, cannot be used on Widows as it is used as part of a drive specifier. We use the pipe character instead (|).
In addition, comments are allowed and are prefixed by a hash/pound/number character (#). Comments are allowed in the entry lines for each %ORACLE_SID%
but these are specified by "|#" and can only appear after the ORACLE_HOME
in the ORATAB
file.
The file is searched for in the following locations:
- As defined by the
%ORATAB%
environment variable. This must be the full path and filename that is in use. For example,set ORATAB=c:\Oracle\oratab.txt
. - As the file
oratab.txt
in the location defined by the%ORACLE_BASE%
environment variable, if it is defined. - As the file named
oratab.txt
in the same folder as theDBHome.exe
file.
The following is an example of an ORATAB
file:
# OraTab file for use with oraenv for Windows.
#
# Clients:
#
client_32 | c:\Oracle\11.2\client_32 |# Oracle 11204 32 bit client
client_64 | c:\Oracle\11.2\client_64 |# Oracle 11204 64 bit client
#
# Databases
#
prod | c:\Oracle\product\11.2.0.4\rdbms\dbhome_1
rmancat | c:\Oracle\product\11.2.0.4\rdbms\dbhome_1
oldprod | c:\Oracle\product\11.2.0.2\rdbms\dbhome_3 |# To be decommissioned
All you need to do is download the code etc from github (https://github.com/NormanDunbar/OraenvWin) and copy the files in the \bin\Release
folder to somewhere on your %PATH%
. You will need the 4 files listed above.
Once the binaries have been installed/copied, all you need to do is set up a valid ORATAB
file and set the ORATAB
environment variable, preferably in Control Panel so that it is available for all users on the server, and you are good to go. All that is required is to add your database SIDs and HOMEs to the ORATAB
file and the system will be usable.
See the README.pdf
file in the \Doc
folder for full details.
Enjoy.