Re: GLOBAL_NAME vs. SERVICE_NAMES
- From: hjr.pythian@xxxxxxxxx
- Date: Sun, 29 Jul 2007 19:29:58 -0700
On Jul 30, 3:49 am, Michael42 <melliot...@xxxxxxxxx> wrote:
Hello,
In an Oracle 10g database, would someone mind putting in English the
difference between GLOBAL_NAME and the SERVICE_NAMES?
Thanks,
Michael
SERVICE_NAMES represents the list (it can have just one item, though)
of services which you wish to advertise that your database offers.
Imagine a large database with Accounts Payable, Accounts Receivable,
Sales and General Ledger tables. You could just call the database
'ACCOUNTS'. You could just call the instance you access it with
'ACCOUNTS' -and then your SERVICE_NAME is likely to be ACCOUNTS.WORLD
(since SERVICE_NAME defaults to DB_NAME+DB_DOMAIN -though since 9i,
there has been no default value for DB_DOMAIN, so it could be that you
just end up with a SERVICE_NAMES of ACCOUNTS too.
Now imagine you decide to run this database on a RAC, though -a multi-
instance environment. You want to say instance 1 will allow users to
do their sales and general ledger activities, instance 2 will do
accounts payable, instance 3 accounts receivable. Therefore, instance
1 will have a SERVICE_NAMES of 'SALES','GLEDGER'; instance 2 will have
SERVICE_NAMES=AP; instance 3 SERVICE_NAMES=AR.
You can 'partition' your RAC, in other words, by specifying which
instances will offer which services. And you do that (in part, at
least) by setting SERVICE_NAMES. (It gets a hell of a lot more
complicated than that in 10gR2, though, because you can also have
preferred and alternative services being offered by different
instances, and you can set services up by fiddling with the cluster
registry rather than with init.ora parameters).
But in essence, SERVICE_NAMES allows you to specify which functional
services an instance or instances can provide to users. Users then
specify the service they want to connect to (instead of which
instance) by having an entry in their tnsnames.ora which says to
connect to SERVICE_NAME=AP or SERVICE_NAME=SALES (instead of
SID=Instance1 or SID=instance2).
GLOBAL_NAMES (it's plural by the way) is simply set to TRUE or FALSE.
Set it to TRUE and database links you create must have a name in your
local database that is the same as the name of the remote database
being linked to. Set it to FALSE, and even if you are creating a link
to the SALES database, you can call the link 'FREDSLINK'. It is only
of relevance in a distributed database situation, in other words. Some
Oracle replication functionality doesn't actually function unless
GLOBAL_NAMES is TRUE.
Regards
HJR
http://www.dizwell.com
.
- Follow-Ups:
- Re: GLOBAL_NAME vs. SERVICE_NAMES
- From: Maxim Demenko
- Re: GLOBAL_NAME vs. SERVICE_NAMES
- From: Michael42
- Re: GLOBAL_NAME vs. SERVICE_NAMES
- References:
- GLOBAL_NAME vs. SERVICE_NAMES
- From: Michael42
- GLOBAL_NAME vs. SERVICE_NAMES
- Prev by Date: Re: oracle 10g on Linux Red Hat Cluster Suite - a question
- Next by Date: Re: Some question about setting up RAC
- Previous by thread: GLOBAL_NAME vs. SERVICE_NAMES
- Next by thread: Re: GLOBAL_NAME vs. SERVICE_NAMES
- Index(es):
Relevant Pages
|