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

简介: 某客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有版本。问题源于操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常原因为系统调用 fork() 失败。经验总结:优化日志记录,提供更多异常信息。

问题现象

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

SQL> select 1 from dual@link_oracle;

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

问题的风险及影响

dblink 功能无法正常使用

问题影响的版本

所有的 YashanDB 版本

问题发生原因

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

19.jpeg

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

解决方法及规避方式

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

问题分析和处理过程

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

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

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

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

20.jpeg

经验总结

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

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

相关文章
|
10月前
|
存储 API 开发者
百宝箱开放平台 ✖️ 查询知识库文件列表
通过调用该接口,开发者可查询指定知识库中的文件列表,支持分页参数设置,需提供Authorization令牌及知识库ID,返回文件信息包括名称、大小等,并附带错误码说明。
354 4
|
10月前
|
API 开发者
百宝箱开放平台 ✖️ 查询知识库文件的构建状态
本接口用于查询目标文件在知识库中的构建状态,需提供documentId并配置有效token。支持查看初始化、处理中、成功、失败等状态,并返回详细错误信息以便排查问题。
528 4
|
10月前
|
存储 API 开发者
蚂蚁开放平台 ✖️ 查询知识库列表
通过调用该接口,开发者可查询租户内知识库列表,支持分页参数配置,需提供有效授权令牌。返回信息包含知识库ID、名称、描述及存储大小等。
349 4
|
Linux 数据库
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
【YashanDB知识库】YashanDB查询时间与实际时间默认少8小时
|
Oracle 关系型数据库 Java
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的闪回版本查询
本文介绍了Oracle数据库的闪回版本查询(Flashback Version Query)功能,通过示例详细讲解了其使用方法。闪回版本查询可获取指定时间区间内行的不同版本,利用`versions between`子句实现。文中包含视频讲解,并通过创建测试表、插入数据及执行查询等步骤,演示如何获取历史版本信息和伪列详情,帮助用户深入了解该功能的实际应用。
495 13
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回事务查询
Oracle数据库的闪回事务查询(Flashback Transaction Query)是闪回版本查询的扩充,可用于审计或撤销已提交的事务。通过`flashback_transaction_query`视图,可生成还原特定事务的SQL语句。本文介绍了其基本概念,并通过实战演示如何使用该功能:从授权、开启UNDO数据增强,到创建测试表和事务,最后利用闪回查询撤销已提交的事务,验证数据恢复效果。附带视频讲解,帮助深入理解。
496 3
|
存储 Oracle 关系型数据库
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
|
SQL Oracle 关系型数据库
OracleSGA异常处理方案
前两天修改了一次Oracle10.2的参数,有一下无意间把SGA打成了/然后就传上去了,结果昨天重新启动服务器,结果Oracle就是出错,说什么无法找到SID等等吧,最后翻阅了好多文章,才找到方法,特把方法共享一下,希望你们遇到类似问题不会耽误时间太长。哎~~~~数据库备份太重要了 ------------------ 如果你是通过spfile启动的数据库.不知你是不是在sqlplus 中
1300 0

推荐镜像

更多