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

首页    知识库    常见问题    个别数据库用户无法登录数据库,报错 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)正常,报错原因与上述报错原因一致。

浏览量:0