4.关于数据库权限

1.授予权限 语法:
                grant system_privilege1,... to user_name | public
                public
                将系统权限授予每个用户,包括后创建的用户

          例子:  grant create user,create table,create procedure,create view,create session to wang

2.一些常用权限

               
                允许用户登录 :   create/alter/drop session
     
                         例: grant create session to wangjie grant create session to wang

                创建修改删除用户 create/alter/drop user
             
                         例:   grant create user to wang
     
                  创建修改删除 表的权限 : create/alter/drop table
                  
                           例:  grant create table to wang
                
                有了创建表的权限,但是并没有指定保存表的空间大小,所以依然无法创建表
                解决(建议使用第一种)
                1.授予
                unlimited tablespace
                无限表空间
                2.在quotas选项卡中指定users表空间大小

       

               创建修改删除 序列:  create/alter/drop sequence
                  
                         例:  grant create sequence to wang
               
                创建修改删除 视图 : create/alter/drop view
                  
                          例:  grant create view to wang
                
                创建修改删除 函数和存储过程,没有专门的创建函数的权限: create/alter/drop procedure
                       
                           例:grant create procedure to wang
               
3.角色权限
      1. 角色权限 实质就是系统权限
     
      2. 什么是角色
                将一系列权限捆绑,定义一个名字,即角色名
      3. 创建角色
                            create role role1;
         语法:       create role role_name
       4. 为角色授权限
                       grant create user,create table,create procedure,create view,create session to role1;
         语法:     grant system_privilege1,... to role_name
        5.为用户授予角色
                  grant role1 to wang; grant role1 to public
                   语法:      grant role_name to user_name | public
        6. 删除角色
                    语法: drop role role_name
        7. 注意:
                一个用户可以被授予多个角色

4. 对象权限
       1.什么是对象
                数据库中创建的数据库对象
                表,索引,序列,触发器,函数,存储过程,视图
       2. 什么是对象权限
                对数据库中对象的操作权限就是对象权限
       3. 为什么需要对象权限
                数据库对象拥有者为其他用户赋予操作此对象的权限
                分配后其他用户能够操作此数据库对象
                谁创建了对象,谁就拥有该对象的所有对象权限
 
                 4.注意:
                1.并不是数据库中的每个对象都可以授予上面的权限
                2.谁创建了对象,谁就拥有该对象的所有对象权限,例子:scott创建了一个表,scott用户可以对表对象进行增删改查
                 
           当一个用户操纵里一个用户数据库对象时,其语法为: 用户名.对象名
        5.语法:
                grant object_privilege1......... on object_name to user_name | public 【with grant option 】
                grant select,insert,update,delete on books to wang;
             
                 with grant option
                允许所分配的权限再次下放
                要撤销这个权限,要先撤销权限,再重新授予一个不带with grant option 的权限
5. 撤销权限
   1. 系统权限
        语法: revoke system_privilege1,... from user_name | public
   
    2. 撤销角色:  撤销角色意味着撤销系统权限
              revoke role1 from public revoke role1 from wang
        语法: revoke role_name from user_name | public
       
             3. 撤销对象权限
     
       语法: recoke object_privilege1......... on object_name from user_name | public
  6.查询指定角色中有哪些系统权限

  select * from dba_sys_privs where grantee = 'CONNECT'; select * from dba_sys_privs where grantee = 'RESOURCE';
  select * from dba_sys_privs where grantee = 'role1'
        注意:角色名要大写
 7.创建一个用户,和scott用户权限相同

  create user wangjie identified by root;
  grant resource,connect to wangjie;
 
当为用户授予resource角色后,默认会添加unlimited tablespace权限
             
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值