【YashanDB知识库】个别数据库用户无法登录数据库,报错 io fail:IO.EOF

简介: 【YashanDB知识库】个别数据库用户无法登录数据库,报错 io fail:IO.EOF

问题描述

应用中配置有多个数据库用户,其中某个用户无法正常登录数据库。

应用日志报错:

output

使用dbeaver登录这个异常用户,仍然报错:

output (1)

使用yasql,从dbeaver所在主机,用异常用户信息登录数据库,可以正常登录。

listener.log记录了异常登录时的信息,类似:

output (2)

问题分析

已知:如果打开了白名单,但登录主机不在白名单配置中(即配置了不能登录数据库时),那么,从这个IP登录数据库,会出现此种情况(报错io fail:IO.EOF),白名单配置方法,目前有多种:

- 在 $YASDB_DATA/config/yasdb_net.ini 中进行配置

- 使用 yasboot whitelist 命令进行配置

- 在profile中,使用 INVITED_NODES、EXCLUDED_NODES 参数进行配置。

检查数据库,该数据库未见有以上配置,判断非数据库配置问题。

由于JDBC能登录(部分用户),YASQL能登录(全部用户),可知Java版本正常可用。

根据之前遇到的问题处理记录,可以推断:

- 这个用户名可能触发了什么关键词,被网络的防火墙的敏感词拦截截断了

- 之前在内部和外部其它用户都遇到过,无一例外都是上面这个原因

- 要么让他们的it仔细排查,要不换个用户名

问题处理

更换用户名,规避问题

问题规避

## 1,先创建应用用户,比如:

SQL> create user N1DP_C2MS_SZLH identified by "xxx";

## 2,赋予用户权限:

SQL> grant connect to N1DP_C2MS_SZLH;

SQL> grant resource to N1DP_C2MS_SZLH;

SQL> grant SELECT_CATALOG_ROLE to N1DP_C2MS_SZLH;

# 导出

 source /data/yasdb_home/yashandb/23.2.2.100/conf/yasdb.bashrc

exp NDP_CMS_SZLH/xxx file=/data/9he/soft/NDP_CMS_SZLH.dmp owner=NDP_CMS_SZLH

# 导入

 source /data/yasdb_home/yashandb/23.2.2.100/conf/yasdb.bashrc

 imp N1DP_C2MS_SZLH/xxx file=/data/9he/soft/NDP_CMS_SZLH_20231021.dmp fromuser=NDP_CMS_SZLH

问题补充

此环境也遇到了,执行某些sql查询时,触发以上报错的情形,但执行简单sql(如 select sysdate from dual)正常,报错原因与上述报错原因一致。

相关文章
|
11月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
10月前
|
监控 数据库
【YashanDB 知识库】ycm 托管数据库时报错 OM host ip:127.0.0.1 is not support join to YCM
在托管数据库时,若 OM 的 IP 被设置为 127.0.0.1,将导致无法托管至 YCM,并使数据库失去监控。此问题源于安装时修改了 OM 的监听 IP。解决方法包括:将 OM 的 IP 修改为本机实际 IP 或 0.0.0.0,同时更新 env 文件及 yasom 后台数据库中的相关配置。经验总结指出,应避免非必要的后台 IP 修改,且数据库安装需遵循规范,不使用仅限本机访问的 IP(如 127.0.0.1)。
|
10月前
|
监控 Java Shell
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
本文主要介绍了因数据库未按规范使用 yasboot 安装导致的问题及解决方法。问题表现为无 yasom 和 yasagent 进程,且目录结构缺失,致使 ycm 无法托管与监控。分析发现可能是数据库版本旧或安装不规范引起。解决方法为先生成配置文件,安装 yasom 和 yasagent,再生成并修改托管配置模板,最终通过命令完成托管至 yasom 和 ycm。总结强调了按规范安装数据库的重要性以避免类似问题。
|
11月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】MySQL和YashanDB 隐式转换不一致引起的报错
本文分析了在YashanDB中执行特定SQL语句时出现的类型转换错误问题,并对比了YashanDB、Oracle和MySQL 5.7的行为差异。问题源于隐式类型转换,当数值字段与非法数字字符串(如'1,2')进行比较时,YashanDB和Oracle会报错,而MySQL 5.7虽不报错但会引发警告。通过调整SQL语句,避免数值与字符串直接比较,可有效解决问题。文章还详细解析了不同值表现不一致的原因,涉及执行计划和过滤条件的实际运行细节。
|
11月前
|
数据库
【YashanDB知识库】数据库升级后用yasboot在线扩充备节点出现报错
本文来自YashanDB官网,讨论从22.2.4.1升级至23.2.2.100过程中遇到的在线扩容问题。使用yasboot增加备节点时出现“no replication addr in node 1-1”错误,尽管数据库中存在相关配置。原因是早期托管功能未支持扩容,导致OM无法获取新库配置。提供两种规避方法:一是手动修改`cod_domor.db`信息并调整配置文件;二是手动安装YashanDB并配置备机。最终已向研发反馈,将在扩容时优化配置检查逻辑。
|
11月前
|
运维 Shell 数据库
【YashanDB知识库】YCM数据库托管遇到的问题
【YashanDB知识库】YCM数据库托管遇到的问题
【YashanDB知识库】YCM数据库托管遇到的问题
|
11月前
|
SQL Oracle 关系型数据库
【YashanDB 知识库】MySQL 和 YashanDB 隐式转换不一致引起的报错
【YashanDB 知识库】MySQL 和 YashanDB 隐式转换不一致引起的报错
|
11月前
|
Java OLTP 数据库
【YashanDB知识库】如何利用数据库线程池稳定TP吞吐
【YashanDB知识库】如何利用数据库线程池稳定TP吞吐
|
11月前
【YashanDB知识库】yashandb升级后,yasboot restart出现版本回退、报错control file version incompatible
【YashanDB知识库】yashandb升级后,yasboot restart出现版本回退、报错control file version incompatible
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。

热门文章

最新文章