Is there a "best" method for where everything should be for multi dbases?
Oracle home on separate server or everything on the filer (database and
Oracle home)?
-----Original Message-----
From: Yarmas, Tom [mailto:Tom.Yarmas@netapp.com]
Sent: Friday, March 09, 2001 11:56 AM
To: 'George Kahler'; toasters(a)mathworks.com
Subject: RE: Multiple Oracle DBs on a filer
There are 2 things to keep in mind here. First, there is the oracle
account's home directory, and second there is an environment variable known
as ORACLE_HOME. These 2 things can be different. ORACLE_HOME used to have to
be unique among instances of Oracle, but with OFA in version 8.x, that has
been somewhat relaxed. In versions prior to 8.x, it is more difficult for
Oracle instances to share the ORACLE_HOME directory (but not impossible, at
least not with unix).
As a standard practice, I never install the Oracle software in the oracle
account's home directory. That way I can put things in the home directory
that affect multiple instances (i.e. shell scripts or sql scripts, etc.),
and if I have multiple ORACLE_HOME directories then I don't have to copy
things around when I make changes.
Oracle will look at the ORACLE_HOME and ORACLE_SID environment variables to
determine where it should find certain files by default. I have had various
Oracle instances share the same ORACLE_HOME directory without consequence.
One of the drawbacks of multiple instances sharing the ORACLE_HOME is that
if you upgrade from one version of Oracle to another, it affects all of the
instances that were using that ORACLE_HOME. That may not be a good outcome.
I prefer that each Oracle instance have it's own ORACLE_HOME, if possible.
You could of course create multiple oracle user account (i.e. oraprod1,
oraprod2, or something more informative) instead of simply oracle. There is
nothing magical in the user oracle and the group dba. They happen to be the
default. However, in order to use different user names, you must re-link the
Oracle S/W since the group is bound in to the oracle kernel at link time
(trivial procedure). However, if multiple users are sharing the Oracle
executables, then they must share the same unix group id (since it is linked
into the code).
Typically, I find that it is best to create a single oracle account (or a
small number of oracle accounts for related instances), and use a shell
script to display a choice of various Oracle instance names to the user.
Then depending on the response, the ORACLE_HOME, ORACLE_SID and other
variables are set. Then when the user logs in, all the environment variables
are set correctly, and the ORACLE_HOME directory is different than the
oracle account's home directory. And, if I install a new version of Oracle,
it lives in it's own ORACLE_HOME directory, and each individual instance is
not affected by changes made to another, I simply have to edit the script
that lives in the oracle account's home directory so it sets the environment
variables correctly.
You should be able to create qtrees and/or volumes and mount points so that
the Filer matches exactly what your DBA's see today in an existing
environment, if that would make them happier.
-tom
> -----Original Message-----
> From: George Kahler [mailto:george@YorkU.CA]
> Sent: Thursday, March 08, 2001 10:05 AM
> To: toasters(a)mathworks.com
> Subject: Multiple Oracle DBs on a filer
>
>
> Hi,
> I'm setting up an 840 filer for our DBA group to run about
> 4-to-5 Oracle
> OLT databases and 4-to-5 Oracle DSS databases being served from about
> 1/2 a dozen Unix servers. This is something new to the DBAs
> in that they
> are not experienced with NFS or anything like a filer; a common disk
> storage. Their databases are married to specific Unix servers. The
> project mandates that the environment needs to be set up in such a way
> that if any Unix server fails, the database service that it was
> providing could easily be brought up on any other available Unix
> server. (So far no problem)
>
> I have created and mapped out a quota tree into which I installed the
> Oracle distribution. It looks something like:
> /softwr/oracle/product/7.3.4
> /7.3.5
> this is then exported to all of the Unix servers.
>
> The problem I have with is the Unix Oracle home directory that I also
> created in /softwr/oracle/home, ie.
> oracle:x:600:211:Oracle user:/softwr/oracle/home:/bin/ksh
> but the DBAs are telling me that the oracle home directory
> needs to be unique
> for each Unix server and Database running on that server because the
> home directory is the place where they keep their environment.
>
> How do other people deal with this? Do you create specific Unix
> accounts for each Oracle database running on a server?
>
> Thanks
> George
>
> --------------------------------------------------------------
> -----------------
> George Kahler e-mail:
> george(a)yorku.ca
> Sr. Systems Administrator humans: (416)
> 736-2100 x.22699
> Computing and Network Services machines: (416) 736-5830
> Ontario, Canada, M3J-1P3
>