Oracle DataBase Lesson 3 – What is Oracle DataBase | Dataplexa

What is Oracle Database

Oracle Database is software that stores, organises, and retrieves data reliably and efficiently. It manages everything from a single user's small application to a multinational corporation's enterprise systems handling millions of transactions per day. At its core it is a relational database — data is stored in tables, relationships are expressed through keys, and data is queried using SQL.

What separates Oracle from simpler relational databases is the depth of what it manages beyond basic storage:

  • Multi-user concurrency — thousands of users can read and write data simultaneously without seeing each other's incomplete changes, thanks to Oracle's Multi-Version Concurrency Control (MVCC) system
  • Transaction management — every change to data is wrapped in a transaction that either commits fully or rolls back completely, with no partial writes ever reaching permanent storage
  • Security — Oracle controls who can connect, which tables they can see, and what operations they can perform, down to the row and column level
  • Recovery — Oracle continuously writes a log of every change so that the database can be restored to any point in time after a failure
  • Performance at scale — Oracle includes a cost-based query optimiser that automatically chooses the most efficient way to execute every query based on statistics about the data

The Two Meanings of "Oracle Database"

When professionals refer to "the Oracle database" they sometimes mean two different things, and it is worth distinguishing them clearly from the start.

The first meaning is the database itself — the actual collection of data files stored on disk, the control files that describe the database structure, and the redo log files that record every change. This is the data.

The second meaning is the Oracle instance — the set of background processes and memory structures that are running in the server's RAM and actively managing the database. The instance reads and writes the data files and handles all connections from users and applications.

  • A database can exist on disk without an instance running — the files are there but nothing is actively serving queries
  • An instance must be started and connected to a database before any user can interact with the data
  • In most day-to-day work this distinction does not affect how you write SQL — but it matters for database administration, startup and shutdown procedures, and understanding error messages

Key Components of Oracle Database

Every Oracle Database installation consists of a small set of core components that work together. You will encounter these terms throughout this course and in any Oracle documentation or job environment.

  • SGA (System Global Area) — a shared memory region that holds cached data blocks, SQL execution plans, and other information shared across all connected sessions. The larger the SGA, the more data Oracle can serve from memory without reading from disk.
  • PGA (Program Global Area) — a private memory region allocated for each individual session. It holds that session's query execution state, sort space, and local variables.
  • Background processes — Oracle runs several background processes automatically. The most important are DBWn (writes dirty data blocks from memory to disk), LGWR (writes the redo log), CKPT (coordinates checkpoints), SMON (system monitor — performs crash recovery), and PMON (process monitor — cleans up after failed connections).
  • Data files — the physical files on disk where all table data, index data, and other database objects are permanently stored.
  • Control file — a small but critical file that records the database name, the locations of all data files, and the current state of the database. Oracle cannot open without a valid control file.
  • Redo log files — files that record every change made to the database in sequence. Used for crash recovery and, in some configurations, for replication to standby databases.

How Oracle Differs from Other Relational Databases

Oracle, MySQL, PostgreSQL, and Microsoft SQL Server are all relational databases — they all store data in tables and use SQL. But Oracle has several characteristics that set it apart, particularly at enterprise scale.

Oracle uses read consistency by default. When you run a query, Oracle guarantees that every row you read reflects the state of the database at the moment your query started — even if other users are modifying those rows while your query is running. This is achieved through the undo tablespace, where Oracle stores the old versions of changed rows. You will never see a half-updated row in Oracle. This behaviour is automatic and requires no special configuration.

Oracle also has its own procedural language — PL/SQL — built directly into the database engine. PL/SQL allows you to write loops, conditionals, procedures, functions, and triggers that execute inside the database itself, close to the data. This is covered in depth from Lesson 29 onwards.

  • Oracle's default isolation level is Read Committed — a query sees only data that was committed before the query began, never uncommitted changes from other sessions
  • Oracle does not auto-commit by default in SQL*Plus or SQL Developer — you must explicitly issue a COMMIT to make changes permanent, unlike MySQL which auto-commits by default
  • Oracle uses sequences to generate unique numeric IDs rather than auto-increment columns — this gives more control over ID generation and is covered in Lesson 12

Oracle vs SQL Server — Key Differences

Concept Oracle SQL Server Equivalent
Procedural language PL/SQL T-SQL
Auto-commit default Off — explicit COMMIT required On — statements commit immediately by default
Auto-increment IDs SEQUENCE + NEXTVAL (or IDENTITY in Oracle 12c+) IDENTITY column
String data type VARCHAR2 VARCHAR / NVARCHAR
Current date and time SYSDATE GETDATE()
Dummy table for expressions DUAL Not needed — SELECT without FROM is valid
Shared memory area SGA (System Global Area) Buffer Pool

Practice Questions

Practice 1. What is the difference between an Oracle database and an Oracle instance?



Practice 2. What is the SGA and why does its size matter?



Practice 3. Oracle does not auto-commit by default. What does this mean in practice?



Practice 4. What is the redo log and why is it critical to Oracle's recovery capability?



Practice 5. What is read consistency in Oracle and how does it benefit a long-running query?



Quiz

Quiz 1. Which Oracle background process is responsible for writing dirty data blocks from memory to the data files on disk?






Quiz 2. In Oracle, what must you issue after an INSERT, UPDATE, or DELETE to make the change permanent?






Quiz 3. What is the Oracle equivalent of SQL Server's GETDATE() function?






Quiz 4. What is the purpose of the Oracle control file?






Quiz 5. What memory area in Oracle is private to each individual session?






Next up — Oracle Editions and Use Cases — Learn the differences between Oracle's Standard, Enterprise, and Express editions and understand which edition is suited to which type of project or organisation.