1 物理存储结构概述
1.1 数据库存储结构概述
存储结构(Storage Structure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织与管理方式。
Oracle数据库的物理存储结构与逻辑存储结构既相互独立又相互联系,一个数据库在物理上包含多个数据文件,在逻辑上包含多个表空间,其关系如下图所示:
辅助理解记忆:
✔️ 一个表空间包含一个或多个数据文件,一个数据文件只能从属于某个表空间。
-- 创建表空间时可以指定所包含的数据文件
CREATE TABLESPACE my_tablespace
DATAFILE '/path/to/mytablespace1.dbf' SIZE 100M,
'/path/to/mytablespace2.dbf' SIZE 100M
✔️ 数据库的逻辑块由一个或多个操作系统块构成。
操作系统块是操作系统进行读写操作的最小单位,为了最大程度地利用磁盘存储空间,数据库块大小必须设置为操作系统块大小的整数倍。例如逻辑块大小是操作系统块大小的8.2倍,那么1个逻辑块需要9个操作系统块,剩余的0.8块大小的空间就被浪费了。
✔️ 一个逻辑区只能从属于某一个数据文件,而一个数据文件可包含一个或多个逻辑区。
逻辑区由物理上连续的数据块构成,是数据库存储分配的最小单位。每个数据文件被划分为一组逻辑区。一个逻辑区需要与特定的物理文件关联,以便数据库可以将其数据读取或写入到正确的文件中。
数据库实例(database instance)是管理数据库文件的内存结构的集合。下图展示了数据库实例与它管理的文件之间的关系。
1.2 物理存储结构
Oracle数据库的物理存储结构指的是其在操作系统层面上的组织和管理方式,具体体现在一系列的物理文件上。这些物理文件包括数据文件、控制文件、重做日志文件、初始化参数文件、跟踪文件以及归档文件等。物理文件可分为三类:
主要包括以下这些文件,每种文件数量因文件类型不同而不同:
下面将对这些文件的作用和重要性进行详细解释:
- 初始化参数文件:这个文件包含了数据库启动时需要加载的参数设置,它定义了数据库的各种行为和性能特性。参数文件是数据库启动过程中必须读取的文件,它决定了数据库的运行方式和性能表现。
- 数据文件(.dbf):数据文件是Oracle数据库中用来存储所有数据的关键组成部分,包括但不限于系统数据、数据字典数据、临时数据、索引数据和应用数据。数据文件是数据库操作的基础,任何对数据库的读写操作最终都会反映在这些数据文件中。
- 控制文件(.ctl):控制文件是数据库物理结构的另一个重要组成部分,它记录了数据库的元数据信息,如数据库名称、数据文件和联机日志文件的位置及名称、创建数据库的时间戳等。控制文件对于数据库的启动、关闭、恢复和维护都至关重要,因为它们包含了数据库的全局结构信息。
- 重做日志文件(.log):重做日志文件用于记录对数据库所做的所有修改操作,这些操作由用户或其他外部程序发起。重做日志对于数据库的恢复操作至关重要,因为在发生故障时,数据库可以利用重做日志来恢复到最后一次一致的状态。
- 归档重做日志文件:归档日志文件是对重做日志文件的补充,它们用于保存历史操作记录,以便在需要进行历史恢复时可以找到相应的数据变更信息。
- 跟踪文件:跟踪文件用于记录用户进程的执行情况,这些信息对于诊断性能问题和调试错误非常有帮助。
- 告警文件:记录数据库的警告和错误信息。
- 密码文件:用于数据库的身份验证。
Oracle数据库的物理存储结构确保了数据的有效组织和快速访问,同时也为数据库的高可用性和灾难恢复提供了基础。通过对这些物理文件的合理管理和维护,数据库管理员可以确保数据库的稳定运行和高效性能。
参考链接
Oracle架构_数据库底层原理、机制 (授人以渔)_oracle底层-CSDN博客
ORACLE体系结构逻辑结构-表空间、段、区和数据块 - 知乎
oracle 数据库体系结构详解_oracle体系结构详解-CSDN博客
Oracle系列十九:Oracle的体系结构_oracle体系结构-CSDN博客
oracle 数据库体系结构详解_oracle体系结构详解-CSDN博客
Oracle数据库体系结构(二)_物理结构_oracle数据连接-CSDN博客
Oracle数据库存储结构:物理存储结构_oracle的物理结构-CSDN博客
Oracle数据库的体系结构(上)——存储结构_oracle存储结构管理-CSDN博客
Oracle第八节-Oracle物理存储结构_orcale物理文件-CSDN博客