当前位置:  数据库>oracle

Oracle 角色的两个特性和误区

    来源: 互联网  发布时间:2017-05-07

    本文导语: Oracle角色的两个特性 1)角色的延迟性   延迟生效    立即让角色生效的方法:     set role 角色名;     例如:     set role resource;   延迟回收   下面用实验证明延迟回收:   会话(1)scott:   sys@ORCL> conn scott/oracle   ...

Oracle角色的两个特性

1)角色的延迟性
   延迟生效

   立即让角色生效的方法:
     set role 角色名;
     例如:
     set role resource;
   延迟回收
   下面用实验证明延迟回收:
   会话(1)scott:
   sys@ORCL> conn scott/oracle
   Connected.
   scott@ORCL> select * from user_role_privs;








   USERNAME                       GRANTED_ROLE                   ADM DEF OS_
   ------------------------------ ------------------------------ --- --- ---
   SCOTT                          CONNECT                        NO  YES NO
   SCOTT                          RESOURCE                       NO  YES NO
  
   会话(2)sys:
   idle> conn / as sysdba
   Connected.
   sys@ORCL> revoke resource from scott;  --回收resource角色







   Revoke succeeded.
  
   回到会话(1)scott:
  
   scott@ORCL> select * from session_roles;  --resource角色依然健在



   ROLE
   ------------------------------
   CONNECT
   RESOURCE


   scott@ORCL> select * from user_role_privs;

   USERNAME                       GRANTED_ROLE                   ADM DEF OS_
   ------------------------------ ------------------------------ --- --- ---
   SCOTT                          CONNECT                        NO  YES NO
  
   此时,为了保证数据库的安全,应该连带把scott所在的会话给杀掉!
  
2)角色的默认性
   如果该角色是default role,那么即便是有密码,但若重新登入,则密码形如虚设。
   所以,有密码的角色都必须不能是default role
   会话1:sys
   sys@ORCL> drop role r1;









   Role dropped.

   sys@ORCL> create role r1 identified by r1;

   Role created.

   sys@ORCL> grant select on hr.t to r1;

   Grant succeeded.

   sys@ORCL> grant r1 to scott;

   Grant succeeded.
  
   sys@ORCL> alter user scott default role connect;

   User altered.

  
   会话2:scott
   scott@ORCL> select GRANTED_ROLE,DEFAULT_ROLE from user_role_privs;

   GRANTED_ROLE                   DEF
   ------------------------------ ---
   CONNECT                        YES
   R1                             NO


   scott@ORCL> select * from hr.t;

   NAME
   --------------------
   think

   scott@ORCL> exit;
   Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
   With the Partitioning, OLAP and Data Mining options
   [oracle@localhost ~]$ sqlplus /nolog


   SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 2 22:00:21 2012

   Copyright (c) 1982, 2005, Oracle.  All rights reserved.

   idle> conn scott/oracle
   Connected.
   scott@ORCL> select GRANTED_ROLE,DEFAULT_ROLE from user_role_privs;

   GRANTED_ROLE                   DEF
   ------------------------------ ---
   CONNECT                        YES
   R1                             NO


   scott@ORCL> select * from hr.t;
   select * from hr.t
                 *
   ERROR at line 1:
   ORA-00942: table or view does not exist
  
   会话1:sys
   sys@ORCL> alter user scott default role connect,r1;






   User altered.
  
   会话2:scott
   scott@ORCL> select GRANTED_ROLE,DEFAULT_ROLE from user_role_privs;


   GRANTED_ROLE                   DEF
   ------------------------------ ---
   CONNECT                        YES
   R1                             YES


   scott@ORCL> select * from hr.t;
   select * from hr.t
                 *
   ERROR at line 1:
   ORA-00942: table or view does not exist




   scott@ORCL> set role r1 identified by r1;

   Role set.
  
   scott@ORCL> select * from hr.t;
  
   NAME
   --------------------
   think
  
   scott@ORCL> exit;
   Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
   With the Partitioning, OLAP and Data Mining options
   [oracle@localhost ~]$ sqlplus /nolog
  
   SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 2 22:05:16 2012
  
   Copyright (c) 1982, 2005, Oracle.  All rights reserved.
  
   idle> conn scott/oracle
   Connected.
   scott@ORCL> select GRANTED_ROLE,DEFAULT_ROLE from user_role_privs;
  
   GRANTED_ROLE                   DEF
   ------------------------------ ---
   CONNECT                        YES
   R1                             YES
  
   scott@ORCL> select * from hr.t;
  
   NAME
   --------------------
   think






























    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 8x监控sysdba角色用户登陆情况
  • Oracle数据库中的特权和角色理解
  • Oracle内置角色connect与resource的权限
  • 账户方案系统角色多管齐下保障Oracle的安全
  • Oracle新建用户、角色,授权,建表空间的sql语句
  • Oracle10g 预定义主要角色
  • oracle用户权限、角色管理详解
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE中DBMS_RANDOM随机数生成包
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,