【YashanDB知识库】如何排查YMP报错:”OCI版本为空或OCI的架构和本地系统的架构不符“

简介: 【YashanDB知识库】如何排查YMP报错:”OCI版本为空或OCI的架构和本地系统的架构不符“

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7802965.html?templateId=1718516

问题现象

在迁移预检查的版本检查阶段报错:检查未通过 OCI版本为空,

报错的详细信息:OCI版本为空或OCI的架构与本地系统架构不符;

如何排查

1、查看yasdts日志,从日志报错信息得知libdrv_oracle.so少了依赖库 libnsl.so.1

tail -f yashan-migrate-platform/logs/dts_log/run.log

IMG_256

2、检查是否将OCI客户端路径加入到环境变量LD_LIBRARY_PATH里,检查结果已正确加入

cat yashan-migrate-platform/db/conf/ymp_migrate.bashrc

3、检查libdrv_oracle.so还有哪些依赖库没有安装,检查结果是只少libnsl.so.1库

source yashan-migrate-platform/db/conf/ymp_migrate.bashrc

    ldd /bin/yasdts/lib/libdrv_oracle.so

IMG_256

如何解决

1、下载安装相应的动态库版本

2、如果所在环境不能联网,查看本地是否有相应的库

find / -type f -name ".so*"

3、如果本地是有相应的库但是版本不一致且比依赖库版本高,可尝试创建与依赖库版本一致的连接到高版本的库

#libdrv_oracle.so所依赖的库是libnsl.so.1

#通过ldconfig查到本地有安装的库libnsl.so.2,比依赖库版本高

ldconfig -p |grep libnsl

#使用软链接创建在libdrv_oracle.so所在库创建其依赖的版本

ln -s /lib64/libnsl.so.2 libnsl.so.1

#重新执行查看依赖库是否都已找到,如果没有出现not found说明依赖库都已有链接

ldd libdrv_oracle.so

IMG_256

总结

1、动态库搜索依赖库的路径为:

l 环境变量LD_LIBRARY_PATH指定的动态库搜索路径;

l 配置文件/etc/ ld.so .conf中指定的动态库搜索路径;//配置后要运行 ldconfig命令才能生效

l 默认搜索路径:/lib 和/usr/lib,64位系统是/lib64 和/usr/lib64

2、查看动态库依赖的命令:ldd

3、如果无法下载依赖动态库的相应版本,可通过创建软链接来创建相应的版本以供调用

相关文章
|
12月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】MySQL和YashanDB 隐式转换不一致引起的报错
本文分析了在YashanDB中执行特定SQL语句时出现的类型转换错误问题,并对比了YashanDB、Oracle和MySQL 5.7的行为差异。问题源于隐式类型转换,当数值字段与非法数字字符串(如'1,2')进行比较时,YashanDB和Oracle会报错,而MySQL 5.7虽不报错但会引发警告。通过调整SQL语句,避免数值与字符串直接比较,可有效解决问题。文章还详细解析了不同值表现不一致的原因,涉及执行计划和过滤条件的实际运行细节。
|
12月前
|
数据库
【YashanDB知识库】数据库升级后用yasboot在线扩充备节点出现报错
本文来自YashanDB官网,讨论从22.2.4.1升级至23.2.2.100过程中遇到的在线扩容问题。使用yasboot增加备节点时出现“no replication addr in node 1-1”错误,尽管数据库中存在相关配置。原因是早期托管功能未支持扩容,导致OM无法获取新库配置。提供两种规避方法:一是手动修改`cod_domor.db`信息并调整配置文件;二是手动安装YashanDB并配置备机。最终已向研发反馈,将在扩容时优化配置检查逻辑。
|
12月前
|
Oracle 关系型数据库
【YashanDB知识库】YMP从oracle到yashan迁移评估报OCI相关错误
本文来自YashanDB官网,主要解决在使用YMP(yashan-migrate-platform)进行迁移评估时出现的OCI版本检查错误问题。错误原因为操作系统重装后,OCI所需依赖缺失(如`libnsl.so.1`、`libnnz19.so`等)。文章提供了排查步骤和解决方法:一是检查并配置环境变量`LD_LIBRARY_PATH`,二是若依赖仍缺失,则需手动下载并安装对应依赖文件。适用于使用YMP迁移平台的用户遇到OCI相关问题时参考。
|
12月前
|
SQL 数据安全/隐私保护
【YashanDB知识库】YCM和YMP密码重置
【YashanDB知识库】YCM和YMP密码重置
|
12月前
|
SQL Oracle 关系型数据库
【YashanDB 知识库】MySQL 和 YashanDB 隐式转换不一致引起的报错
【YashanDB 知识库】MySQL 和 YashanDB 隐式转换不一致引起的报错
|
12月前
【YashanDB知识库】yashandb升级后,yasboot restart出现版本回退、报错control file version incompatible
【YashanDB知识库】yashandb升级后,yasboot restart出现版本回退、报错control file version incompatible
|
5月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
432 3