oracle数据库权限分为两大类:
1、系统权限:系统级别对数据库进行存取和使用的机制。(1)用户是否能连接到数据库系统(session权限)
(2)执行系统级的DDL语句(CRAETE 、ALTER、DROP)
2、对象权限:某一个用户对其他用户的表、视图、序列、存储过程、函数、包等的操作权限。不同类型的对象有不同的对象权限。但是某些模式对象(簇,索引、触发器、数据库连接)等没有相应的实体权限,这些权限由系统权限进行管理
3、oracle 11g中有200多种系统权限,这些系统权限被列举在SYSTEM_PRIVILEGE_MAP数据目录视图中。
4、授权操作使用GRANT命令
grant (sys_privi | role) to (user|role|public)
例子:connect system/123
grant connect,resource to leiguoixn;
connect leiguoxin/123;
show user;
回收系统权限:使用revoke命令撤销某些用户的系统权限
revoke (revoke_privi|role) from (user|role|public)
对象授权:与将系统权限授予用户基本相同,授予对象权限授予用户或者角色
grant (obj_privi | all column) on schema.object to (user|role|public) [with grant option]|[with hierarchy option]
grant select,insert,delete,update on scott.emp to xifang;
给xifang这个用户授予对scott.emp表的增删改查权限。
connect xifang/123;
登录西方用户后,该用户就可以对emp进行增删改查
回收对象权限:
revoke (obj_privi|all) on schema.object from (user|role|)
查询用户与权限:
查看用户被授予的系统权限或者对象权限(都被记录在oracle的数据字典里)
desc dba_users;
select username,account_status from dba_users;
//查询已授予权限,使用表dba_sys_privi
desc dba_sys_privi;
select