lisi用户使用表空间的权限
在lisi账户下,创建表:create table mytable(id int);
插入一条记录:insert into mytable values(1);
插入成功。
也可以删除表:drop table mytable;
有人可能会产生疑问,既然数据库的权限管理这么严格,上面我们只是授予lisi用户创建表的权限。并没有授予其插入,删除等权限呀。这里我们可以这样理解:当前用户创建了一个表,那么该表就属于该用户,用户既然创建了表,自然就对该表拥有一切权限啦。
而且:数据库并没有drop table的权限。使用:grant drop table to lisi;出现:权限缺失或无效的错误提示。
数据库中查看权限
查看当前用户的对象权限,使用如下语句:
select * from user_tab_privs;
oracle的权限控制粒度很细,甚至可以精确到某一列的权限。
grant update(name) on mytab to lisi;
这句执行的效果就是,lisi用户对表mytab仅拥有更新name这一列的权限。
grant insert(id) on mytab to lisi;
查看当前用户对数据库表的列的权限:
select * from user_col_privs;
在lisi权限下,执行:update wangwu.mytab set name='fdsfa',id="dfs" where id=1;
执行后显示权限不足。
本文出自“大家一起学”