Oracle’s Global Data Dictionary
Chapter 5 introduced the concept of a global data dictionary, which is a repository that uniquely identifies all objects in a distributed database system. The challenge is to implement a global data dictionary without creating a single master site in the process and without sacrificing the notion of location transparency.
Global Naming
Oracle’s solution to this challenge hinges on the concept
of global naming. In Oracle7, Oracle
introduced an INIT.ORA
parameter GLOBAL_NAMES,
which, when set to TRUE, ensures that every database participating
in a distributed environment has a unique name.
Note
You should make a habit of setting the GLOBAL_NAMES parameter to TRUE even if you are not in a distributed environment. If you ever have to switch the parameter to TRUE after it has been FALSE, you may encounter conflicts with other database names in your environment. In addition, Oracle has stated that they may require the GLOBAL_NAMES parameter to be TRUE in future versions.
You can determine the name of any given database by querying the GLOBAL_NAME data dictionary view:
SQL> SELECT global_name FROM global_name; GLOBAL_NAME -------------------------------------------------- PHQS.BIGWHEEL.COM
The database’s global name defaults to the concatenation of
the INIT.ORA
parameters DB_NAME and DB_DOMAIN.
However, you can also change the global name to any value with an
ALTER DATABASE statement:
ALTER DATABASE RENAME GLOBAL_NAME TO NEWNAME.BIGWHEEL.COM;
Why do you care about ...
Get Oracle Distributed Systems now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.