背景
DMHS目标端配置好,正常启动,当执行start exec,报“EXE[ERROR]: 连接数据库失败!”
故障现场
1、DMHS目标端配置好,正常启动
[oracle@oradb2 bin]$ ./dmhs_server
MGR[INFO]: DMHS start up, current version: V4.2.60-Build(2022.02.24-106302trunc)_D64(Enterprise Edition)
MGR[WARN]: License will expire on 2022-06-30
MGR[INFO]: 成功加载配置文件,站点号:2, 管理端口:5345, 轮询间隔:3
MGR[INFO]: 管理 服务正在监听管理端口:5345
MGR[INFO]: 监控到来自 127.0.0.1(dmhs_console) 的登录
2、dmhs_console启动,执行start exec,就一直卡着
[oracle@oradb2 tool]$ ./dmhs_console
DMHS console tool: V4.2.60-Build(2022.02.24-106302trunc)_D64
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.
连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.60-Build(2022.02.24-106302trunc)_D64
DMHS> start exec <==== 一直卡住,
3、dmhs_server报错
然后dmhs_console程序报一堆错误
PUB[WARN]: 环境NLS_LANG未找到,使用默认GBK值:AMERICAN_AMERICA.ZHS32GB18030
MGR[INFO]: 正在加载执行模块...
EXE[INFO]: CONNECT: SERVER=oa;DRIVER={Oracle in OraDb11g_home1};UID=system;PWD=******;
EXE[ERROR]: SITEID:0 SEQID:0 TRXID:0 STATE:01000 CODE: 0 ERR:[unixODBC][Driver Manager]Can't open lib 'Oracle in OraDb11g_home1' : file not found
EXE[ERROR]: 连接数据库失败!
EXE[ERROR]: SITEID:0 SEQID:0 TRXID:0 STATE:01000 CODE: 0 ERR:[unixODBC][Driver Manager]Can't open lib 'Oracle in OraDb11g_home1' : file not found
EXE[ERROR]: 连接数据库失败!
EXE[ERROR]: SITEID:0 SEQID:0 TRXID:0 STATE:01000 CODE: 0 ERR:[unixODBC][Driver Manager]Can't open lib 'Oracle in OraDb11g_home1' : file not found
EXE[ERROR]: 连接数据库失败!
解决办法
看报错信息“[unixODBC][Driver Manager]Can’t open lib ‘Oracle in OraDb11g_home1’ : file not found”,可以知道是 unixODBC的driver没有配置,
在 /dm8/dmhs/odbc/etc/odbcinst.ini ,增加[Oracle in OraDb11g_home1]
[oracle@oradb2 ~]$ vi /dm8/dmhs/odbc/etc/odbcinst.ini
[oracle@oradb2 ~]$
[Oracle in OraDb11g_home1]
Description=ODBC DRIVER FOR ORACLE
Driver=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libsqora.so.11.1
Threading=0
[Oracle 11g ODBC driver]
Description=Oracle ODBC driver for Oracle 11g
Driver=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libsqora.so.11.1
[oracle@oradb2 ~]$