There are three different types of storage used by Oracle databases.
- Data Files
- Control Files
- Redo Logs
Each are recommended to be redundant and also to have separate physical storage drives and controllers to maximize the likeliness of recovery of data in the event of a hardware failure.
These are the physical representation of the data written from the database engine to the disk storage drive. The smallest unit of storage on a data file is a data block, which is usually 8 kb in size. This can be variably set, but the recommendation is to choose an Oracle data block to be a size that is a multiple of the host operating system’s block size.
Data files are represented on the database as a tablespace. A tablespace is a logical grouping of data files that store database information. In a tablespace, four major types of information is stored:
- Data (information from tables)
The acronym D.I.R.T makes this easy to remember!
These contain information about the database name, when it was created, and the full path of the data files represented in the database. There are exactly three control files in a database and each is identical in content to one another for redundancy.
A redo log contains one of two different types of commands that are issued against the database:
- DML: Data Manipulation Language, or commands such as INSERT, UPDATE and DELETE which change the data in database tables.
- DDL: Data Definition Language, or commands such as CREATE and ALTER. These commands create and change database objects within the database.
Redo logs are usually multiplexed across different physical drives and controllers for reduncancy. There are three different groups that are rotated as each group of storage gets filled.
When all three groups are filled, one of two different things happen depending on the mode set for the database.
Archive log mode forces the database engine to copy the contents of each redo log group to a separate location (archive log file) before the database overwrites the contents of the redo log group.
Non-Archive mode just skips the copy step and automatically overwrites the old redo log file group.
That’s it from a storage perspective, which is one of the three major components of an Oracle Database (the other two being: MEMORY and PROCESSES).