Net8 enables connections to various services, such as Oracle databases, non-Oracle databases, gateways, and external procedures (functions that can be called from PL/SQL code).
When an end user connects to a database service from across the network, a connect descriptor containing network information about the destination service is passed to the listener.
A connect descriptor contains the:
CONNECT scott/tiger@(description=(address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data=(service_name=sales.us.acme.com))
To avoid a lengthy connect string, a connect descriptor can be mapped to a connect identifier. A connect identifier can be a net service name or the actual name of the service. This information is then stored in one or more naming methods. Clients need only to use the connect identifier in the connect string. For example, if a net service name called sales is mapped to the connect descriptor used in the previous example, clients can use the following connect string:
CONNECT scott/tiger@sales
During a connection request, the client contacts a naming method to resolve sales to a connect descriptor. The client then forwards the request to the listener address specified in the connect descriptor.
The listener, through a protocol, accepts the client connection. It compares the client information with the information it has received from the database service through service registration, as well as information it has stored in its own configuration file, listener.ora. If the information matches, a connection is granted.