【DB2】SQL1639N 处理

背景

测试环境21套DB2需要创建只读用户并赋予权限,在20套都成功的情况下,有一套报错了,具体细节为,赋权成功,但是使用被赋权的账户连接失败,报错如下

SQL1639N The database server was unable to perform authentication because security-related database manager files on the server do not have the required operating system permissions. SQLSTATE=08001

故障分析过程

使用本地连接不会报错,使用用户连接(走TCPIP)报错

报错 SQL1639N,看描述和系统权限有关

为了排除不是权限的问题,给其又赋予DBADM权限,还是一样的报错,将DBADM权限revoke后,再次尝试,还是报错

在搜索该报错后,得知是安全认证问题,还是和权限有关,但是我们不知道是哪些文件的权限,该环境是其他同事搭建的HA热备,给其打电话询问有没有改过权限,反馈确实改过sqllib/adm和sqllib/lib下的文件权限,将其与正常环境权限对比,发现多处权限不同,确定问题根因后找解决办法,该问题可以使用db2iupdt工具进行更新实例,更新实例后恢复正常

语法:

先停止实例:

db2 force application all
db2stop force

进行实例更新:
/opt/ibm/db2/V10.5/instance/db2iupdt db2inst1

(这里的db2inst1是实例名)

更新后权限恢复

重新连接验证,恢复正常

建议

DB2的有关文件权限不能随意修改

相关推荐
码小跳11 分钟前
软件无法连接MySql数据库
数据库·mysql
晋阳十二夜6 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
GDAL7 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT8 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
AI、少年郎11 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄11 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
DataGear11 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_4383354011 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式
码不停蹄的玄黓11 小时前
MySQL Undo Log 深度解析:事务回滚与MVCC的核心功臣
数据库·mysql·undo log·回滚日志
Qdgr_12 小时前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能