KingbaseES V8R6数据库运维案例之---ksql访问动态库问题

案例说明:

CentOS环境下,在安装和初始化数据库实例后,启动数据库服务,通过ksql连接访问时出现以下故障:

经检查,是缺失动态库'libpq.so.5 '导致。

系统环境:

[kingbase@node102 bin]$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

适用版本:

KingbaseES V8R6

一、问题现象

[kingbase@node102 bin]$ ./ksql -U system test -p 54321
./ksql: /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/../lib/libssl.so.10: no version information available (required by /lib64/libpq.so.5)
./ksql: /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/../lib/libcrypto.so.10: no version information available (required by /lib64/libpq.so.5)
./ksql: /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/../lib/libcrypto.so.10: no version information available (required by /lib64/libldap_r-2.4.so.2)
./ksql: /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/../lib/libcrypto.so.10: no version information available (required by /lib64/libldap_r-2.4.so.2)
./ksql: /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/../lib/libssl.so.10: no version information available (required by /lib64/libldap_r-2.4.so.2)
ksql: error: could not connect to server: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.54321"?

---如上所示,ksql无法连接数据库访问,并出现动态库故障。

二、问题分析

1、检查数据库服务状态

[kingbase@node102 bin]$ netstat -an |grep 543
tcp 0 0 0.0.0.0:54321 0.0.0.0:* LISTEN
tcp6 0 0 :::54321 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 66234 /tmp/.s.KINGBASE.54321
unix 3 [ ] STREAM CONNECTED 28543

---如上所示,数据库服务运行状态正常,数据库服务端口(54321)处于监听状态。

2、查看ksql动态库链接信息

[kingbase@node102 bin]$ ldd -r ksql
linux-vdso.so.1 => (0x00007ffd8e583000)
libssl.so.10 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libssl.so.10 (0x00007fab06477000)
libcrypto.so.10 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libcrypto.so.10 (0x00007fab0604e000)
librt.so.1 => /lib64/librt.so.1 (0x00007fab05e46000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fab05c0f000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fab05a0b000)
libm.so.6 => /lib64/libm.so.6 (0x00007fab05709000)
libicui18n.so.52 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libicui18n.so.52 (0x00007fab05294000)
libicuuc.so.52 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libicuuc.so.52 (0x00007fab04efb000)
libicudata.so.52 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libicudata.so.52 (0x00007fab0368f000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fab0348a000)
libc.so.6 => /lib64/libc.so.6 (0x00007fab030bc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fab02ea0000)
libz.so.1 => /lib64/libz.so.1 (0x00007fab02c8a000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fab02a87000)
/lib64/ld-linux-x86-64.so.2 (0x00007fab066e7000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fab0277f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fab02569000)

---如上所示,ksql动态库没有出现明显的error信息。

2、查看其他版本ksql的动态库信息

[kingbase@node102 bin]$ ldd -r ksql
linux-vdso.so.1 => (0x00007ffc98b45000)
libpq.so.5 => /home/kingbase/cluster/R6HA/kha/kingbase/bin/./../lib/libpq.so.5 (0x00007f9eacfb5000)
libssl.so.10 => /home/kingbase/cluster/R6HA/kha/kingbase/bin/./../lib/libssl.so.10 (0x00007f9eacd45000)
libcrypto.so.10 => /home/kingbase/cluster/R6HA/kha/kingbase/bin/./../lib/libcrypto.so.10 (0x00007f9eac91c000)
libz.so.1 => /lib64/libz.so.1 (0x00007f9eac706000)
libreadline.so.5 => /home/kingbase/cluster/R6HA/kha/kingbase/bin/./../lib/libreadline.so.5 (0x00007f9eac4ca000)
libtermcap.so.2 => /home/kingbase/cluster/R6HA/kha/kingbase/bin/./../lib/libtermcap.so.2 (0x00007f9eac2c5000)
librt.so.1 => /lib64/librt.so.1 (0x00007f9eac0bd000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9eabe86000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9eabc82000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9eab980000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9eab5b2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9eab396000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f9eab193000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9ead1ff000)

---如上图所示,其他版本的ksql中有‘libpq.so.5'的动态库链接信息,而出现故障的ksql中无此动态库链接信息。

3、查看其他版本lib下动态库文件信息

[kingbase@node102 lib]$ ls -lh libpq*
-rwxr-xr-x. 1 kingbase kingbase 330K Feb 16 2022 libpq.so
-rwxr-xr-x. 1 kingbase kingbase 330K Feb 16 2022 libpq.so.5
-rwxr-xr-x. 1 kingbase kingbase 330K Feb 16 2022 libpq.so.5.12
-rwxr-xr-x. 1 kingbase kingbase 26K Feb 16 2022 libpqwalreceiver.so

---当前故障版本的lib目录下,缺失libpq.so.5的动态库文件。

三、问题解决

1、将其他版本的libpq的动态库拷贝到当前版本

2、查看当前版本动态库文件信息

