Database Global Names
The GLOBAL_NAMES Parameter
Database Global Names
Every Oracle database has, or should have, a global name that is unique on your network. The global name is a combination of the database name and domain. You define the global name when you first create a database by placing parameters in your initialization file that specify those two values. For example:
db_name = herman
db_domain = gennick.org
Once a database has been created, the global name is stored within the control file, and the parameter values in the initialization file no longer matter. To change a global name for an existing database, you must use the ALTER DATABASE RENAME GLOBAL_NAME command
The GLOBAL_NAMES Parameter
You used to be able to dream up any name for a database link, but for the past several years Oracle has strongly recommended that database link names match the global names of the target databases. Thus, if you were going to create a link to the database named herman.gennick.org, you would name the link herman.gennick.org as well.
Oracle feels strongly enough about this naming convention that they even provide an enforcement mechanism for you to use. By adding the following parameter setting to all your parameter files, you effectively prevent anyone from using a database link with a name that violates this naming convention:
GLOBAL_NAMES = TRUE
It turns out that this has ramifications for global database links. Oracle Names doesn't even appear to support the creation of a global database link with a name that doesn't match the target database's global name. So if you are using Oracle Names, you must follow the preferred naming convention.
--------------------------------------------------------------------------------
When you set the initialization parameter GLOBAL_NAMES to TRUE, Oracle ensures
that the name of the database link is the same as the global database name of the
remote database. For example, if the global database name for hq is hq.acme.com,
and GLOBAL_NAMES is TRUE, then the link name must be called hq.acme.com.
Note that Oracle checks the domain part of the global database name as stored in
the data dictionary, not the DB_DOMAIN setting in the initialization parameter file
If you set the initialization parameter GLOBAL_NAMES to FALSE, then you are not
required to use global naming. You can then name the database link whatever you
want. For example, you can name a database link to hq.acme.com as foo.
去掉DB_DOMAIN的方法
http://yangtingkun.itpub.net/post/468/279105
Using Oracle Global Database Links
http://www.oreillynet.com/pub/a/oreilly/oracle/news/oraclenet8_1200.html