Identify the primary components of an Oracle database.
Oracle Database Primary Components
An Oracle database isn't one monolithic thing — it's several distinct components working together, each responsible for a different part of storing, processing, and protecting your data. Understanding what each piece actually does makes everything later in this course easier to reason about, from where your tables physically live to why a crashed instance can still recover cleanly.
The Database Instance
A database instance is the combination of Oracle's background processes and a shared memory structure called the System Global Area (SGA), operating together against a set of database files. The instance is what's actually running at any given moment; the database files are what persist on disk whether or not an instance is currently up.
Several background processes keep an instance running:
DBWn (Database Writer) — writes modified data from the buffer cache in the SGA out to the datafiles on disk. Larger or high-throughput databases can run multiple writer processes (DBW0 through DBW9, and beyond) rather than a single one.
LGWR (Log Writer) — writes redo information from the log buffer to the online redo log files, recording every change made to the database so it can be recovered if something goes wrong.
Several other background processes handle checkpointing, archiving, process monitoring, and more — each with a narrow, specific job.
Database Storage Structures
Behind the instance sit the actual files on disk:
Data files — store the real data: your tables' rows, indexes, and Oracle's own system data.
Redo log files — a continuous record of every change made to the database, essential for recovering from a crash or media failure without losing committed transactions.
Control files — small files holding metadata about the database itself: its name, and the locations of every data file and redo log file it depends on.
Schema Objects
Above the physical storage layer, data is organized logically into schema objects: tables, views, indexes, stored procedures, and more. This is the layer you'll spend most of your time working with directly — it's how data gets structured and organized in a way that makes sense to an application or a person querying it, independent of the physical files underneath.
Memory Structures: SGA and PGA
Two memory areas do most of the heavy lifting during database operations:
The System Global Area (SGA) is shared memory, used by every process in the instance. It holds the database buffer cache (recently-used data blocks), the shared pool (parsed SQL and PL/SQL, plus the data dictionary cache), and other shared structures.
The Program Global Area (PGA) is private memory, dedicated to a single server process. It holds that process's own session data, cursor state, and sort/hash work areas — nothing in it is shared with other sessions.
Network Architecture and the Data Dictionary
Oracle Net Services is the networking layer that lets client applications talk to the database over standard network protocols, handling connection routing and, where configured, encryption in transit.
The Oracle Data Dictionary is a set of read-only tables and views, owned by SYS, describing the database's own structure: every table, every user, every privilege, every object. It's how both Oracle itself and any user or application can ask "what exists in this database, and who can access it?"
Transaction Management
Finally, transaction management is what keeps data correct as many sessions read and write concurrently — through locking, concurrency control, and transaction logging, ensuring that one session's uncommitted changes never corrupt another's view of the data, and that a transaction is either fully applied or not applied at all.
Server and Client Components
Oracle's components split into two broad groups. Server components run on the machine that stores the data and processes transactions. Client components can technically run on that same machine, but far more commonly run on separate machines connected to the server over a network.
Oracle Database Components
Putting the pieces together:
Oracle runs on Windows, Linux, and Unix-based platforms, including Oracle's own engineered systems, and can be deployed across parallel/clustered servers for high availability.
The Oracle database server handles data storage, security, and file management. Each running copy is called a database instance.
Relational tables — their structure, data, relationships, and access privileges — are stored in the database and grouped into schemas.
The underlying file structure is defined by the Database Administrator (DBA). A table maps to a logical tablespace, which in turn maps to one or more physical datafiles.
Object tables (Oracle's object-relational extension) are stored using the same underlying mechanism as ordinary relational tables.
Oracle Net Services is the communication layer between the database server and Oracle tools, on both the server and client side.
SQL*Plus is the environment where you write and execute SQL and PL/SQL code — and, on the server side, where a DBA can start up and shut down the database and run administrative commands (functionality that used to live in a separate tool called Server Manager, retired and folded into SQL*Plus).
Oracle Data Pump (expdp/impdp) exports database information into a portable file and imports it back into another Oracle database instance — the modern, high-performance replacement for the older command-line exp/imp utilities, which still exist for legacy compatibility but aren't the current recommendation.
SQL*Loader reads files in a variety of formats (comma-delimited being the most common) and loads their contents into Oracle tables; external tables offer a related, more SQL-native alternative for many of the same use cases.
Oracle has historically provided precompilers that let you embed SQL directly in application code written in languages like C/C++ (Pro*C/C++); precompiler support for older languages such as COBOL and FORTRAN existed in earlier Oracle versions but is now largely historical.
Oracle supports client software across Windows, Linux, Unix, and other major platforms.
SQL*Plus runs on both the client and server side, with the same core functionality in both places.
Additional client-side utilities and assistants are packaged alongside the core client software for tasks like report generation and data migration into Oracle.
Enterprise Manager is Oracle's tooling suite for managing a database day to day — creating users and tables, monitoring health, and alerting administrators to issues like a database running low on space.
On the client side, Oracle Net Services is the communication link to the server, translating transactions over standard network protocols such as TCP/IP.
Beyond these core components, Oracle offers additional tooling for application development. Oracle APEX (Application Express), included with every Oracle database license, is the current path for building forms, reports, and full low-code web applications directly against your schema — the modern successor to the older, separately-licensed Oracle Forms and Oracle Reports products. For connecting third-party software to an Oracle database, two standards matter most:
ODBC (Open Database Connectivity) — a set of standards defining the communication protocol and syntax for interacting with any relational database.
JDBC (Java Database Connectivity) — the equivalent standard for Java applications and applets.
The next lesson shows you how to see what users, tables, object tables, and other objects actually exist in your own Oracle database.