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. python项目vscode配置

    最近由pycharm切到VScode, 记录一下项目的通用配置; 在项目目录建一个.vscode的文件夹分别创建三个文件 lunch.json python运行配置 settings.json vsc ...

  2. [BUUCTF][WEB][极客大挑战 2019]Knife 1

    这题几乎是送分 题目不断暗示,后台存在一句话木马 拿个蚁剑连上去就完事了 这里用curl 连上去,演示一下,理解一下其中的原理 #注意 phpinfo() 后面的分号不能省 curl -d " ...

  3. 一个简单的Dockerfile多阶段构建go项目

    From golang:1.16-alpine3.13 AS builder WORKDIR /app COPY . . RUN go build -o main main.go From alpin ...

  4. 【开发工具】Linux 服务器 Shell 脚本简单入门

    记录一下学习Shell编程的关键知识点,使用最通俗简洁的语句,让阅读者能快速上手Shell脚本的编写 1.什么是Shell? Shell是一种常用于服务器运维的脚本语言.众所周知,脚本语言不需要编译器 ...

  5. 第一百一十篇:内存泄漏和垃圾回收(JS)

    好家伙,本篇内容为<JS高级程序设计>第四章的学习笔记 1.内存泄露 1.1.什么是内存泄漏? 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释 ...

  6. 【Application Insights】使用CURL命令向Application Insgihts发送测试数据

    问题描述 在使用App Service或者Kubernetes等服务时,需要收集一些日志数据并且发送到Application Insights中,当使用SDK或者是服务自带的Application I ...

  7. 【Azure 应用服务】Azure App Service能否使用Storage Account File Share

    问题描述 Azure App Service能否使用Storage Account File Share? 问题回答 如果部署的App Service为Linux环境,可以直接使用Mount stor ...

  8. Big-Yellow的算法工程师进阶之路

    Big-Yellow的算法工程师进阶之路 一.基础算法 二.基础数据结构 2.1 链表[1] 2.1.1 基础理论 链表是一种以链的形式来存储数据的数据结构.链表的结构:每一个数据都与其后一个数据相连 ...

  9. Spring配置xml自定义事务管理器

    上一篇博客讲解了Spring配置xml事务,使用的是Spring框架提供的事务管理器. 在本篇博文当中,来讲解一下使用自定义的事务管理方式. 把上一篇博文当中的这个配置 <bean id=&qu ...

  10. 【深度学习基础】基于Numpy的循环神经网络实现和反向传播训练

    本文是<深度学习进阶:自然语言处理>.<神经网络与深度学习>和<动手学深度学习>的读书笔记.本文将介绍基于Numpy的循环神经网络的前向传播和反向传播实现,包括RN ...