DB2授权可分为实例级权限授权和数据库级别授权,实例级别权限必须由拥有SYSADM权限的用户通过update cfg来授予用户组,数据库对象级别权限由DBAMD权限用户通过grant命令显示的授予用户或用户组。
control包含对对象的drop权限,ALL PRIVILEGES则限制在dml一级。db2 =>create table test(a varchar(10))
DB20000I SQL命令成功完成。
db2 =>grant all privileges on test to db2user
DB20000I SQL命令成功完成。
db2 =>connect to sample user db2user using db2user
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = DB2USER
本地数据库别名 = SAMPLE
db2 =>insert into administrator.test values('test')
DB20000I SQL命令成功完成。
db2 =>commit
DB20000I SQL命令成功完成。
db2 =>drop table administrator.test
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0551N "DB2USER" 不具有对对象 "ADMINISTRATOR.TEST" 执行 *** 作 "DROP TABLE"
的特权。 SQLSTATE=42501
db2 =>delete from administrator.test
DB20000I SQL命令成功完成。
db2 =>connect to sample
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = ADMINIST...
本地数据库别名 = SAMPLE
db2 =>grant control on test to db2user
DB20000I SQL命令成功完成。
db2 =>connect to sample user db2user using db2user
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = DB2USER
本地数据库别名 = SAMPLE
db2 =>drop table administrator.test
DB20000I SQL命令成功完成。
1、GRANT CONNECT ON DATABASE TO USER GUESTGRANT SELECT ON TABLE DENT TO USER GUEST
需要在系统上先建立一个用户。
2.DB2依赖 *** 作系统的安全性,自身没有用户,直接看 *** 作系统中有哪些用户就行
3.DB2数据库没有这样的功能,ORACLE中的logminer能查到用户执行的DDL和DML
但是也查不到哪些用户查询过哪些表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)