1006.oracle中权限

① 系统权限:拥有对数据库相应的系统操作的 
权限传递:with admin option,二次传递的权限收不回来 
② 对象权限:拥有对对象的细节操作
权限传递:with grant option ,二次传递的权限可以被收回 
③ 查询:
   user_sys_privs
   user_tab_privs
   user_role_privs
   role_role_privs
   role_tab_privs
   role_sys_privs 
④ 权限 给 public 要慎重
grant  to
revoke from
 
1、授权:grant 权限 to 账号/角色
dba、user、role;
查看当前用户拥有的系统权限  select * from user_sys_privs;
查看当前用户拥有的对象权限  select * from user_tab_privs;
查看当前用户拥有的角色  select * from user_role_privs;
查看角色拥有的角色  select * from role_role_privs;
查看角色拥有的系统权限  select * from role_tab_privs;
查看角色拥有的对象权限  select * from role_sys_privs;
 
2、系统权限与对象权限
Oracle用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。
系统权限比如CREATE SESSION,CREATE TABLE等,拥有系统权限的用户,允许拥有相应的系统操作。
数据库对象权限,比如对数据库里面的对象(表,索引,视图,同义词.)进行操作(select,update,insert,delete....)
 
3、授权语句
grant create session to test;   --授予连接数据库权限
grant create table to test;  --授予建表权限
grant select on scott.emp to test;  --授予查询权限
grant all to test;
 
4、角色
创建角色:
create role testrole;  --创建一个角色 testrole
删除账号及其下的对象:drop user test cascade;
角色可以拥有:系统权限、对象权限、角色;一个账号可以拥有多个角色;账号下面的角色拥有的等价于账号拥有
角色可以理解为权限的打包
 
5、回收权限:
revoke 权限 from 账号
grant dba to 账号
grant all to 账号
dba能干所有事,处了开启关闭服务器
 
6、公用账号 public
不要轻易授权给public,不然任何用户都有这个权限
select * from dba sys privs;
select * from dba tab privs;
查看授权的系统权限、对象权限和角色
select * from dba_sys_privs where grantee='SCOTT';
select * from dba_tab_privs where grantee='SCOTT';
select * from dba_role_privs where grantee='SCOTT';
posted @ 2021-01-11 23:49  bufuzhou  阅读(79)  评论(0编辑  收藏  举报