【问题标题】:cannot grant any permissions to db2 database无法授予 db2 数据库任何权限
【发布时间】:2019-12-26 17:49:36
【问题描述】:

我无法更改我的其中一个 db2 数据库中的任何权限,因为 db2 实例未经授权

DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0551N  The statement failed because the authorization ID does not have the 
required authorization or privilege to perform the operation. 

我尝试为该用户授予管理权限,但它也没有授予权限

你知道有什么命令可以检查哪些用户对该数据库有权限吗?

问候

【问题讨论】:

  • 您的 Db2-服务器 平台是什么? (Z/OS 或 i 系列或 Linux/Unix/Windows)
  • @mao 它是 Linux RedHat6
  • @user485903 你试过的确切说法是什么?
  • db2 将数据库上的 dbadm 授予用户 db2instx

标签: db2


【解决方案1】:

如果您知道用于连接到数据库的实例所有者(例如 db2instx)的密码,或者如果您可以 su/sudo 到 Db2 服务器上的实例所有者,则该实例所有者帐户可以授予其他用户dbadm(和其他一些)数据库权限,并且具有 SECADM 角色的用户可以授予其他权限。

这不是一个编程问题,而是一个管理问题,Db2 文档很好地涵盖了这个主题。你的学习也是如此。

有关GRANT (database) 语句的详细信息,请参阅文档 还要研究GRANT statement for table/views 以及针对其他类型对象的其他类型的 GRANT 语句。

研究 SECADM 的角色,如果定义了这样的角色,如果您的 Db2 服务器版本是现代的。如果您的网站除了使用其他安全机制之外还使用 ROLES,您还需要熟悉这些。

要查找您自己的帐户权限,您可以查询目录视图(如果您有权限,例如(syscat.tabauth、syscat.dbauth 和其他 tc.)或在连接后从 CLP 调用表函数AUTH_LIST_AUTHORITIES_FOR_AUTHID .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2014-08-16
    • 2021-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多