The new scalability features introduced with Oracle greatly improve the ability of Net to handle high volumes of incoming connections.
These new features especially impact distributed databases and Oracle Parallel Server (OPS). The two main areas with scalability enhancements in Oracle are the Oracle Distributed Database and OPS.
Oracle Distributed Database
There are two main areas of improvement for distributed databases: snapshots and Advanced Queuing.
Oracle snapshots[1] provide new functionality, making them more sophisticated and robust. This means that a DBA can replicate data based on columns and/or row-level subsets. A snapshot can now include any specific rows or columns from the master table. Snapshots also allow aggregation, so that a snapshot can summarize information from a master table and pass summary data into a data warehouse table. Advanced Queuing[2] (the DBMS_AQADM package) in Oracle has been improved with a rule-based model for automatic forwarding of messages to Oracle clients. New event triggers can be used to trigger any event, such as a database startup, an Oracle user login, or a PL/SQL procedure.
Oracle Parallel Server
Within OPS, we see a host of new features. The most exciting addition is the OPS Assistant, which allows for easier configuration of the OPS environment.
Another new product, Cluster Manager, assists in configuring OPS. To see two more new OPS features (cache fusion and connection-load balancing), view the following series of images below. Cache fusion: A diskless data transfer method for Oracle Parallel Server (OPS) that moves information from the cache of one database instance to the cache of another database instance.
The paragraph below discusses Oracle Net Features and their functions.
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 (IDLM) 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.
[1]Snapshot: A replica of a table or part of a table that resides on another database instance. Snapshots can be read-only or updateable. 1
[2]Advanced Queuing: A pre-defined package enabling you to store messages into queues for deferred retrieval and processing by the Oracle server.