oracle 之 权 限 问 题

1 .有这样的需求,我们要把数据库的数据写到电脑的磁盘中 可以使用oracle的spool命令

例如 :  spool d:/oracle.txt    select * from emp   

将查询出来的数据保存在 oracle.txt文件中

 2  交互式命令
 

       &


   说明: 可以替代变量 在执行时,需要用户输入。

    select * from emp where job ='&job'


 3  学会如何使用 set linesieze 显示数据的宽度  和   set pagesize  分页的条数

  例如 :set linesieze 120 ; select * from emp;

          set pagesize 5 ; select * from emp;
--------------------------------------------------------------------------------------------------------------
二 :

  1. 创建用户:(登录到数据的用户)   只有具有dba的管理员才能创建用户

   在oracle中要创建一个新的用户使用 create user 语句,一般是具有dba(数据库管理员)权限才能使用;

   例如 :  create user laiwei identified by m123;   用户:laiwei 密码:m123;

   2 . 给用户修改密码:
     概述 : 如果给自己修改密码可以直接使用  password laiwei    

   3 .     在删除用户时 注意
       如果要删除的用户,已经创建了表,那么就需要在删除的时候 带一个参数casecade。进行级联删除
    
 --------------------------------------------------------------------------------------------------------------
 三 :权限的赋予
 
   用户管理的综合案列

   概述:新创建的用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为

         其指定相应的权限。(说明不止一种权限) 给一个用户赋值权限使用 grant ,  回收权限使用revoke;


   能够给用户赋值权限的用户是   sys  和 system      

   要使新建的用户 具有登录到数据库的权限需要给该新建的用户授权 该权限是系统权限中的(create session 权限)

  权限 的分类 :有两种 ;   1  系统权限 (用户对数据的相关权限,比如建表 , 建存储过程等) 大约有一百多种 。


             2  对象权限(  用户对其他用户数据对象操作的权限,如select ,insert , update 、 delete、all、create index、)   


  什么是数据对象?  解释 :表  触发器  存储过程  视图  这些都是 数据对象;

角色的概念

解释 : 在oracle中dba 创建了用户后 , 需要赋值权限给用户,如果单个权限赋值会比较麻

 烦 ,于是在oracle中诞生了角色的概念,简单理解 :角色就是 一个赋予了 多个权限的用户。


  如 : 角色有  connect (包含7种权限)     , resource 角色   dba 角色

   在connect角色中已经包含了 create session权限所

  以具有connect角色的用户可以直接登录数据库。

  角色 resource   赋予的权限是建表的作用。

  角色分两种 :  1 . 预定义角色 (自带) 。 2 .自定义角色  


  授权的步骤 :

   1  先通过sys 创建一个新用户 。  

  2  以一个普通的用户登录到数据库  如 scott  登录 。

  3 切换sys用户登录到数据库,因为只有dba才能授权的能力。     执行语句 : conn sys/tiger   
  as sysdba;

  4 给新用户授权  授权语句 grant connect to laiwei ;



问题一 :   使用sys 创建一个用户:laiwei 。这个用户已经授了部分的权限 能够登录到数据库    ,我要使用该用户去查 scott用户中的emp表 ? 我们应该如何做?

   解答 : 使用对象权限给laiwei用户授权    执行语句: grant  select on emp  to laiwei ;

    授权者是scott   被授权者是 laiwei  
   
    授权后   的用户laiwei  可以查询 scott用户中的emp表了。   
   
    执行语句  : select * from  scott.emp   

   从上面的语句 有引出了 方案的概念

   既然有权限授权  就会有权限的收回;

   收回laiwei的 select   查表得权限  执行语句 :revoke select on emp form laiwei ;

--------------------------------------------------------------------------------------------------------------
 

四 :

      一 . 对象权限

        思考一 :  假如 用户laiwei得到了scott用户的授权 ,可以去查询scott用户的emp表。
         
         如何使用户laiwei 继续把查询scott用户中emp表的权限继续授权给其他用户了?

        解答 : 就好像是奥运圣火一样, A 传给B   , B 传给C   

        执行语句: grant select on emp to laiwei with grant option ;  执行该语句的用户是

       scott 用户    ,  当laiwei用户有了 这个权限的传递 权限  就可以   将权限传递给其他用户
                          
      执行语句 :grant    select on scott.emp to weiwei  ;


   二 . 系统权限
   
   使用system 给用户laiwei设置系统权限  进行权限传递的设置

   执行语句 :  grant conect to laiwei with admin option

  思考 :  假如 用户A  授权给B ,  B 授权给 C   。然后把 B的权限收回 .  C的权限还在吗?

   经过测试  C的权限也不存在了。

--------------------------------------------------------------------------------------------------------------

 



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值