关于ROLE AND RIVILEGE的一些问题(测试环境ORACLE 9I EE)

问题:
Q1:SELECT ANY DICTIONARY、SELECT ANY TABLE、和 SELECT_CATALOG_ROLE
可是,经过试验,只有SELECT_CATALOG_ROLE才可以让用户访问到所有的数据字典,SELECT ANY TABLE好像只是可以看除了DBA开头的VIEW
以外的其他用户的表和数据字典表,那SELECT ANY DICTIONARY能做哪些事情呢?




Q2:
SQL> SELECT * FROM DBA_ROLE_PRIVS
  2  WHERE GRANTEE='SELECT_CATALOG_ROLE';

GRANTEE                        GRANTED_ROLE                   ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
SELECT_CATALOG_ROLE            HS_ADMIN_ROLE                  NO           YES         

SQL> SELECT * FROM DBA_ROLE_PRIVS
  2  WHERE GRANTED_ROLE='HS_ADMIN_ROLE';

GRANTEE                        GRANTED_ROLE                   ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
EXECUTE_CATALOG_ROLE           HS_ADMIN_ROLE                  NO           YES         
SELECT_CATALOG_ROLE            HS_ADMIN_ROLE                  NO           YES         
SYS                            HS_ADMIN_ROLE                  YES          YES         

但是
SQL> SELECT * FROM DBA_ROLE_PRIVS
  2  WHERE GRANTEE='HS_ADMIN_ROLE';

GRANTEE                        GRANTED_ROLE                   ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------

SQL> SELECT DISTINCT  PRIVILEGE
  2  FROM DBA_SYS_PRIVS
  3  WHERE PRIVILEGE='HS_ADMIN_ROLE';

PRIVILEGE                              
----------------------------------------

SQL> SELECT * FROM DBA_TAB_PRIVS
  2  WHERE GRANTEE='HA_ADMIN_ROLE';

GRANTEE                        OWNER                          TABLE_NAME                     GRANTOR                        PRIVILEGE                                GRANTABLE HIERARCHY
------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------------------------------------- --------- ---------

SQL> SELECT * FROM DBA_TAB_PRIVS
  2  WHERE GRANTOR='HA_ADMIN_ROLE';

GRANTEE                        OWNER                          TABLE_NAME                     GRANTOR                        PRIVILEGE                                GRANTABLE HIERARCHY
------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------------------------------------- --------- ---------

SQL> SELECT * FROM SESSION_PRIVS
  2  WHERE PRIVILEGE='HA_ADMIN_ROLE';

PRIVILEGE                              
----------------------------------------

SQL>
那么如何知道HS_ADMIN_ROLE拥有哪些权限呢?





Q3。SESSION级的权限(SESSION_PRIVS)和DATABASE(DBA_SYS_PRIVS)级的权限有什么不同?
我觉得DATABASE LEVEL权限挺好理解的,但是SESSION LEVEL的权限怎么用呀?



Q4。9i中,是否已经取消了O7_DICTIONARY_ACCESSIBILITY参数呀,为什么我在INIT.ORA中设置了这个参数(ORACLE 9i EE),但是没什么用处呀?
正常情况下,是不是可以这样认为:如果O7_DICTIONARY_ACCESSIBILITY=TRUE,那么如果拥有SELECT ANY TABLE就可以获取包括SYS模式中的任何表?
同理,如果拥有EXECUTE ANY PROCEDURE就可以执行包括SYS模式中的任何过程?

Q5。DICTIONARY SCHEMA 是否就是SYS SCHEMA?



Q6。我选的是d,可答案是b,问什么?我觉得B,D都应该是对的呀
Which user needs a usage quota?
a. every database user
b. user who will create tables
c. user who only reads data from an object owned by another user
d. a user who is inserting data into an object owned by another user




Q7。我选的是c,可答案是d,问什么?尤其是,我觉得C,D都对呀,呵呵
What does the EXTERNALLY option do when creating a user with the CREATE USER command?
(A) allows the user remote access
(B) allows the user network access
(C) allows the user database access without a password
(D) specifies that the user must be authenticated by the operating system



Q8。SET ROLE命令一般什么时候用呀?有什么实际的用途么?如何看到它执行的效果?


Q9。ALTER USER.......DEFAULT ROLE ... ALL...,这个命令有什么用处呢?有什么实际的用途么?如何看到它执行的效果?

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/747/viewspace-483413/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/747/viewspace-483413/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值