KingbaseES V8R6 运维案例 --ksql访问动态库问题
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访问动态库问题的更多相关文章
- KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复
案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...
- KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例
案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...
- KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障
案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...
- 运维案例 | Exchange2010数据库损坏的紧急修复思路
关注嘉为科技,获取运维新知 Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据.一旦遇到这种级别的故障,管理员往往都是在非常紧 ...
- KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份
案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...
- KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份
案例说明: 在生产环境,有的应用需要调用数据库的sys_rman做备份,为了区分数据库自身的sys_rman备份和应用的备份,可以使用不同的stanza name创建备份.本案例介绍了,如何在King ...
- KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障
案例说明: 在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决. 适用版本: Kin ...
- KingbaseES V8R6备份恢复案例之---手工清理冗余历史备份
案例说明: 对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理.不能通过手工删除备份,可以通过expire参数手 ...
- Linux运维工程师面试-部分题库
一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...
- KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析
案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...
随机推荐
- 【framework】View添加过程
1 前言 WMS启动流程 中介绍了 WindowManagerService 的启动流程,本文将介绍 View 的添加流程,按照进程分为以下2步: 应用进程:介绍从 WindowManagerImpl ...
- Swoole从入门到入土(19)——WebSocket服务器[文件传输]
要利用WebSocket进行文件传输,我们需要讨论两种情况,分别是:发送方可以是客户端,和 发送方是服务端. 1.发送方是客户端 1)服务端接收 $server->on('message', ...
- Python之机器人卡牌
介绍 这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息. 代码部分非原创只是做了些许修改和整理使得更易阅读. 图片和文件资源请访问git仓库获取: https://gite ...
- jenkins配置github秘钥
1.登录github,打开Settings 2.点击Developer settings 3.点击Personal access tokens-->Generate new token 4.勾选 ...
- SpringCloud SpringBoot 组件使用:使用Nacos作为服务的注册中心和配置中心
基础篇 一.什么是Nacos? 官方介绍是这样的: Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现.服务配置管理.服务及流量管理. Na ...
- 【Azure 应用服务】应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件
问题描述 应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件 问题解答 App Service可以通过门户配置Mount Storage, ...
- kotlin协程异常处理之-CoroutineExceptionHandler
转载请标明出处:https://www.cnblogs.com/tangZH/p/17307406.html kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch ...
- STL-unordered_hashtable模拟实现
#pragma once #include<vector> #include<string> #include<iostream> using std::cout; ...
- Java static 关键字的使用 小练习
1 package com.bytezreo.statictest2; 2 3 /** 4 * 5 * @Description static 关键字的使用 小练习 6 * @author Bytez ...
- Java 练习题 看起来很简单 写起来却有点难度
1 import java.io.PrintStream; 2 3 /* 4 * 5 * public class ValueTransferTest4 6 *{ 7 * public static ...