DM8启动报错:全局参数非法

问题描述

开发让把数据库启动下,启动后输入如下报错:

字面意思的报错就是参数非法,推测是有人改参数没改对,可是和开发沟通没人改参数。

--查看进程
[root@topnet31 ~]# ps -ef | grep dmserver
dmdba    34732     1  1 5月27 ?       00:21:03 /opt/dmdba/dmdbms/bin/dmserver path=/opt/dmdba/data/topoers/dm.ini

--启动实例
[dmdba@topnet31 bin]$ cd /opt/dmdba/dmdbms/bin/
[dmdba@topnet31 bin]$ ./DmServiceTOPISP start
Starting DmServiceTOPISP:                                  [ FAILED ]
Global parameter value of LIKE_OPT_FLAG is illegal, use max value!
Global parameter value of VIEW_PULLUP_FLAG is illegal, use max value!
Global parameter value of GROUP_OPT_FLAG is illegal, use max value!
Global parameter value of HASH_PLL_OPT_FLAG is illegal, use max value!
Global parameter value of ENHANCED_SUBQ_MERGING is illegal, use default value!
Global parameter value of OUTER_CVT_INNER_PULL_UP_COND_FLAG is illegal, use default value!
Global parameter value of SUBQ_EXP_CVT_FLAG is illegal, use max value!
Global parameter value of TOP_ORDER_OPT_FLAG is illegal, use default value!
Global parameter value of SPEED_SEMI_JOIN_PLAN is illegal, use max value!
Global parameter value of CNNTB_OPT_FLAG is illegal, use max value!
Global parameter value of NBEXP_OPT_FLAG is illegal, use max value!
Global parameter value of VIEW_FILTER_MERGING is illegal, use max value!
Global parameter value of PSEG_RECV is illegal, use max value!
Global parameter value of ENABLE_IGNORE_PURGE_REC is illegal, use default value!
version info: enterprise
ctl file info get failed!

问题原因

一个服务器上部署了2个版本不同的数据库,dmserver命令所在的目录不对。

[dmdba@topnet31 ~]$ find / -name dmserver
/opt/dmdba/dm8/bin/dmserver
/opt/dmdba/dmdbms/bin/dmserver

解决办法

换个版本的安装目录启动解决

--启动实例
[dmdba@topnet31 bin]$ cd /opt/dmdba/dm8/bin
[dmdba@topnet31 bin]$ ./DmServiceTOPISP start

补充

数据库启动过程

shutdown->mount

根据配置文件 dm.ini 分配共享内存, 启动后台进程/线程, 找到控制文件的位置, 验证控制文件是否损坏, 最后打开控制文件。

mount->open

根据控制文件找到数据库的数据文件和重做日志文件, 分析数据库是否需要做恢复。

控制文件介绍

每个DM 数据库都有一个名为dm.ctl的控制文件。控制文件是一个二进制文件,它记录了数据库必要的初始信息,其中主要包含以下内容:

  • 数据库名称;
  • 数据库服务器模式;
  • OGUID 唯一标识;
  • 数据库服务器版本;
  • 数据文件版本;
  • 数据库的启动次数;
  • 数据库最近一次启动时间;
  • 表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;
  • 控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改。

最后,达梦在数据文件保护方面做的还是挺好的,版本不匹配直接启动失败,保持数据文件不变化。但是在一个服务器上部署多个版本的场景下,有个弊端就是,库关闭后不好去查dm.ini对应的安装目录是哪个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董小姐yyds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值