Oracle Database, often shortened to Oracle DB, is a commercial relational database management system developed by Oracle Corporation and used for large transactional and analytical workloads. Among database systems it is one of the oldest and most feature-rich products: its first commercial release in 1979 was among the first SQL-based relational databases offered for sale.
Modern releases are multi-model, storing relational tables alongside JSON documents, spatial data, graphs, XML and vectors. Oracle Database is best known for its multiversion read consistency, the PL/SQL procedural language, and high-availability options such as Real Application Clusters (RAC) and Data Guard.
Architecture of an Oracle instance
Oracle distinguishes between the database, which is the set of files on disk, and the instance, which is the shared memory plus background processes that serve it. One instance normally opens one database; with RAC, several instances on different servers open the same database at once.
| Component | Kind | Role |
|---|---|---|
| System Global Area (SGA) | Shared memory | Buffer cache, shared pool, redo log buffer |
| Program Global Area (PGA) | Private memory | Sorts, hash joins and session data |
| Database writer (DBWn) | Background process | Writes changed blocks to data files |
| Log writer (LGWR) | Background process | Writes redo entries to online redo logs |
| Undo tablespace | Storage structure | Holds prior versions for rollback and consistency |
| Control file | Storage structure | Records the database’s physical layout |
Since version 12c, Oracle uses a multitenant architecture: a container database (CDB) hosts one or more pluggable databases (PDBs), each looking like an independent database to applications. The older non-CDB architecture has been desupported in recent releases, so new deployments are always multitenant.
Storage is often managed by Automatic Storage Management (ASM), which stripes and mirrors data files across disks without a conventional file system. Server-side logic is written in PL/SQL, a block-structured language compiled and stored inside the database as procedures, functions, packages and triggers. On engineered Exadata systems, parts of query processing are offloaded to intelligent storage servers, which reduces the data sent back to the database nodes.
How read consistency and transactions work
Oracle implements multiversion concurrency control through undo data. When a transaction changes a row, the previous version is written to undo. A query that started earlier reconstructs the block as it was at its start, identified by a system change number (SCN), so readers never block writers and writers never block readers.
The default isolation level is READ COMMITTED with statement-level consistency; SERIALIZABLE is also available and gives transaction-level consistency. Oracle does not offer dirty reads. Durability comes from the redo log: a commit returns once LGWR has written the redo to disk, while data blocks are written later.
A known failure mode is the ORA-01555 snapshot too old error, raised when a long query needs undo that has already been overwritten. The usual remedies are a larger undo tablespace, a longer undo retention setting, or splitting very long queries.
Editions and deployment options
Oracle Database is offered in several editions with different feature sets and licensing terms. Many advanced capabilities are separately licensed options on top of Enterprise Edition, which is a frequent source of compliance risk.
| Edition | Intended use | Notable limits |
|---|---|---|
| Enterprise Edition | Large production systems | Options such as RAC and Partitioning cost extra |
| Standard Edition 2 | Small and medium systems | Limited sockets and CPU threads, no Partitioning |
| Free (formerly Express Edition) | Learning and small apps | Capped CPU, memory and user data size |
| Autonomous Database | Managed cloud service | Runs on Oracle Cloud Infrastructure |
Oracle publishes long-term releases, such as 19c, with extended support periods, and innovation releases between them. Most enterprises standardize on a long-term release and upgrade every several years. On-premises licensing is commonly per processor, adjusted by a core factor, or per Named User Plus.
Oracle Database compared with other relational systems
Oracle competes most directly with Microsoft SQL Server and with the open-source PostgreSQL, and less directly with MySQL and MariaDB. The comparison usually turns on high availability, licensing cost and ecosystem, not on SQL basics, which all of them share.
| Aspect | Oracle Database | PostgreSQL | Microsoft SQL Server |
|---|---|---|---|
| License | Commercial | Open source | Commercial |
| Procedural language | PL/SQL | PL/pgSQL and others | T-SQL |
| Shared-disk clustering | RAC | Not built in | Not built in |
| Standby replication | Data Guard | Streaming replication | Always On availability groups |
| Empty string handling | Treated as NULL | Distinct from NULL | Distinct from NULL |
Oracle’s distinctive strength is RAC, where several active servers share one database on common storage, so a node failure does not stop the service. Its distinctive weakness is total cost, as the license, options and support fees can exceed hardware costs by a wide margin.
Practical pitfalls for developers and administrators
Teams moving to or from Oracle meet a set of dialect and behavior differences that cause subtle bugs. Knowing them in advance saves migration effort.
- Empty strings are NULL: inserting ” into a VARCHAR2 column stores NULL, which changes the results of comparisons and unique checks.
- Identifiers are uppercase by default; quoted mixed-case names must then be quoted everywhere.
- Queries without a table use the one-row DUAL table, a habit that ported code often carries over.
- Sequences and identity columns behave differently from auto-increment in MySQL, especially with caching and gaps.
- Using a feature such as Partitioning or Diagnostics Pack without the matching license can create audit liabilities.
For performance work, administrators rely on execution plans, AWR reports and wait events, the instrumentation that Oracle has refined over decades and that remains one of its practical advantages.
Understanding it simply
Oracle Database is a large, commercial filing system for business data. Banks, airlines, governments and retailers use it to keep millions of records organized and correct, even while thousands of people read and change them at the same moment.
Its special talent is that everyone sees a consistent picture: a report that starts at noon shows the data as it was at noon, even if others keep working. It is powerful and dependable, but it is also expensive and needs skilled people to run it.
Applied in practice
A regional bank runs its core account system on Oracle Database Enterprise Edition with a two-node RAC cluster in its main data center and a Data Guard physical standby in a second site about 200 kilometers away. Daytime traffic consists of thousands of short transactions per second, while overnight batch jobs compute interest and produce regulatory reports.
During a planned hardware upgrade, administrators take one RAC node offline; sessions continue on the remaining node without interruption. Months later, a power failure at the main site triggers a switchover to the standby, and the bank resumes service in minutes with no committed transactions lost, because redo was shipped synchronously. The outcome justifies the licensing cost for this workload, although smaller units of the same bank run on PostgreSQL.