码迷,mamicode.com
首页 > 数据库 > 详细

Oracle-3 - :超级适合初学者的入门级笔--用户权限,set运算符,高级子查询

时间:2017-11-06 20:03:13      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:--   大神   ota   运算符   对象   高级   多个   get   oracle   

上一篇的内容在这里 第二篇内容,

 

用户权限:创建用户,创建角色,使用grant  和 revoke 语句赋予和回收权限,创建数据库联接

   创建用户:create user xxx identified by pass: xxx为 新创建用户的用户名,pass 为密码

    在这里强调的是 oracle 12c版本 必须创建用户以C##开头,也可以更改,详见百度 ,哈哈 

    但是新创建的用户并没有create session 权限,见图,登陆被拒绝

    技术分享

    授予用户权限 :grant 权限  to  用户

      由于他没有create session 权限,我们可以赋予其权限 :grant create session to c##wangziqiang; 这时候就可以登录了

       技术分享

      后续的需要的权限自己赋予即可,大神贴

       创建表create table emp(id number(10),name varchar2(20)); 这时候会提示权限不足 。

        技术分享

        赋予create table 的权限:grant create table to c##wangziqiang;  这时候就可以进行创建表了

        如果提示表空间错误,可以进行更改表空间: alter user userName quota unlimited on users;这里是为userName创建了一个不限大小的表空间,如果限制表空间的话,需要          把unlimited  改成自己想设置的值  例如: 5m   即  五兆的大小 

      更改自己密码 :alter user c##wangziqiang identified by 123;

 

    创建角色:角色集成一个或多个权限,把某角色给某用户,用户就拥有了该角色的所有权限,相当于一个头衔,

      create role c##myrole;创建了一个名为myrole 的角色

      grant create table,create view ... to c##myrole:为角色赋予权限

      grant c##myroleto user:将角色赋予用户

 

  将自己的对象的相关权限赋予 他人:就是把自己表视图等的增删改查的权限赋给别人,

    如图wangziqiang用户没有dvf 用户jobs表的相关权限,当查询时会提示,表或视图不存在

    技术分享

    我们来给wangziqiang用户赋予dvf用户的jobs表的查询权限,

    grant select      --相关权限,用逗号分隔
      on dvf.jobs    -- 哪个用户的那个表
      to c##wangziqiang;   --赋给谁

    这时候再次查询就会出现jobs表的信息

      技术分享

    当A授予B用户自己的表的相关权限,默认的是B不能再把A给B的权限赋给别人。通过末尾加上 with grant option ,来设置B也可以赋给别人A的表的相关权限

    当一张表需要所有人都拥有此表的相关权限的时候,我们可以用public  来为所有用户分配该表得权限:grant select      --相关权限,用逗号分隔
                                                    on dvf.jobs    -- 哪个用户的那个表
                                                      to public;   --赋给所有用户

 

      技术分享

    命令:select * from user_tab_privs_recd;  在wangziqiang用户下查询用户拥有的关于表对象权限,如下图,此用户拥有 dvf用户的jobs表的select权限

      技术分享

    删除相关权限:revoke select on dvf.jobs from c##wangziqiang;   删除select权限 在 dvf用户的jobs表上的,从c##wangziqiang这里收回,就是从c##wangziqiang用户这收回dvf的jobs      表的查询权限,

    命令运行完,再查wangziqing用户下的拥有的关于表对象的权限,这时候相关的权限已经取消掉了

      技术分享

 

    

 

 

 

 

    

 

Oracle-3 - :超级适合初学者的入门级笔--用户权限,set运算符,高级子查询

标签:--   大神   ota   运算符   对象   高级   多个   get   oracle   

原文地址:http://www.cnblogs.com/wzqjy/p/7794558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!