Oracle has enjoyed tremendous growth as the database of choice for OLTP in the midrange computing environment. Oracle6 introduced non-escalating row-level locking and read consistency (two of the most important of Oracle's core OLTP features), but Oracle7 was really the enabler for Oracle's growth in OLTP. Oracle7 introduced many key features, including the following:
Multi-Threaded Server (MTS)
Shared SQL
Stored procedures and triggers
XA support
Distributed transactions and two-phase commits
Data replication
Oracle Parallel Server (OPS)[1]
[1] OPS was actually available for DEC VMS in 1989 and for NCR Unix with the last production release of Oracle6 (Version 6.0.36), but it became widely available, more stable, and more popular in Oracle7.
Oracle 8.0 enhanced existing functionality and introduced additional OLTP-related features including the following:
Connection pooling
Connection multiplexing
Data partitioning
Advanced Queuing (AQ)
Index organized tables
Internalization of the Distributed Lock Manager (DLM) for Oracle Parallel Server
Internalization of the triggers for replicated tables and parallel propagation of replicated transactions
Oracle8i provided the following additional enhancements and technologies for OLTP:
Support for Java internally in the database kernel
Support for distributed component technologies: CORBA V2.0 and Enterprise JavaBeans (EJB) v1.0
Publish/subscribe messaging based on Advanced Queuing
Cache Fusion for Oracle Parallel Server
Online index rebuild and reorganization
Database Resource Manager (DRM)
Use of a standby database for queries
Internalization of the replication packages used to apply transactions at the remote sites
Oracle9i continued this trend, with the introduction of Real Application Clusters, which extended the benefits of Oracle Parallel Server to OLTP applications. Oracle Database 10g improves the capabilities of Real Application Clusters for deployment to a new computing model, grid computing. But many of the capabilities that enable OLTP with Oracle have been core to the database product for many years.
The remainder of this chapter examines many of these features in more depth.