If you are familiar with the Siebel System Requirements and
Supported Platforms document you know that Oracle Database 11g is not
supported. That is fine, since 10g can
be used instead. On my laptop I have Siebel
8 installed with Oracle 10g for the database.
Recently I have been fooling around with Oracle APEX to
create some simple user interfaces to front some custom schemas. It makes it real easy to build some simple
applications to maintain data and then get fancy printouts using BI
Publisher. Part of my learning has led
me to understand that Oracle DB 11g has a built in HTTP server that I can use
to access APEX. This is great since it
means one less software install (Oracle HTTP Server) to get APEX working. I also discovered that APEX can work with the
Express Edition which is free to develop, deploy, and distribute. Perfect!
I want to distribute some of my utility applications for others to use.
Now the problem I thought might come up was having two
different versions of the Oracle DB running on the same laptop. As documented there is no problem provided
you take a little care with how your environment is setup. In my case, the first decision was to decide
which database version I wanted to have running as my default. Making that
decision allows me to set up my environment variables correctly. For me, 10g is the default to allow Siebel 8.0.x, SOA Suite and
AIA Foundation Pack 2.1 to be installed and run without any special steps. The critical environment variables I have set
are ORACLE_HOME, ORACLE_SID, TNS_ADMIN, and adding %ORACLE_HOME%bin to the
start of my path. I want to call special
attention to TNS_ADMIN since without it the DataDirect ODBC drivers for Siebel
did not work! You end up getting a TNS
names error despite the ODBC utilities working.
However, once those variables are setup, I can run the 10g database directly
from the Windows services dialog. This also
allows my existing Siebel 8, SOA Suite, AIA, and other applications to run without
issue.
When I want to work with 11g I need to take a few special
steps. First, I make sure all 10g
database services are shutdown. This
includes and instances, listeners, db consoles, etc... Once that is done I am ready to start my
required 11g services. To start I open a
command window and change to my 11g base directory. There I have a batch file that sets up my
environment variables just for 11g as follows:
set ORACLE_BASE=D:oracle
set
ORACLE_HOME=D:oracleproduct11.1.0db_1
set TNS_ADMIN=%ORACLE_HOME%networkadmin
set
PATH=%ORACLE_HOME%bin;%PATH%
set
ORACLE_SID=RSN11G
Once this is done I am ready to start my required
services. However, I can't do this from
the windows services dialog since I need to use the local environment variables
I just set. Fortunately all I need to do
is issue the command: net start <service name>
- net start OracleServiceRSN11G
- net start OracleOraDb11g_home1TNSListener11GLISTENER
To start my DB console I type:
- net start OracleDBConsoleRSN11G
So far this has worked fine for me allowing me to switch
between database environments as required.
I have to admit that so far I have no need to run each database
environment concurrently. It should work
but I can't say for sure. Besides, after
starting up Siebel 8, SOA Suite, BI Publisher, and Siebel Tools or JDeveloper I
am out of RAM!