DM-表空间
表空间
表空间由一个或者多个数据文件组成。表空间的名称不能超过128个字节,单个表空间最多可以添加256个数据文件【由 TS_FIL_MAX_ID 静态参数限制每个表空间所支持的最大文件个数,范围(2 ~255)】。
在创建 DM 数据库时,会自动创建 5 个表空间:SYSTEM 表空间、ROLL 表空间、MAIN 表空间、TEMP 表空间和 HMAIN 表空间。
- SYSTEM 表空间:存放了有关 DM 数据库的字典信息,用户不能在 SYSTEM 表空间创建表和索引。
- ROLL 表空间:完全由 DM 数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行 DML 操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图。
- MAIN 表空间:在初始化库的时候,就会自动创建一个大小为 128M 的数据文件MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。
- TEMP 表空间:完全由 DM 数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL 语句中间结果集以及用户创建的临时表等都会使用到 TEMP表空间。
- HMAIN 表空间:属于 HTS (HUGE TABLESPACE) 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。
页大小与表空间容量关系
初始化页大小的选择不仅影响表空间数据文件的大小选择,也会对表中每个字段及每条记录产生限制,如下表所示:
数据库页大小 | 每个字符类型字段实际最大长度(字节) | 每行记录最大字段外其他字段总长度(字节) | 表空间单个数据文件最小 (MB)/最大 (MB) |
---|---|---|---|
4 KB | 1938 | 2047 | 16/8388608 |
8 KB | 3878 | 4095 | 32/16777216 |
16 KB | 8000 | 8195 | 64/33554432 |
32 KB | 8188 | 16176 | 128/67108864 |
单个文件的最小值为页大小乘以4096,最大值为页大小乘以2147483647 (即:2^31-1=2147483647)
相关参数
-
EXTENT_SIZE: 数据文件使用的簇大小 (16),可选值: 16、 32、 64,单位:页
select para_name, para_value from v$dm_ini where para_name = 'GLOBAL_EXTENT_SIZE';
-
PAGE_SIZE: 数据页大小 (8),可选值: 4、 8、 16、 32,单位: KB
select para_name, para_value from v$dm_ini where para_name = 'GLOBAL_PAGE_SIZE';
-
TS_MAX_ID:限制系统所支持的最大表空间 ID,有效值范围(512 ~ 65517)。默认值为:8192。静态参数
-
TS_FIL_MAX_ID:限制每个表空间所支持的最大文件个数,有效值范围(2 ~255)。静态参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了