Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

0

好友

8

主题
1#
发表于 2012-12-11 18:31:44 | 查看: 3691| 回复: 1
表中 DBA_ROLE_PRIVS  列 DEFAULT_ROLE 具体指的是什么 ?
官档上说的是 Indicates whether the role is designated as a DEFAULT ROLE for the user (YES) or not (NO)

未命名.jpg


网上搜了一下  http://docs.oracle.com/cd/E17904_01/doc.1111/e14316/role_mangmnt.htm


请各位解答
2#
发表于 2012-12-11 20:50:52
默认情况下 所有grant role to user的 ROLE都作为DEFAULT ROLE, 但是实际可以为用户指定默认的 启用的ROLE权限,例如一下 演示
  1. SQL> create user maclean_grant identified by oracle;

  2. User created.

  3. SQL> grant dba to maclean_grant;

  4. Grant succeeded.

  5. SQL> desc DBA_ROLE_PRIVS;
  6. Name                                      Null?    Type
  7. ----------------------------------------- -------- ----------------------------
  8. GRANTEE                                            VARCHAR2(30)
  9. GRANTED_ROLE                              NOT NULL VARCHAR2(30)
  10. ADMIN_OPTION                                       VARCHAR2(3)
  11. DEFAULT_ROLE                                       VARCHAR2(3)


  12. SQL>  select * from DBA_ROLE_PRIVS where GRANTEE='MACLEAN_GRANT';

  13. GRANTEE                        GRANTED_ROLE                   ADM DEF
  14. ------------------------------ ------------------------------ --- ---
  15. MACLEAN_GRANT                  DBA                            NO  YES


  16. SQL> grant resource to  MACLEAN_GRANT;

  17. Grant succeeded.

  18. SQL>  select * from DBA_ROLE_PRIVS where GRANTEE='MACLEAN_GRANT';

  19. GRANTEE                        GRANTED_ROLE                   ADM DEF
  20. ------------------------------ ------------------------------ --- ---
  21. MACLEAN_GRANT                  RESOURCE                       NO  YES
  22. MACLEAN_GRANT                  DBA                            NO  YES


  23. SQL> create role root_role identified by oracle;

  24. Role created.

  25. SQL> grant root_role to maclean_grant;

  26. Grant succeeded.


  27. SQL> alter user maclean_grant default role none;

  28. User altered.

  29. SQL> select * from DBA_ROLE_PRIVS where GRANTEE='MACLEAN_GRANT';

  30. GRANTEE                        GRANTED_ROLE                   ADM DEF
  31. ------------------------------ ------------------------------ --- ---
  32. MACLEAN_GRANT                  ROOT_ROLE                      NO  NO
  33. MACLEAN_GRANT                  RESOURCE                       NO  NO
  34. MACLEAN_GRANT                  DBA                            NO  NO




  35. SQL> conn maclean_grant/oracle
  36. ERROR:
  37. ORA-01045: user MACLEAN_GRANT lacks CREATE SESSION privilege; logon denied


  38. Warning: You are no longer connected to ORACLE.
  39. SQL>

  40. conn / as sysdba


  41. SQL> alter user maclean_grant default role dba,root_role;

  42. User altered.

  43. SQL>
  44. SQL> select * from DBA_ROLE_PRIVS where GRANTEE='MACLEAN_GRANT';

  45. GRANTEE                        GRANTED_ROLE                   ADM DEF
  46. ------------------------------ ------------------------------ --- ---
  47. MACLEAN_GRANT                  ROOT_ROLE                      NO  YES
  48. MACLEAN_GRANT                  RESOURCE                       NO  NO
  49. MACLEAN_GRANT                  DBA                            NO  YES


  50. SQL> alter user maclean_grant default role all;

  51. User altered.




  52. SQL> select * from DBA_ROLE_PRIVS where GRANTEE='MACLEAN_GRANT';

  53. GRANTEE                        GRANTED_ROLE                   ADM DEF
  54. ------------------------------ ------------------------------ --- ---
  55. MACLEAN_GRANT                  ROOT_ROLE                      NO  YES
  56. MACLEAN_GRANT                  RESOURCE                       NO  YES
  57. MACLEAN_GRANT                  DBA                            NO  YES
复制代码

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 02:46 , Processed in 0.053933 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569