Oracle DBMS Architecture: Key Concepts
Init.ora Configuration
The init.ora file is an archive of initialization values used to start an Oracle instance and establish configurations. It uses default values to optimize performance and resource allocation. This file sets all the parameters for Oracle to function correctly. There will be as many configuration files as there are active instances in the information system.
Control Files
Control Files are a set of small, stable files responsible for maintaining the consistency of the other files in the database. They store crucial information, including:
- Commit counter stored in each file.
- Current Redo Log number.
- Information indicating whether all files are synchronized or if a backup recovery is needed, including the starting point of recovery.
Although small, Control Files are essential for database operation.
Redo Log Files (Historical Files)
Redo Log Files store changes made by transactions on the database. They are used exclusively for writing, except during database recovery.
Commit
A Commit is the decision point of a transaction, indicating that changes made to the database are validated and implemented. This is a point of no return for a transaction. A Commit results in writing to the Redo Log Files, recording the Commit decision. New data does not need to be written to disk immediately; it remains in memory until cleared due to lack of space, a Checkpoint, or memory cleaning timeouts.
Rollback Segments
Rollback Segments provide the ability to roll back a transaction before a Commit. This ensures that, until a Commit occurs, other transactions see the data as it was before the start of the current transaction. Rollback Segments store the previous values of data modified by a transaction, maintaining read consistency in multi-user environments.
Checkpoints
Checkpoints are events triggered periodically to clean dirty blocks from memory. A Checkpoint is triggered when:
- There has been a change in the Redo Log Files.
- The limit set by the
log_checkpoint_interval
parameter in the init.ora configuration file is reached. - The limit set by the
checkpoint_timeout
parameter is reached.
The purpose of Checkpoints is to enable recovery based on current Redo Log Files.
Database Files
Database Files are the physical components of the database system at the operating system level. They contain the data generated by system users.
Tablespaces
Tablespaces are logical groupings of one or more Database Files. A Tablespace can consist of multiple Database Files, but a Database File can only belong to a single Tablespace. Tablespaces store the data created in the database, physically residing within the Database Files that comprise the Tablespace.