【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常

简介: 【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常

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

问题现象

某客户在通过yasql查询Oracle数据时,报如下异常:

SQL> select 1 from dual@link_oracle;

YAS-07301 external module timeout, reason: yex_server heatbeat timeout

问题的风险及影响

dblink功能无法正常使用

问题影响的版本

所有的YashanDB版本

问题发生原因

查看YashanDB的run.log,有如下异常:

90e5b359-40e2-4be1-a302-0423b98f82ee

问题原因可能为操作系统资源紧张,无法fork出新的子进程。

解决方法及规避方式

操作系统资源紧张可能为进程数量过多或者内存不足,根据实际情况,停掉不需要的进程/增大进程数上限或者停止耗时内存的进程,释放内存资源。

问题分析和处理过程

在日志中打[YEX] failed to run yex_server, error no:-1时,YashanDB实际上执行了linux的函数system(const char * command),

正常这个函数执行成功返回0。

返回-1是不正常的情况,什么时候返回-1呢?

从glibc的源码system.c中可以看到,大概率是fork()失败返回-1。

814a0e49-a109-4e3a-b71e-f80fe733884d

经验总结

通过分析操作系统源码推断问题的可能原因。

YashanDB会在这里做优化,在出异常时在日志中提供更多的信息。

相关文章
|
9月前
|
SQL
【YashanDB知识库】手工迁移Doris数据到崖山分布式
【YashanDB知识库】手工迁移Doris数据到崖山分布式
|
9月前
|
Oracle 关系型数据库 数据库
【YashanDB知识库】YashanDB与Oracle数据类型对齐
【YashanDB知识库】YashanDB与Oracle数据类型对齐
【YashanDB知识库】YashanDB与Oracle数据类型对齐
|
9月前
|
Linux 数据库
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
|
9月前
|
Oracle 关系型数据库 Java
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
|
9月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
9月前
|
Oracle 关系型数据库
【YashanDB知识库】YMP从oracle到yashan迁移评估报OCI相关错误
本文来自YashanDB官网,主要解决在使用YMP(yashan-migrate-platform)进行迁移评估时出现的OCI版本检查错误问题。错误原因为操作系统重装后,OCI所需依赖缺失(如`libnsl.so.1`、`libnnz19.so`等)。文章提供了排查步骤和解决方法:一是检查并配置环境变量`LD_LIBRARY_PATH`,二是若依赖仍缺失,则需手动下载并安装对应依赖文件。适用于使用YMP迁移平台的用户遇到OCI相关问题时参考。
|
9月前
|
SQL 存储 Oracle
【YashanDB知识库】对比Oracle和YashanDB对象不一致的方法
本文来自YashanDB官网,介绍从Oracle迁移到YashanDB后的数据校验方法。通过YMP工具迁移数据后,可使用其内置校验功能,或采用本文提供的复杂对比思路:将Oracle的DBA_*数据字典视图保存为用户表,借助YMP同步至YashanDB,再利用SQL查询两数据库间的差异。具体包括视图、存储过程、索引和约束等对象的对比方法,提供详细SQL示例以供参考和修改。
|
9月前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
|
9月前
|
SQL 关系型数据库 PostgreSQL
【YashanDB 知识库】从 PostgreSQL 迁移到 YashanDB 如何进行数据行数比对
【YashanDB 知识库】从 PostgreSQL 迁移到 YashanDB 如何进行数据行数比对
|
9月前
|
JSON 分布式计算 DataX
【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute
本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。

推荐镜像

更多