我正在观察db2 z / OS撤销操作的奇怪行为。
假设我创建了一个用户,分配了一些权限并尝试删除用户,或者如果我尝试撤销某些权限,我会收到错误 “DB2 SQL错误:SQLCODE = -556,SQLSTATE = 42504,SQLERRMC = USER3; CREATETAB; ON DSN00016; TESTJDBC,DRIVER = 3.67.28” 根据错误代码,它表示“无法撤消用户不拥有的权限”。
但我看到分配给用户的权限。
如果分配相同的权限,然后尝试撤销它成功撤销。
帮我解决这个问题
答案 0 :(得分:0)
如果其他人授予了这一特权,那么DB2可能会抱怨您不是授予者。您可以尝试在BY <other_grantor>
的末尾添加BY ALL
或REVOKE
。
Here'来自知识中心的相关摘要:
如果未指定BY子句,则为该授权标识 语句必须至少授予一个指定的权限 到FROM子句中指定的每个 authorization-name (包括 PUBLIC,如果指定的话)。如果指定了BY子句,则 声明的授权ID必须具有 SECADM 或 ACCESSCTRL 权限。