2026年01月19日/ 浏览 9
在DM7及之后的版本中,数据库(Database)与实例(Instance)被明确区分为两个不同的实体,这一区分是理解DM架构的基础。
• 数据库 指的是存储在磁盘上的物理数据集合,包括数据文件、日志文件、控制文件等。• 实例 则是运行在内存中的一套工具集合,由后台进程/线程和共享内存组成,负责操作数据库。简单来说,数据库是静态的存储,而实例是动态的执行环境。通常情况下,一个实例一次只能操作一个数据库,但在DMDSC(共享存储集群)等高可用架构下,多个实例可以同时访问同一个数据库,实现了更高的可用性与负载均衡。

在这里插入图片描述
DM数据库采用层次化的逻辑存储结构,所有数据最终都存储在数据文件中,并通过以下层级进行组织与管理:
1. 数据库 → 由一个或多个表空间构成2. 表空间 → 包含一个或多个数据文件3. 数据文件 → 由一个或多个簇组成4. 段 → 由多个簇组成,并可跨数据文件分布5. 簇 → 由一组连续的数据页组成,且仅属于一个数据文件6. 页(块) → 最小的存储与I/O单元这种结构既保证了存储的灵活性,也提升了磁盘空间的利用效率。
表空间是数据库中最顶层的逻辑存储单元,所有数据库对象在逻辑上都属于某个表空间。DM数据库在初始化时会自动创建四个基础表空间:
表空间
类型
主要用途
SYSTEM
普通表空间
存放数据字典信息,禁止用户创建表和索引
ROLL
普通表空间
自动维护,用于存储DML操作前的数据,保障读一致性
MAIN
混合表空间
默认表空间(SYSDBA),可同时存储普通表与HUGE表,初始化包含MAIN.DBF文件
TEMP
普通表空间
存放SQL执行过程中产生的临时数据,如排序中间结果、临时表等
建议:在生产环境中,建议为业务数据创建独立的表空间,或直接使用MAIN表空间,以提升管理清晰度与性能。
FILLFACTOR(填充因子)是数据页级别的优化参数,用于平衡存储空间利用率和更新性能:
• 设置范围:0–100,表示数据页初始化后可用于插入的空间百分比。• 工作机制:剩余空间(100-FILLFACTOR)预留用于后续更新,避免因数据扩展导致页分裂。• 使用建议:• 若数据多读少更新,可设为较高值(如90-100)以提升存储密度;• 若数据频繁更新,建议适当降低(如70-80),减少页分裂带来的I/O开销。DM数据库通过清晰的逻辑存储层次——数据库→表空间→段→簇→页→记录,实现了数据的高效组织与存取。理解这些基本概念,有助于管理员更好地进行数据库规划、性能调优与日常维护。无论是普通业务系统还是高可用的DMDSC集群,这一存储逻辑都为DM数据库的稳定与高效运行提供了坚实的基础。
提示:可通过 SELECT * FROM V$TABLESPACE; 查看表空间详细信息,进一步结合实践加深理解。