DM数据存储
数据库要存储哪些数据
- 用户数据 : 用户使用数据库的目的
- 数据字典 : 用户数据的组织方式
- 保证ACID及数据安全的数据
- 重做
- 回滚
- 备份
- 用于故障及错误分析的数据
- 服务功能配置
DM服务器的存储文件
- 配置文件:
- 配置文件是DM数据库用来设置功能选项的一些文本文件;
- 配置文件以ini为扩展名,它们具有固定的格式;
- 用户可以通过修改其中的某些参数取值来启用/禁用特定功能项或对系统运行环境设 置更优的参数值以提升系统性能。
- 控制文件:控制文件是一个二进制文件,它记录了数据库必要的初 始信息,其中包括:数据库名称、数据库服务器模式、OGUID唯一标识、服务器版本、数据文件版本、启动次数及最后一次启动时间、表空间信息、控制文件校验码。
- 控制文件备份:在服务器运行期间,执行表空间的DDL等操作后,服务器内部需要同 步修改控制文件内容。如果在修改过程中服务器故障,可能会导致控 制文件损坏,为了避免出现这种情况,在修改控制文件时系统内部会 执行备份操作。
- 控制文件转化:可通过dmctlcvt来进行ctl文件和文本文件之间的转化。
- 数据文件:存储数据的二进制文件,以dbf作为扩展名,在逻辑上有与之对应的表空间。大致分类如下:
- 行存储数据文件
- 对应系统自带的系统表空间SYSTEM、默认用户表空间MAIN以及用户自定义的行存数据表空间
- 可用来存储以行存储方式组织的B树、堆表以及位图索引的数据
- 逻辑上采用段、簇、页分层的方式进行管理
- 列存储数据文件
- 对应系统自创的列存目录HMAIN以及用户自定义表空间列存目录
- 存储列存数据
- 逻辑上采用数据分片的方式进行管理
- 回滚数据文件
- 对应系统自创的回滚表空间ROLL
- 保存系统的回滚记录
- 临时数据文件
- 对应系统自创的临时数据表空间TEMP
- 用于存储临时表数据以及缓存不足时转存到磁盘的临时数据
- 行存储数据文件
- 重做日志文件:在DM数据库中添加、删除、修改对象,或者改变数据,DM都会按照特定的格式, 将这些操作执行的结果写入到当前的重做日志文件中。
- 重做日志文件是以log为扩展名的二进制文件。
注意
:不是所有的以log为扩展名的都是重做日志文件 - 每 个 D M 数 据 库 实 例 必 须 至 少 有 2 个 重 做 日 志 文 件 , 默 认 两 个 日 志 文 件 为 DAMENG01.log、DAMENG02.log,这两个文件循环使用。
- 因为是数据库正在使用的日志文件,因此被称为联机日志文件。
- 存储数据库的事务日志,以便系统在出现故障时能够进行故障恢复。
- 日志归档
- 配置了归档的运行模式下,会对重做日志文件进行归档;
- 归档日志文件以归档时间命名,扩展名也是 log。
- 归档模式下运行会更安全,当出现故障时其丢失数据的可能性更小。
- 重做日志归档是一些数据库高级功能,比如数据守护等的基础。
- 重做日志文件是以log为扩展名的二进制文件。
- 事件日志文件及跟踪日志文件:记录服务器运行期间信息的文本文件,用于分析定位系统错误。常用的有:
- 服务器事件日志
- DM数据库系统在运行过程中,会在log子目录下产生一个“dm_实例名_日期”命名的事件 日志文件。
- 事件日志文件对运行时的关键事件进行记录,如系统启动、关闭、内存申请失败、IO错误 等错误。
- 事件日志文件随着DM数据库服务的运行一直存在。
- SQL跟踪日志
- 配置中打开了SQL跟踪之后会生成的日志
- 记录运行期间服务器锁运行的SQL语句及其运行结果
- 可在sqllog.ini中对所跟踪的内容进行定制
- 服务器事件日志
达梦社区地址 https://eco.dameng.com