1. Glossary/

Control File

The Control File is a small binary file kept continuously updated by Oracle. It holds the structural metadata of the database: datafile paths, redo log group paths, current SCN, and checkpoint information. Without it, the instance cannot progress past the MOUNT phase.

What it records #

Every time Oracle performs a CHECKPOINT or adds a file to the database structure, the Control File is updated synchronously. Key fields include:

  • Database name and DBID
  • Path and status of each datafile (online, offline, read-only)
  • Redo log group configuration
  • Checkpoint SCN — used during recovery to determine the consistency point
  • RMAN backup metadata (when using Recovery Manager)

Multiplexing and loss risk #

Oracle allows — and recommends — keeping identical copies of the Control File on physically separate paths. The configuration is set via the CONTROL_FILES parameter:

ALTER SYSTEM SET CONTROL_FILES =
  '/u01/oradata/orcl/control01.ctl',
  '/u02/fast_recovery_area/orcl/control02.ctl'
SCOPE=SPFILE;

All copies are written in parallel on every update. If one copy is corrupted or missing, the database still starts using the valid copies. Losing all copies without a recent backup requires a complex manual recovery.

Operational context #

During startup, Oracle reads the Control File in the MOUNT phase to locate datafiles before opening them (OPEN phase). In a Data Guard environment, the standby Control File also holds synchronization metadata with the primary. In RMAN backups, the Control File (or a separate Catalog) acts as the central registry for all backup sets and image copies.