[kingbase@node102 bin]$ cd /opt/Kingbase/ES/V8R6_C7/Server/lib
[kingbase@node102 lib]$ ls -lh libpq*
-rw-r-xr-x 1 kingbase kingbase 330K Feb 1 10:50 libpq.so
-rw-r-xr-x 1 kingbase kingbase 330K Feb 1 10:50 libpq.so.5
-rw-rw-r-- 1 kingbase kingbase 335K Oct 28 19:39 libpq.so.5.12
-rw-rw-r-- 1 kingbase kingbase 26K Oct 28 19:39 libpqwalreceiver.so #授权文件可执行权限
[kingbase@node102 lib]$ chmod u+x * [kingbase@node102 lib]$ ls -lh libpq*
-rwxr-xr-x 1 kingbase kingbase 330K Feb 1 10:50 libpq.so
-rwxr-xr-x 1 kingbase kingbase 330K Feb 1 10:50 libpq.so.5
-rwxrw-r-- 1 kingbase kingbase 335K Oct 28 19:39 libpq.so.5.12
-rwxrw-r-- 1 kingbase kingbase 26K Oct 28 19:39 libpqwalreceiver.so

3、查看当前版本ksql动态库链接信息

[kingbase@node102 lib]$ cd ../bin
[kingbase@node102 bin]$ ldd -r ksql
linux-vdso.so.1 => (0x00007ffc680b9000)
libpq.so.5 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libpq.so.5 (0x00007f853a11a000)
libssl.so.10 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libssl.so.10 (0x00007f8539eaa000)
libcrypto.so.10 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libcrypto.so.10 (0x00007f8539a81000)
libz.so.1 => /lib64/libz.so.1 (0x00007f853986b000)
libreadline.so.5 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libreadline.so.5 (0x00007f853962f000)
libtermcap.so.2 => /opt/Kingbase/ES/V8R6_C7/KESRealPro/V008R006C007B0012/Server/bin/./../lib/libtermcap.so.2 (0x00007f853942a000)
librt.so.1 => /lib64/librt.so.1 (0x00007f8539222000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f8538feb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8538de7000)
libm.so.6 => /lib64/libm.so.6 (0x00007f8538ae5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8538717000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f85384fb000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f85382f8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f853a364000)

---如上图所示,ksql已经建立和'libpq'的动态库链接。

4、ksql连接访问

[kingbase@node102 bin]$ ./ksql -U system test
ksql (V8.0)
Type "help" for help.
test=#

---如上所示,ksql可以正常连接访问。

四、总结

1、对于以上故障问题,生产环境下,可以尝试重新安装数据库软件来解决。

2、如果存在其他V8R6的版本,可以尝试按照以上方案处理解决。

KingbaseES V8R6 运维案例 --ksql访问动态库问题的更多相关文章

  1. KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复

    案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...

  2. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

  3. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  4. 运维案例 | Exchange2010数据库损坏的紧急修复思路

    ​​关注嘉为科技,获取运维新知 Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据.一旦遇到这种级别的故障,管理员往往都是在非常紧 ...

  5. KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份

    案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...

  6. KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份

    案例说明: 在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份.本案例介绍了,如何在King ...

  7. KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障

    ​ 案例说明: 在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决. 适用版本: Kin ...

  8. KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份

    案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...

  9. Linux运维工程师面试-部分题库

    一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?   2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...

  10. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

随机推荐

  1. springboot项目使用外置tomcat7部署项目

    Springboot使用外置tomcat7部署运行 1.pom修改 2.tomcat底下config下catalina.properties 3.在tomcat的lib文件夹下添加 javax.el- ...

  2. fastjson反序列化各版本利用汇总

  3. 高并发时为什么推荐ReentrantLock而不是synchronized

    目录 1.最初的 synchronized 2.synchronized 的优化 3.但是,JAVA的最终答案 JDK 21 LTS 来了 1.最初的 synchronized 它默认对临界资源添加重 ...

  4. win32 - Shell菜单项的创建

    #include <windows.h> #include <shobjidl_core.h> #include <windowsx.h> #include < ...

  5. 【Android逆向】Frida 无脑暴力破解看雪test2.apk

    1. 安装apk到手机 adb install -t test2.apk apk下载位置: https://www.kanxue.com/work-task_read-800625.htm 2. 题目 ...

  6. Ubuntu常用工具和问题整理

    安装Ubuntu虚拟机时常会遇到的几个问题 1.安装时设置镜像 安装Ubuntu系统时设置国内镜像可以加快安装速度:http://mirrors.aliyun.com/ubuntu/ 参考:ubunt ...

  7. EasyExcel使用及自定义设置单元格样式

    EasyExcel使用及自定义设置单元格样式 https://www.cnblogs.com/Hizy/p/11825886.html easyexcel 自动设置列宽 https://www.man ...

  8. 安装MySql失败( Microsoft Visual C++ 2013 Runtime 64bit)

    参考资料:下载之家 提示你缺少什么版本就安装什么版本.64位或者32位. 文件下载地址:下载之家 不知道有没有失效,如果失效的话大家直接去下载之家搜索下载.

  9. Springboot 撞上 NebulaGraph——NGbatis 初体验

    本文首发于 NebulaGraph 公众号 https://mp.weixin.qq.com/s/z56o6AEz1Z4RmS8Zdx6dTA 大家好,我是开源项目 NGbatis 的发起人大叶(Co ...

  10. 基于图数据库 NebulaGraph 实现的欺诈检测方案及代码示例

    本文是一个基于 NebulaGraph 图算法.图数据库.机器学习.GNN 的 Fraud Detection 方法综述.在阅读本文了解欺诈检测的基本实现方法之余,也可以在我给大家准备的 Playgr ...