关于授予DB2 数据库特权的方法及技巧

作者:夏果果  来源:IT165收集  发布日期:2011-10-17 10:01:23

  数据库和对象特权

  db2数据库特权大体上分成两类:数据库级特权(针对数据库中的所有对象)和对象级特权(与特定的对象相关联)。

  用户可以拥有的数据库级特权有:

  CREATETAB: 用户可以在数据库中创建表。

  BINDADD: 用户可以使用 BIND 命令在数据库中创建包。

  CONNECT: 用户可以连接数据库。

  CREATE_NOT_FENCED: 用户可以创建 unfenced 用户定义函数(UDF)。

  IMPLICIT_SCHEMA: 用户可以在数据库中隐式地创建模式,而不需要使用 CREATE SCHEMA 命令。

  LOAD: 用户可以将数据装载进表中。

  QUIESCE_CONNECT: 用户可以访问处于静默(quiesced)状态的数据库。

  CREATE_EXTERNAL_ROUTINE: 用户可以创建供应用程序和数据库的其他用户使用的过程。

  数据库对象 包括表、视图、索引、模式和包。幸运的是,大多数对象级特权的意义无需解释。下表总结了这些特权。

特权名称 相关对象 描述 CONTROL 表、视图、索引、包、别名、不同的类型、用户定义函数、序列 提供对对象的全部权限。拥有这种特权的用户还可以向其他用户授予或撤消对对象的特权。 DELETE 表、视图 允许用户从对象中删除记录。 INSERT 表、视图 允许用户通过 INSERT 或 IMPORT 命令将记录插入对象中。 SELECT 表、视图 提供使用选择语句来查看对象内容的能力。 UPDATE 表、视图 允许用户使用更新语句修改对象中的记录。 ALTER 表 允许用户使用更改语句更改对象定义。 INDEX 表 允许用户使用创建索引语句在对象上创建索引。 REFERENCES 表 提供在对象上创建或删除外键约束的能力。 BIND 包 允许用户重新绑定现有的包。 EXECUTE 包、过程、函数、方法 允许用户执行包和例程。 ALTERIN 模式 允许用户修改模式中的对象定义。 CREATEIN 模式 允许用户在模式中创建对象。 DROPIN 模式 允许用户删除模式中的对象。

  关于对象级特权的信息存储在系统编目视图中。视图名称是 syscat.tabauth、syscat.colauth、syscat.indexauth、syscat.schemaauth、syscat.routineauth 和 syscat.packageauth。

  显式特权

  可以使用 GRANT 和 REVOKE 命令显式地 对用户或组授予或撤消特权。我们来看看如何在各种对象上使用这些命令。

  作为拥有 Administrator 权限的用户登录 Windows,打开两个 DB2 命令窗口。在这两个窗口中,确保将 db2instance 变量设置为 DB2!

  在第一个窗口中发出以下命»:


db2 connect to sample

  现在,在第二个窗口中发出以下命令:


db2 connect to sample user test1 using password

  请记住,第一个窗口中的命令是由一个拥有 SYSADM 权限的用户发出的。第二个窗口中的命令是由 tst1 发出的,这个用户对示例数据库没有特殊的权限或特权。注意,与示例数据库中的表相关联的模式名是发出 db2sampl 命令的用户的名称。在这些示例中,这个用户是 GMILNE。

Tag标签: DB2数据库  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规