Db2 中地理数据库的权限

权限用于确定用户有权对数据和数据库执行何种操作。 应根据人员在组织中所执行的工作类型来分配权限。 该人员是否为地理数据库的管理员? 他/她是否需要编辑或创建数据? 或者该人员是否仅需查询数据?

可在不同级别设置权限。 本主题中的表列出了以下普通地理数据库用户类型至少需具有的数据库和数据集权限:数据查看人员、数据编辑人员、数据创建人员和地理数据库管理员。

您可以使用 IBM Db2 工具或 SQL 语句管理数据库权限。

使用 ArcGIS 客户端授予地理数据库中数据集的权限和与之相关的撤消操作必须由数据所有者完成。

默认情况下,Db2 向 PUBLIC 群组授予 CREATETABBINDADDCONNECTIMPLICITSCHEMA 数据库权限、USERSPACE1 表空间的 USE 权限以及系统目录视图的 SELECT 权限。 要移除其中任意数据库授权,数据库管理员必须从 PUBLIC 中将其显式撤消。

如果从 PUBLIC 中移除了这些权限中的任何权限,则需要对各个数据库用户或用户组授予所撤消的权限。 例如,如果从 PUBLIC 中撤消了 CONNECT 权限,则要向任何需要连接到数据库的用户授予该权限。 同样,如果从 PUBLIC 中撤消了对系统目录视图或表的 SELECT 权限,则必须向各个用户或用户组授予以下 SELECT 权限,否则他们将不能连接到地理数据库:

  • SYSIBM.SYSDUMMY1(目录视图)
  • SYSCAT.ROLEAUTH
  • SYSCAT.DBAUTH
  • SYSCAT.TABAUTH

Db2 最低权限

用户类型数据库权限数据集权限备注

数据查看人员

  • CONNECT 到数据库
  • EXECUTE on MON_GET_CONNECTION

数据库对象 SELECT on SYSIBM.SYSDUMMY1, SYSCAT.ROLEAUTH, SYSCAT.DBAUTH, SYSCAT.TABAUTH 上的 SELECT

如果您的数据库配置为使用共享的日志文件表(默认设置),则还需要以下权限:

  • CREATETAB
  • IMPLICIT_SCHEMA

用户连接时,MON_GET_CONNECTION 函数将从 PROCESS_INFORMATION 表中清理已废止的进程。 要清理连接,用户必须能够执行 MON_GET_CONNECTION。

数据编辑人员

  • CONNECT 到数据库
  • 必要方案的 CREATEINALTERINDROPIN 权限
  • EXECUTE on MON_GET_CONNECTION

  • 对其他用户表的 SELECTINSERTALTERDELETE 权限。
  • CONTROL, ALTER, DELETE, INSERT, SELECT, UPDATE REFERENCES, SELECT on SYSIBM.SYSDUMMY1
  • SELECT on SYSCAT.ROLEAUTH, SYSCAT.DBAUTH, SYSCAT.TABAUTH

表和要素类所有者可使用权限对话框或 ArcGIS 中的更改权限地理处理工具来授予其他用户对其数据进行编辑的权限。

用户连接时,MON_GET_CONNECTION 函数将从 PROCESS_INFORMATION 表中清理已废止的进程。 要清理连接,用户必须能够执行 MON_GET_CONNECTION。

数据创建人员

  • CONNECT 到数据库
  • 数据库中的 CREATETAB
  • 必要方案的 CREATEINALTERINDROPIN 权限
  • EXECUTE on MON_GET_CONNECTION

数据库对象 SELECT on SYSIBM.SYSDUMMY1 上的 CONTROL

SELECT on SYSCAT.ROLEAUTH, SYSCAT.DBAUTH, SYSCAT.TABAUTH

用户连接时,MON_GET_CONNECTION 函数将从 PROCESS_INFORMATION 表中清理已废止的进程。 要清理连接,用户必须能够执行 MON_GET_CONNECTION。

地理数据库管理员(sde 用户)

  • DBADM 权限
  • SYSCTRLSYSADM 权限
  • EXECUTE on MON_GET_CONNECTION

DBADM 权限为 sde 用户授予了操作数据库中所有对象的全部权限,并允许用户将这些权限授予其他人。 这是创建或升级地理数据库的必要条件。

DBADM 权限也是从数据库中移除客户端连接所必需的权限。 此外,sde 用户必须具有 SYSCTRLSYSADM 权限,才能从数据库中移除客户端连接。

用户连接时,MON_GET_CONNECTION 函数将从 PROCESS_INFORMATION 表中清理已废止的进程。 要清理连接,sde 用户必须能够执行 MON_GET_CONNECTION。