注册
【日拱一卒】参数篇-CTL_PATH
技术分享/ 文章详情 /

【日拱一卒】参数篇-CTL_PATH

小d 2025/02/28 122 0 0

图片.png

参数说明

用于配置达梦数据库控制文件路径,数据库会在指定路径下寻找加载控制文件,控制文件默认名为dm.ctl。默认路径在SYSTEM_PATH下。

参数应用场景

在参数文件需要变更路径的时候,需要同时修改dm.ini文件该参数。

实验测试

其他相关知识点

控制文件包含信息

每个DM数据库包含两个控制文件,即dm.ctl和dmtemp.ctl,均为二进制文件。

dm.ctl用于记录数据库必要的初始信息,主要包含以下内容:

  1. 数据库名称

  2. 数据库服务器模式

  3. OGUID唯一标识

  4. 数据库服务器版本

  5. 数据文件版本

  6. 数据库的启动次数

  7. 数据库最近一次启动时间

  8. 表空间信息,包括:表空间名、表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存

  9. 控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件的合法性,防止文件损坏及手工修改。

    dmtemp.ctl用于记录临时表空间相关信息,主要包括临时表空间名以及临时表空间物理文件路径等。

    在服务器运行期间,执行表空间的DDL等操作后,服务器内部需要同步修改控制文件内容。如果在修改过程中服务器故障,可能会导致控制文件损坏,为了避免出现这种情况,在修改控制文件时系统内部会执行备份操作。

    备份策略如下:

  • 策略一:在修改控制文件之前,先执行一次备份,确定控制文件修改成功后,再将备份删除,如果控制文件修改失败或中途出现故障,则保留备份文件。
  • 策略二:在修改控制文件成功之后,根据dm.ini中指定的CTL_BAK_PATH/CTL_BAK_NUM对最新的控制文件执行备份,如果用户指定的CTL_BAK_PATH是非法路径,则不再生成备份文件,在路径有效的情况下,生成备份文件时根据指定的CTL_BAK_NUM判断是否删除老的备份文件。

注意:

  • 如果控制文件存放在裸设备上,则策略一不会生效。
  • 如果指定的CTL_BAK_PATH是无效路径,则策略二也不会生效。
  • 如果策略一和策略二的条件都满足,则都会生效执行,否则只执行满足条件的备份策略,如果都不满足,则不会再生成备份文件。
  • 如果初始化新库,在初始化完成后,会在SYSTEM_PATH/CTL_BAK路径下对原始的控制文件执行一次备份。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服