db2 修改dbm cfg的时候报SQL5001N错误分析以解决方法

来源:互联网 发布:国有企业预算编制软件 编辑:程序博客网 时间:2024/06/01 08:36

本人今天使用update更新dbm cfg时候出现了SQL5001N错误,那么就简单的分析一下并给出解决方法:

操作命令:db2 update dbm cfg using DFT_MON_STMT on

报错信息:SQL5001N  "KEVIN" does not have the authority to change the database manager configuration file.

kevin是我的db2数据库用户名字,明显是kevin用户没有被授权修改dbm 配置

首先介绍一下最基础的东西:

实例级权限:
 SYSADM  最高管理权限,通常供DBA使用
 SYSCTRL  最高系统控制权限,有SYSMAINT 和SYSMON 的全部权限
 SYSMAINT  次级系统 控制权限
 SYSMON  最小的实例级管理权限

Unix/Linux下的查看命令:
   db2 get dbm cfg|grep "SYSADM"
   db2 get dbm cfg|grep "SYSCTRL"
   db2 get dbm cfg|grep "SYSMAINT"

   db2 get dbm cfg|grep "SYSMON"

知道了上面的知识,那么就知道修改dbm cfg需要有最高权限sysadm,

那么在我的终端是用db2 get dbm cfg | grep SYSADM

 SYSADM group name                        (SYSADM_GROUP) = DB2IADM1

知道只有在组DB2IADM1下才有权限去执行,那么我的示例用户是db2inst1,

那么终端使用命令id db2inst1 

uid=801(db2inst1) gid=901(db2iadm1) 组=901(db2iadm1),903(db2dadm1)

很明显使用db2inst1用户就可以执行dbm cfg更新了

然后使用su命令切换到db2inst1用户下:su - db2inst1

最后再次使用命令:db2 update dbm cfg using DFT_MON_STMT on

DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed  successfully.


OK成功了 明白了吧  


1 0
原创粉丝点击