表权限的相关操作

           

grant(赋予权限)

    常用的几种角色
    1.connect(具有登陆等一系列的权限)
    2.dba(拥有全部的权限)
    3.resource(拥有建表的权限)



CONNECT角色:主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT role.CONNECT 是使用Oracle的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,成为会话)。
RESOURCE角色:更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。
DBA角色:DBA role 拥有所有的系统权限--包括无限制的空间选额和给其他用户授予各种权限的能力。用户SYSTEM 拥有DBA角色。



如给用户xiaoming赋予connect的权限
SQL> grant connect to xiaoming;

授权成功。

如何让xiaoming用户去查询scott用户的emp表
   
只能查询不能修改
grant select on emp to xiaoming;


查看的时候
SQL> select * from scott.emp;


如何让xiaoming用户去修改scott的emp表
grant update on emp to xiaoming;

如果是其他的表就将emp换成想要操作的表名


如何让xiaoming用户可以去修改、删除、查询、添加scott的emp表
grant,delete,select,update,insert on emp to xiaoming;

grant all on emp to xiaoming;(给xiaoming用户获取emp这个表全部的权限)


revoke(收回权限)

scott希望收回xiaoming对emp表的查询权限

revoke select on emp from xiaoming;

scott收回xiaoming对emp表的全部权限

revoke all on emp from xiaoming;


//对权限维护

如何让xiaoming用户去查询scott用户的emp表/还希望xiaoming可以把这个权限继续给别人

---如果是对象权限,就在后面加入 with grant option

grant select on emp to xiaoming with grant option;


效果如下:
//这从xiaoming那给xiaohong查询scott用户的emp表的权限
SQL> grant select on scott.emp to xiaohong;

授权成功。

SQL> show user;
USER 为 "XIAOMING"

----如果是系统权限
system给xiaoming赋权限时:
grant connect to xiaoming with admin option;




如果scott把xiaoming对emp的查询权限回收,那么xiaohong对scott的emp表的查询权限会怎么样?
   
    结果:
SQL> conn scott/tiger;
已连接。
SQL> revoke select on emp from xiaoming;

撤销成功。

SQL> conn xiaohong/xiaohong;
已连接。
SQL> select * from scott.emp;
select * from scott.emp
                    *
第 1 行出现错误:
ORA-00942: 表或视图不存在


这就说明了如果scott把xiaoming对emp的查询权限回收了,那么xiaohong对scott的emp表的查询权限也被回收了




猜你喜欢

转载自1124117571.iteye.com/blog/2284646
今日推荐