DB2 中的 -551 错误代码是什么?如何解决?


当我们在 SQLCODE 中得到 -551 时,则存在某些权限级别问题。它表示用户无权访问他尝试访问的数据库/表空间/视图/表。根据 IBM 文档,-551 SQLCODE 指示这一点。

示例

-551 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation ON OBJECT object-name

DBA 使用 DCL(数据控制语言)语句来控制对 DB2 对象的访问。我们可以向 DBA 提出请求,以提供对用户获得 -551 SQLCODE 的特定对象的访问权限。

以下 DCL 语句将授予用户 ID Z5564 执行 PLAN ORDERPLAN 的权限

GRANT EXECUTE ON PLAN ORDERPLAN TO Z5564

在实际场景中,对 DB2 对象(如 PLAN、TABLE、VIEW 等)的访问权限是在 RACF 级别而不是用户级别授予的。RACF 代表资源访问控制工具,它是一个用于提供访问控制和审计目的的 Z/OS 安全管理产品。

RACF 包含其自己的数据库,其中包含不同的 RACF 组。主机上的每个用户都将分配到一个 RACF 组。

例如,一个组织中有 3 个部门:SALES、MARKETING、WARRANTY。因此,可以为每个部门创建 3 个 RACF 组,并且每个 RACF 组都包含相应员工的员工用户 ID。可以根据 RACF 组授予对 DB2 的访问权限。因此,SALES 组可以访问 ORDERS、TRANSACTIONS 表。MARKETING 组可以访问 DEALERS 和 INCENTIVE 表,而 WARRANTY 组可以访问 PRODUCTS 和 VENDORS 表。

如果来自一个 RACF 组的用户尝试访问分配给另一个组的表,则该用户将收到 -551 DB2 错误代码。

更新于: 2020-12-01

4K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.