RelationalDBDesign RelationalDBDesign

Space Management   «Prev 

Introduction to Physical Storage Structures

One characteristic of an RDBMS is the independence of logical data structures such as tables, views[1], and indexes from physical storage structures. Because physical and logical structures are separate, you can manage physical storage of data without affecting access to logical structures. For example, renaming a database file does not rename the tables stored in it.
An Oracle database is a set of files that store Oracle data in persistent disk storage. This section discusses the database files generated when you issue a CREATE DATABASE statement:
  1. Data files and temp files: A data file is a physical file on disk that was created by Oracle Database and contains data structures such as tables and indexes. A temp file is a data file that belongs to a temporary tablespace. The data is written to these files in an Oracle proprietary format that cannot be read by other programs.
  2. Control files: A control file is a root file that tracks the physical components of the database.
  3. Online redo log files: The online redo log is a set of files containing records of changes made to data.
A database instance is a set of memory structures that manage database files. Figure 2-2 shows the relationship between the instance and the files that it manages.

Figure 2-2: Database Instance and Database Files

Storage Concepts in Oracle

Diagram consisting of Tablespace, Extents, Data blocks and Segments

  1. Data blocks: Data blocks are the smallest level of storage management. They map to operating system blocks.
  2. Extents: Extents are composed of contiguous blocks on a disk.
  3. Segments: A segment is typically associated with a single table or index. A segment can contain one or more extents.
  4. Tablespace: The tablespace is at the top of the storage hierarchy. A tablespace is directly connected with one or more datafiles, which are managed by the underlying operating system.

[1] view: A database object that enables you to define the columns and rows that a specific user can see. A view can also serve as a tool for enforcing security within your database.