1 故障现象说明
在搭建DMHS 同步的时候,如果libdmoci.so 包版本不对,可能会遇到如下问题:
1.1 问题1
日志报错:
2021-08-25 13:12:09 MGR[INFO]: 正在加载DM8日志分析模块...
2021-08-25 13:12:09 MGR[ERROR]: 库文件 libcpt_dm8.so 未找到, 出错: 0
2021-08-25 13:12:09 MGR[INFO]: 来自 192.168.138.17 的连接已经断开!
查询目录下有这个文件
[dave@www.cndba.cn ~]# find /dmhs -name libcpt_dm8.so
/dmhs/bin/libcpt_dm8.so
/dmhs/bin2/libcpt_dm8.so
/dmhs/INST_HS/cpt17/libcpt_dm8.so
ldd查看
缺少libdmoci.so
1.2 问题2
DMHS 控制台执行目录无响应,源端和目标段都一样,并在目标端启动执行器时候,无法启动,一直卡主, cpu还持续保持在99%。
1.3 问题3
日志报错
2021-08-25 14:01:30 MGR[ERROR]: 无法连接到目的端192.168.138.18:5345的管理模块
2 解决方法
以上3个问题都是dmhs 自带的libdmoci.so 版本不对导致的。老版本dmhs自带libdmoci.so(DM7 版本),新版本(DM8)不带libdmoci.so,需要单独向原厂申请。
libdmhs_exec.so需要链接的是对目的数据库操作的库文件libdmoci.so,也就是dm8的libdmoci.so。然而dmhs下的db/bin是DMHS内置元数据库dm7的路径,也就是说此时执行器链接的是dm7的libdmoci.so所以执行异常。
实际上dm8默认的安装文件中也并没有包含libdmoci.so文件, 因为dm8的bin文件安装中并不包含oci接口库。 因此对DM8 安装配置DMHS 必须向原厂申请对应版本的dmdci.zip文件,解压dmdci.zip后复制库文件libdmoci.so和以及include文件到dm8/bin下对应位置即可使用。
操作成功以后,在验证环境变量: LD_LIBRARY_PATH=/dm8/bin:/usr/local/lib
是否准确,这样就不应再使用内置元数据库dm7的依赖库。
操作示例:
[dave@www.cndba.cn software]$ cd dmoci/
[dave@www.cndba.cn dmoci]$ ls
include libcrypto.so libdmdpi.so libdmfldr.so libdmoci.a libdmoci.so libssl.so
[dave@www.cndba.cn dmoci]$ ll
total 44716
drwxr-xr-x 2 dmdba dinstall 32 Feb 1 15:33 include
-rw-r--r-- 1 dmdba dinstall 3243641 Feb 1 15:33 libcrypto.so
-rw-r--r-- 1 dmdba dinstall 9791700 Feb 1 15:33 libdmdpi.so
-rw-r--r-- 1 dmdba dinstall 9534592 Feb 1 15:33 libdmfldr.so
-rw-r--r-- 1 dmdba dinstall 12144270 Feb 1 15:33 libdmoci.a
-rw-r--r-- 1 dmdba dinstall 10383731 Feb 1 15:33 libdmoci.so
-rw-r--r-- 1 dmdba dinstall 682709 Feb 1 15:33 libssl.so
[dave@www.cndba.cn dmoci]$ chmod 755 * -R
[dave@www.cndba.cn dmoci]$ cp -r * /dm/dmdbms/bin/
[dave@www.cndba.cn dmoci]$
添加依赖包之后,DMHS 可以正常运行。
版权声明:本文为博主原创文章,未经博主允许不得转载。