Oracle7 Server Distributed Systems Volume I: Distributed Data

Contents Index Home Previous Next

Global Naming Issues

The following sections explain Oracle's naming scheme and how references to network objects are resolved within a distributed system.

Global Database Names (Service Names)

Every database in an Oracle network has a global database name, more commonly referred to as a service name. The global database name uniquely identifies each database in the global network. A global database name typically consists of a database name (DB_NAME) and a hierarchical domain name (DB_DOMAIN).

For example, HR.US.ACME.COM is a global database name for the "HR" database, which is located in the US.ACME.COM domain. From the viewpoint of SQL*Net and Oracle Names, HR.US.ACME.COM is also the service name. The network domain component of a global database name must follow standard Internet conventions. Levels in domain names are separated by dots, and the order of domain names is from leaf to root, left to right.

For example, Figure 2 - 8 illustrates a representative hierarchical arrangement of databases throughout a network and how a global database name is formed.

Note: Do not confuse Oracle global database names with SQL*Net community names. A SQL*Net community is a group of machines and network services that communicate using the same protocol. A global database name consists of a database name and a domain name. Domains only exist for naming and administrative purposes, and have no functional relationship to community names.

Figure 2 - 8. Network Directories and Global Database Names

Notice that throughout the network there are several databases with the same name (such as SALES). However, also notice that each database has a unique global database name because of its location within the network domain structure. From left to right, global database names are as follows:

hq.division1.acme_tools.com 
finance.division1.acme_tools.com 
sales.division2.acme_tools.com 
mftg.division3.acme_tools.com 
sales.japan.asia.acme_auto.com 
hq.us.americas.acme_auto.com 
sales.us.americas.acme_auto.com 
sales.mexico.americas.acme_auto.com 
sales.uk.europe.acme_auto.com 
sales.germany.europe.acme_auto.com 

Because each database has a unique global database name, each database and its objects can be uniquely identified with the objects' global object name. For example, notice that each HQ database contains a table named EMP. However, each EMP table can be uniquely identified with its global object name. In Figure 2 - 8, the global names for the two EMP tables are:

human_resources.emp@hq.us.americas.acme_auto.com 
human_resources.emp@hq.division1.acme_tools.com 

Each local data dictionary in an Oracle distributed system stores object names and names of containing schemas only, not complete global object names. However, because each database can have a unique name within a network, and because each object name is guaranteed to be unique within the scope of a single database; each object in a database in the distributed system has a unique global object name.

Network Domains and Network Naming Services

Figure 2 - 8 illustrated a fictional network domain structure that follows standard Internet conventions. Network domains are similar to the file directories used by many operating systems (such as UNIX). However, unlike file systems, network domains may or may not correspond to any physical arrangement of databases and other structures in a network. Network domains might simply be name spaces. The availability and functionality of a network naming service dictate what is possible.

If Oracle Names servers are available, they can be configured into your network to perform name resolution. For example, Network Manager creates and drops network domains, controls access to network domains, creates and drops network objects (such as databases) within the network structure, and enforces the unique naming of objects within the network.

Oracle's architecture uses network naming services, such as Oracle Names, Network Information Services (NIS), and Domain Name System (DNS). Whether you are using a network naming service, such as Oracle Names or TNSNAMES.ORA name lookup files, to resolve names to addresses, you still need to follow global database naming conventions. Also keep in mind the following:

You can define a database link so that the user accessing remote data connects to the remote database either with the local username and password or an explicitly-specified username and password. In other words, a database link can be defined so that all users of the link connect to the remote database with either a central, explicitly-specified remote account or an implied individual remote accounts.

Local Object Names

In a distributed or non-distributed environment, Oracle guarantees that each database has a unique set of schemas. Within each schema, an object name is unique within its name space. Therefore, each schema object's name is guaranteed to be unique within the context of any given Oracle database, and the local Oracle node easily can resolve any references to objects within the local database. Each local data dictionary stores only the names of local objects (and synonyms), not remote object names.


Contents Index Home Previous Next