DM DSC集群执行dmcss 命令报错cannot open shared object file

本文档描述了在DM数据库环境中,尽管已设置DM_HOME环境变量,但执行dmcss等命令时仍出现错误的问题。错误信息涉及共享库加载失败。问题的原因可能在于DM系统的内部bug。解决方法是将工作目录切换到$DM_HOME/bin下再执行命令,例如使用dmasmcmd初始化DCR。遵循此方法后,命令能够成功执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【场景说明】

已经将DMHOME环境变量写入DM_HOME环境变量写入DMHOMEPATH的情况下,单独执行dmcss 命令报错
带上绝对路径执行也会出现报错信息,有的时候也会成功
📢注意:这个报错存在于DM很多命令中,即便配置了环境变量也会报错,如dmasmsvr

【报错信息】

以下可以看到,仅执行dmcss help 都会报错

dmdba@whx01 192.168.3.208 22:31:35 [pwd:~]$ dmcss DCR_INI=/home/dmdba/dm8/data/dsc/config/dmdcr.ini
dmcss: error while loading shared libraries: libdmcalc.so: cannot open shared object file: No such file or directory

dmdba@whx01 192.168.3.208 22:32:54 [pwd:~/dm8/data/dsc/config]$ ll /home/dmdba/dm8/data/dsc/config/dmdcr.ini
-rw-r--r--. 1 dmdba dinstall 600 May 11 22:31 /home/dmdba/dm8/data/dsc/config/dmdcr.ini

dmdba@whx01 192.168.3.208 22:35:45 [pwd:~]$ dmcss help
dmcss: error while loading shared libraries: libdmcalc.so: 
cannot open shared object file: No such file or directory


dmdba@whx01 192.168.3.208 22:36:38 [pwd:~/dm8/dm_home/bin]$ dmcss DCR_INI=/home/dmdba/dm8/data/dsc/config/dmdcr.ini
DMCSS V8
Vote disk check n_group:[0] failed, please check and try again.
dmcss startup failed:[CODE:-13217],error info:磁盘checksum校验失败

【问题原因】

这种报错应该属于DM系统本身的bug,处理的方法也很简单
● 将路径切换到$DM_HOME/bin下,再执行命令

【问题处理】

dmdba@whx01 192.168.3.208 22:36:53 [pwd:~]$ cd $DM_HOME/bin
dmdba@whx01 192.168.3.208 22:36:54 [pwd:~/dm8/dm_home/bin]$ dmasmcmd
DMASMCMD V8
ASM>init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dm8/data/dsc/config/dmdcr_cfg.ini' identified by 'admin1234'
[Trace]DG 126 allocate 4 extents for file 0xfe000002.

ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/dm8/data/dsc/config/dmdcr_cfg.ini'Used time: 53.427(ms).
[Trace]DG 125 allocate 4 extents for file 0xfd000002.
Used time: 16.095(ms).
ASM>
ASM>exit

dmdba@whx01 192.168.3.208 22:39:54 [pwd:~/dm8/dm_home/bin]$ dmcss DCR_INI=/home/dmdba/dm8/data/dsc/config/dmdcr.ini
DMCSS V8
DMCSS IS READY
[CSS]: 设置EP CSS0[0]为控制节点

附:友情链接链接:

达梦技术社区:https://eco.dameng.com

### 解决 `libgo.so` 找不到共享对象文件的问题 当遇到错误提示 `libgo.so cannot open shared object file: No such file or directory` 时,这通常意味着系统无法找到所需的动态链接库。此类问题可以通过以下几个方面来排查和解决。 #### 1. 验证库的存在位置 确认 `libgo.so` 文件确实存在于系统的某个路径下,并且该路径已被添加到环境变量 `LD_LIBRARY_PATH` 中[^1]。可以使用命令 `find / -name "libgo.so"` 来查找此文件的具体位置。 #### 2. 更新动态链接器缓存 如果已经安装了相应的库但是仍然收到找不到的消息,则可能是由于动态链接器缓存未更新所致。执行如下指令刷新缓存: ```bash sudo ldconfig ``` #### 3. 安装缺失依赖项 有时缺少其他必要的支持库也会引发这个问题。对于基于 Debian 的发行版(如 Ubuntu),可尝试通过 APT 包管理工具安装 Go 语言运行时及其依赖关系: ```bash sudo apt-get update && sudo apt-get install golang-go ``` 而对于 Red Hat/CentOS 类型的操作系统来说,应该利用 YUM 或 DNF 进行相同操作: ```bash sudo yum install golang # 或者对于较新的版本 sudo dnf install golang ``` #### 4. 设置自定义库路径 假如上述方法均未能解决问题,而手动下载并编译了特定版本的 Go SDK 并放置于非标准目录内的话,那么就需要显式告知操作系统去哪里寻找这些额外资源。为此可以在启动脚本中加入下面这段代码片段,以便永久性地修改 `LD_LIBRARY_PATH` 变量: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/go/lib ``` 其中 `/path/to/go/lib` 应替换为你实际存放 `.so` 文件的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值