1.系统权限
ORACLE7提供了80多种系统权限,每种系统权限允许用户执行特定的数据库操作。
系统权限的授予命令为GRANT,例如把创建任何表视图的权限授予imuse01用户:
GRANT create any view TO imuse01;
系统权限的回收命令为REVOKE,例如将create any view 权限从imuse01用户手中收回:
REVOKE create any view FROM imuse01;
2. 实体权限
每种类型的实体有与之相关的实体权限。
授予实体权限的命令举例(将basetab表上的Select和Insert权限授给imuse01):
GRANT select,insert ON basetab TO imuse01;
回收实体权限的命令举例(将basetab表上的Select权限从imuse01手中回收):
REVOKE select ON basetab FROM imuse01;
3. 管理角色
角色是许多权限和角色的组合。它极大地方便了ORACLE的权限管理。
创建角色,如创建一个名为dept1的角色,口令为hello:
CREATE ROLE ROLEiMUSE01 IDENTIFIED BY hello;
使用角色,可以通过修改用户的缺省角色来使用角色,或通过授权的方法来将角色授予其它角色或用户。如将imuse01用户的缺省角色修改为RoleTmp:
ALTER USER imuse01 DEFAULT ROLE RoleTmp;
将角色RoleTmp角色授予imuse01:
GRANT RoleTmpTO imuse01;
使角色生效或失效,DBA可以通过控制角色的生效或失效,来暂时回收用户的一部分权限。如使RoleTmp角色失效:
SET ROLE RoleTmp DISABLE;
删除角色,这将会影响到拥有该角色的用户和其它角色的权限。用DROP ROLE命令删除角色,如:
DROP ROLE RoleTmp;