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. Js中的堆栈

    Js中的堆栈 堆heap是动态分配的内存,大小不定也不会自动释放,栈stack为自动分配的内存空间,在代码执行过程中自动释放. 栈区 在栈内存中提供一个供Js代码执行的环境,关于作用域以及函数的调用都 ...

  2. 大米新闻微信小程序和Springboot新闻管理系统项目源码

    介绍 本项目分为大米news小程序端和springboot新闻管理系统后台项目.小程序主要用来新闻展示,后台管理系统用于提供相关新闻API. 项目源码 参考:https://www.bilibili. ...

  3. 【手写信息搜集工具】ThunderSearch 闪电搜索器

    ThunderSearch 闪电搜索器 项目地址:github Windows打包版 利用ZoomEye的官方api,结合开发文档,做了这么一个GUI界面的搜索器.目前支持查询host_search ...

  4. 项目实战:Qt西门子PLC通讯调试和模拟工具(包含PLC上位机通讯,PLC服务器)

      前言   西门西PLC.台达触摸屏.法兰克机床等等多年以前玩得比较多,改造机床.维修机床.给机床编程等等,没事还能车个零件啥的,对于多年以前的研发改造,有时间就重新整理下.  先上点有历史年代感的 ...

  5. Elasticsearch系列之-查询

    Elasticsearch之-查询 查询分类: 基本查询:使用es内置查询条件进行查询 组合查询:把多个查询组合在一起进行复合查询 过滤:查询的同时,通过filter条件在不影响打分的情况下筛选数据 ...

  6. 扣子(coze.cn)| 由浅入深,手把手带你实现Java转型学习助手

    扣子(coze.cn)是一款用来开发新一代 AI Chat Bot 的应用编辑平台,无论你是否有编程基础,都可以通过这个平台来快速创建各种类型的 Chat Bot,并将其发布到各类社交平台和通讯软件上 ...

  7. 【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。

    问题描述 在中国区微软云上创建Redis失败.收到的错误消息为: { "code": "DeploymentFailed", "message&quo ...

  8. Android\C++\C#\Java

    关于:(38条消息) 千万不能错过的Android NDK下载安装及配置_石子君的博客-CSDN博客_android ndk下载 (38条消息) Android扩展知识 - so文件生成及其使用_L- ...

  9. 8、zookeeper的集群搭建

    完全配置--https://zookeeper.apache.org/doc/r3.4.14/zookeeperAdmin.html#sc_zkMulitServerSetup https://zoo ...

  10. 【思维题、KMP】P3526 [POI2011]OKR-Periodicity 题解

    P3526 [POI2011]OKR-Periodicity 题解 前言 一道非常厉害的思维题.看题解得到了一些提示搞出来了. 作为 2011 年的题还是很厉害的. 约定 定义 \(s[l,r]\) ...