创建2个用户,依次授予对象权限,然后收回权限
grant connect to scott;
grant create session to scott (基本权限)
create user test identified by test;
create user hp identified by hp;
conn scott/tiger
grant select on emp to test with grant option;(之前创建test用户据)
conn test/test
grant select on scott.emp to hp with grant option;
conn hp/hp
select * from scott.emp 可以访问
scotts收回test权限,同时也一并收回了hp的权限
conn scott/tiger
revoke select on scott.emp from test;
conn hp/hp
select * from scott.emp; 会报错
有两种Oracle 用户权限:
? 系统权限:具备该权限的用户可在数据库中执行特定操作
? 对象权限:具备该权限的用户可访问并操纵特定对象权限
权限是指执行特定类型的SQL 语句或访问另一个用户的对象的权利。包括以下权利:
? 连接到数据库
? 创建表
? 从另一用户的表中选择行
? 执行另一用户的已存储过程
系统权限
? 有100 多种不同的系统权限。
? 权限中的关键字ANY 表示用户在任何方案中都具备这种权限。
? GRANT 命令为一个用户或一组用户添加一项权限。
? REVOKE 命令则用来删除权限。
系统权限限制
? O7_DICTIONARY_ACCESSIBILITY 参数
? 控制有关SYSTEM 权限的限制
? 如果设置为TRUE,允许访问SYS 方案中的对象
? 缺省值为FALSE:可确保允许访问任何方案的系统权限
不允许访问SYS 方案
revoke connect from scott (权限回收)
grant create session to scott (基本权限)
grant create session to scott with admin option;(授予系统权限)
grant select on scott.emp to hp with grant option;(授予对象权限)