注册
DM8 数据库启动过程示例:从 dmserver 到 SYSTEM IS READY
专栏/技术分享/ 文章详情 /

DM8 数据库启动过程示例:从 dmserver 到 SYSTEM IS READY

FoxZzz 2026/09/30 230 0 0
摘要
file dm.key not found, use default license! 
version info: develop 
csek2_vm_t = 1680 
nsql_vm_t = 352 
prjt2_vm_t = 208 
ltid_vm_t = 272 
nins2_vm_t = 1336 
nset2_vm_t = 272 
ndlck_vm_t = 192 
ndel2_vm_t = 920 
slct2_vm_t = 352 
nli2_vm_t = 200 
aagr2_vm_t = 312 
pscn_vm_t = 416 
dist_vm_t = 1016 
DM Database Server 64 V8 03134284604-20260707-335949-20228 startup... 
Normal of FAST 
Normal of DEFAULT 
Normal of RECYCLE 
Normal of KEEP 
Normal of ROLL 
Database mode = 1, oguid = 453331 
License will expire on 2027-07-07 
file lsn: 54790 
ndct db load finished, code:100 
ndct second level fill fast pool finished 
ndct third level fill fast pool finished 
ndct second level fill fast pool finished 
ndct third level fill fast pool finished 
ndct fill fast pool finished 
nsvr_startup end. 
uthr_pipe_create, create pipe[read:20, write:21] 
aud sys init success. 
aud rt sys init success. 
systables desc init success. 
ndct_db_load_info finished, code:100. 
SYSTEM IS READY.

1. 第一阶段:dmserver 进程启动与 License 检查

file dm.key not found, use default license! 
version info: develop

DM8 在服务器启动阶段会主动检查 dm.key ,当没有配置 License 时使用默认授权,有效期为版本发布后一年,所以后续会出现

License will expire on 2027-07-07

2. 第二阶段:初始化系统参数

csek2_vm_t = 1680 
nsql_vm_t = 352 
prjt2_vm_t = 208 
ltid_vm_t = 272 
nins2_vm_t = 1336 
nset2_vm_t = 272 
ndlck_vm_t = 192 
ndel2_vm_t = 920 
slct2_vm_t = 352 
nli2_vm_t = 200 
aagr2_vm_t = 312 
pscn_vm_t = 416 
dist_vm_t = 1016 
启动输出 对应概念 主要作用
csek2_vm_t = 1680 CSEK2 聚集索引数据定位 / 范围扫描
nsql_vm_t = 352 NSQL VM 中负责启动、执行一棵 SQL 物理计划树的指令/运行环境
prjt2_vm_t = 208 PRJT2 Projection,投影,计算 SELECT 列和表达式
ltid_vm_t = 272 LTID 内部 VM 节点 内部执行结构,公开文档未给出可靠定义
nins2_vm_t = 1336 INSERT 类执行节点 INSERT 数据写入的运行时环境
nset2_vm_t = 272 NSET2 收集结果集,通常是查询执行计划顶层节点
ndlck_vm_t = 192 DLCK 类节点 数据字典对象加锁处理
ndel2_vm_t = 920 DELETE 类执行节点 DELETE 删除数据的运行时环境
slct2_vm_t = 352 SLCT2 Selection,按 WHERE 等条件过滤行
nli2_vm_t = 200 NEST LOOP INDEX JOIN2 / NLI2 嵌套循环索引连接
aagr2_vm_t = 312 AAGR2 简单聚集,COUNT/SUM/MAX/MIN 等
pscn_vm_t = 416 PSCN 将批量参数作为表进行扫描
dist_vm_t = 1016 DISTINCT 去重运行时节点,内部维护去重状态

2. 第三阶段:初始化 Buffer / 内存子系统

Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

FAST → 快速缓冲相关结构
DEFAULT → 默认数据缓冲相关结构
RECYCLE → RECYCLE Buffer
KEEP → KEEP Buffer
ROLL → 回滚相关缓冲结构

4.第四阶段:读取控制信息,确定数据库身份

Database mode = 1, oguid = 453331

DM 支持三种数据库模式:

数值 模式 含义
0 NORMAL 普通单机模式
1 PRIMARY 主库模式
2 STANDBY 备库模式

5. 第五阶段:读取持久化日志位置

file lsn: 54790
LSN 即 Log Sequence Number,可以理解成数据库 REDO 日志流中的逻辑位置。可以理解为 DM 从数据库持久化状态中读取到的日志位置。

  • 数据文件状态
  • Redo 状态
  • 事务恢复状态
  • 数据库是否能够一致打开

6. 第六阶段:数据库字典装载

ndct db load finished, code:100
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished

7. 第七阶段:事务恢复与一致性恢复

ndct fill fast pool finished
nsvr_startup end.
uthr_pipe_create, create pipe[read:20, write:21] 

8. 第八阶段:初始化审计系统

aud sys init success. 
aud rt sys init success. 

数据库审计相关子系统开始工作。aud sys 对应基础审计系统,aud rt sys 对应运行时审计相关系统

9. 第九阶段:初始化系统表元数据

systables desc init success. 
ndct_db_load_info finished, code:100. 
SYSTEM IS READY. 

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服