Network Config  «Prev  Next »

Lesson 3How Oracle Names resolves requests
Objective Describe how a request is resolved through Oracle Names.

How Oracle Names resolves Requests

Clients no longer require local directory usage configuration (ldap.ora). If an Oracle Internet Directory Server is registered with the Domain Name System (DNS), clients can automatically locate a directory server, eliminating the need for local configuration.

How Oracle Names resolves requests

The following Diagram illustrates how Oracle Names resolves a request. The areas outlined in red are described by means of the ordered list displayed below.
How Oracle Names resolves a request.
How Oracle Names resolves a request.
  1. The TOM database is processing the SQL statement and checks its data dictionary for a database link called JERRY. When it does not find this link, Net8 determines the correct Oracle Names server from the sqlnet.ora file. Net8 then sends the Names server a request to resolve the database link name JERRY.
  2. The Names server receives the request, looks it up in the cache, and then sends the response back to the server TOM with the IP address, port number, database name, user ID, and password for the JERRY database
  3. Server TOM receives the answer and substitutes the response in place of the initial name.
  4. Server TOM contacts server JERRY and establishes a standard Net8 distributed database connection.

Resolving Oracle Requests describes the diagram above in further detail.

Resolving Oracle Requests

Resolving requests beteen Oracle Names Server Jerry, Tom
Resolving requests beteen Oracle Names Server Jerry, Tom

The TOM database

The TOM database is processing the SQL statement and checks its data dictionary for a database link called JERRY. When it does not find this link, Net8 determines the correct Oracle Names server from the sqlnet.ora file. Net8 then sends the Names server a request to resolve the database link name JERRY.

The Names Server

The Names server receives the request, looks it up in the cache, and then sends the response back to the server TOM with the IP address, port number, database name, user ID, and password for the JERRY database.

Server TOM


Server TOM receives the answer and substitutes the response in place of the initial name.
Server TOM contacts server JERRY and establishes a standard Net8 distributed database connection.


To complete the picture, Oracle Names also allows for the sharing of database links for all remote databases. These links may be either private or public and are shared among the database servers. This simplifies database administration since the DBA does not have to define connectivity between Oracle servers.
Does Oracle Names sound like a panacea? Let us look at when its use is appropriate.

NAMESCTL is a basic utility for controlling Oracle Names Servers. This utility does not work on Oracle*Net clients, which is a legacy technology. The namesctl utility is only used on the Oracle database server that contains the Names database. There are several common namesctl commands that are commonly used.
They include:
  1. NAMESCTL RESTART - Restart the Names Server.
  2. NAMESCTL SET PASSWORD - Registers password for privileged Names Server operations such as RELOAD and STOP.
  3. NAMESCTL SET SERVER - Change the current Names Server.
  4. NAMESCTL SHOW SERVER - Displays name and version of current Names Server.
  5. NAMESCTL SHOW STATUS - Displays general status information about the Names Server.
  6. NAMESCTL SHOW TRACE_FILE_ NAME - Shows the name of the file where the Names Server writes the trace information.
  7. NAMESCTL SHUTDOWN or STOP - Stop the Names Server.
  8. NAMESCTL START or STARTUP - Start the Names Server.
  9. NAMESCTL STATUS - Display the status of the current Names Server.
  10. NAMESCTL STOP - Stops one or more Names Servers.
The namesctl utility is very similar to the lsnrctl utility in syntax. For example, to see the available commands, just enter:

Dilbert > NAMESCTL HELP
The following operations are available An asterisk (*) denotes a modifier or extended command:
exit flush flush_name log_stats
ping query quit reload
repeat* reset_stats restart set*
show* shutdown start startup
status stop version

Now that we have seen the basic functions of the namesctl utility lets look at how we start and stop a Names Server.