【发布时间】:2022-01-21 08:56:48
【问题描述】:
在 Linux/x86-64 上的 Db2 v11.1 Enterprise Edition 上,我检查了当前连接用户的权限:
select
granteetype,
dbadmauth,
securityadmauth,
dataaccessauth,
accessctrlauth
from syscat.dbauth
where grantee = 'ADM1'
从输出中我看到这个用户是数据库上的超级用户:
GRANTEETYPE DBADMAUTH SECURITYADMAUTH DATAACCESSAUTH ACCESSCTRLAUTH
----------- --------- --------------- -------------- --------------
U Y Y Y Y
当我尝试执行以下三项任务之一时,我总是遇到权限错误。
db2 "select * from sysibmadm.snaptab_reorg"
SQL1092N 请求的命令或操作失败,因为用户 ID 无权执行请求的命令或 手术。用户 ID:“ADM1”。
db2 "CREATE REGULAR TABLESPACE tbs1"
SQL0552N “ADM1”没有执行权限 操作“创建表空间”。 SQLSTATE=42502
db2 "CREATE bufferpool bp1"
SQL0552N “ADM1”没有执行操作的特权 “创建缓冲池”。 SQLSTATE=42502
为什么“ADM1”用户会出现权限错误?
问候
【问题讨论】:
-
数据库是否已恢复,并且以前位于不同的 db2-instance 中? (检查 syscat.dbauth 中的不同授权人)。您的帐户是 linux 中配置的 SYSADM_GROUP 的成员吗?数据库是否使用“限制性”选项创建?
-
用户不在命令所需的 SYSxxx 组之一中。谢谢。
标签: db2 privileges db2-luw