Oracle Net Features
| IDLM || An enhanced distributed lock manager |
| Queue propagation || A tool that can be used to submit Oracle work to external processes |
| Connection Load Balancing || A feature to evenly distribute database connections |
| Instance Registration || A tool to allow a listener to know what instances are available to accept connections |
| Connection Failover || A tool to re-direct failed database connections |
What Is the Integrated Distributed Lock Manager?
The IDLM component of Oracle8 maintains a list of system resources and provides locking mechanisms to control allocation and modification of Oracle resources.
IDLM resources are logical concepts; structures of data.
The IDLM does not control access to tables or objects in the database itself. Every process interested in a database resource protected by the IDLM must open a lock on the resource.
OPS uses the IDLM to coordinate concurrent access across multiple instances to resources such as data blocks and rollback segments.
The Network Listener
When an instance starts, a network listener process establishes a communication pathway to Oracle.
When a user process makes a connection request, the listener determines whether it should use a shared server process or a dedicated server process and establishes an appropriate connection. The listener process also establishes a communication pathway between databases. When multiple databases or instances run on one machine, as in an Oracle Parallel Server, service names allow instances to register
automatically with other listeners on the same machine. A service name can identify multiple instances, and an instance can
belong to multiple services. Clients connecting to a service do not have to specify which instance they require.
Automatic instance registration reduces the administrative overhead for multiple databases or instances. The system identifiers (SIDs) of other instances on the network must be registered in a LISTENER.ORA file.
The initialization parameter SERVICE_NAMES identifies which services an instance belongs to. On startup, each instance registers with the listeners of other instances belonging to the same services. During database operations, the instances of each service pass information about CPU usage and current connection counts to all of the listeners in the same services. This enables dynamic load balancing and connection failover.