数据库

首页 » 常识 » 问答 » DM达梦数据库检查点的原理和手工触发方法
TUhjnbcbe - 2025/2/9 16:54:00
专业白癜风医院 https://jbk.39.net/yiyuanfengcai/hj_bjzkbdfyy/

例如,执行SELECTCHECKPOINT(10);会将系统中10%脏页写入磁盘。

创建数据库时,联机日志文件通常被扩展至一定长度,其内容则被初始化为空,当系统运行时,该文件逐渐被产生的日志所填充。

为了达到循环利用日志系统空间的目的,必须在所有日志文件空间将被占满时,系统能够自动清空一部分日志,以便重用日志文件的空间,

为了保证被清空的日志所―保护‖的数据在磁盘上是安全的,需要引入一个关键的数据库概念——检查点。

当系统产生检查点时,将系统缓冲区中被修改过的数据页写入磁盘,以保证当前日志所―保护‖的数据页都已安全写入磁盘,这样日志文件即可被安全重用。

当服务器启动和关闭时,系统都会产生检查点。

服务器运行过程中,系统会自动判断是否需要执行检查点;

当空闲日志空间不足时,系统自动产生一个检查点;

系统调度线程也会定时产生检查点;

还可以通过调用系统函数CHECKPOINT主动生成检查点。

系统调度线程根据dm.ini的参数配置,产生检查点,下面给出具体的例子和说明。

CKPT_INTERVAL=#每间隔秒,产生检查点间隔

CKPT_FLUSH_RATE=5#检查点的刷盘比例为5%,将系统中所有脏页的5%写入磁盘

CKPT_FLUSH_PAGES=#一个检查点最少写入个脏页

检查点系统函数CHECKPOINT(FLUSH_RATE),其参数FLUSH_RATE为INTEGER类型或DOUBLE类型,指示刷盘比例,替代dm.ini中的CKPT_FLUSH_RATE,同时CKPT_FLUSH_PAGES参数同时生效。

例如,执行SELECTCHECKPOINT(10);会将系统中10%脏页写入磁盘。

1
查看完整版本: DM达梦数据库检查点的原理和手工触发方法