About
A feature by which the PMON process automatically registers information with a listener. Because this information is registered with the listener, the listener.ora file does not need to be configured with this static information.
Service registration provides the listener with information about:
- Names of the database services (service_name) for each running instance of the database
- Name of the database instance (instance_name) associated with the services and its current and maximum load
- Service handlers (dispatcher or dedicated server) available for each instance, including their type, protocol addresses, and current and maximum load.
Articles Related
Benefits
Service registration offers the following benefits:
Service registration reduces the need for the SID_LIST_listener_name parameter setting, which specifies information about the databases served by the listener, in the listener.ora file.
The SID_LIST_listener_name parameter is required if you are using Oracle Enterprise Manager to manage the database.
- Connect-time failover
Because the listener always monitors the state of the instances, service registration facilitates automatic failover of a client connect request to a different instance if one instance is down.
When services are configured statically, a listener starts a dedicated server when it receives a client request. If the instance is not up, then the server returns an Oracle not available error message.
- Connection load balancing
Service registration enables the listener to forward client connect requests to the least-loaded instance and dispatcher or dedicated server. Service registration balances the load across the service handlers and nodes.
- High-availability for Oracle Real Application Clusters and Oracle Data Guard
Support
How to confirm that database service registration has completed
Confirm that database service registration with the listener has completed using the Listener Control utility using the following command:
lsnrctl SERVICES [listener_name]
The SERVICES command lists the services supported by the database, along with at least one available service handler.
[oracle@oel11g tmp]$ lsnrctl SERVICES listener
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-JUL-2010 13:16:34
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel11g.localdomain)(PORT=1521)))
Services Summary...
Service "oel11g.localdomain" has 1 instance(s).
Instance "oel11g", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "oel11gXDB.localdomain" has 1 instance(s).
Instance "oel11g", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: oel11g.localdomain, pid: 11508>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel11g.localdomain)(PORT=42593))
The command completed successfully
Listener not running
If the listener is not running when an instance starts, then the process monitor (PMON) cannot register the service information. PMON attempts to connect to the listener periodically, but it may take up to 60 seconds before PMON registers with the listener after it has been started.
If the database service registration is not listed, then enter the following SQL command to initiate service registration immediately :
SQL> ALTER SYSTEM REGISTER