oracle 授予权限和收回权限 grant和revoke 以及角色的创建 删除

1.GRANT 授予权限
   --常用的系统权限集合 
    CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)
   --常用的数据对象权限有以下五个:
   ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,DELETE ON 数据对象名, INSERT ON 数据对象名, 
   ALTER ON 数据对象名 ,create on 数据对象名,execute
--用户授权
GRANT CONNECT, RESOURCE TO 用户名;
GRANT SELECT ON 表名 TO 用户名;
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;
--存储过程授权
--grant select on procedure1 to 用户名 授权存储过程  查询
--grant execute on procedure1 to 用户名 授权存储过程  执行
2.REVOKE 回收权限
REVOKE CONNECT, RESOURCE FROM 用户名;
REVOKE SELECT ON 表名 FROM 用户名;
REVOKE SELECT, INSERT, DELETE ON 表名 FROM 用户名1, 用户名2;
 
授权

--select * from dba_users; 查询数据库中的所有用户

  --alter user TEST_SELECT account lock; 锁住用户

  --alter user TEST_SELECT account unlock; 给用户解锁

  --create user wcz identified by   wcz; 建立用户

  --grant create tablespace to wcz; 授权

  --grant select on tabel1 to wcz; 授权查询

  --grant update on table1 to wcz;

  --grant update on table1 to wcz with grant option; 授权更新权限转移给wcz用户,许进用户可以继续授权;

收回权限

  --revoke select on table1 from wcz1; 收回查询select表的权限;

  --revoke all on table1 from wcz;

  /*grant connect to wcz;

  revoke connect from wcz

  grant select on xezf.cfg_alarm to wcz;

  revoke select on xezf.cfg_alarm from wcz;*/

  --select table_name,privilege from dba_tab_privs where grantee='wcz' 查询一个用户拥有的对象权限

  --select * from dba_sys_privs where grantee='wcz' 查询一个用户拥有的系统权限

  --select * from session_privs --当前会话有效的系统权限

创建角色

  --create role wcz1;--建立wcz1角色

  --grant insert on xezf.cfg_alarm to wcz1; 将插入表的信息

  --revoke insert on xezf.cfg_alarm from wcz1; 收回wcz1角色的权限

  --grant wcz1 to wcz ; 将角色的权限授权给wcz;

  -- create role wcz2;

  --grant wcz1 to wcz2; 将角色wcz1授权给wcz2;

  --alter user wcz default wcz1,wcz2; 修改用户默认角色

删除角色

  -- DROP ROLE wcz1;删除角色1;

  --select * from role_sys_privs where role=wcz1;

查看许进1角色下有什么系统权限;

  --select granted_role,admin_option from role_role_privs where role='wcz2';

  --查看wcz1角色下面有什么角色权限

  --select * from role_sys_privs where role='wcz2';

  --select table_name,privilege from role_tab_privs where role='wcz1';

  --select * from dba_role_privs where grantee='wcz' --查看用户下面有多少个角色;

猜你喜欢

转载自www.cnblogs.com/wcz666/p/13174559.html