oracle O7_DICTIONARY_ACCESSIBILITY 引數

不一樣的天空w發表於2018-10-18

O7_DICTIONARY_ACCESSIBILITY是用來控制select any table許可權是否可以訪問data dictionary的,主要用來保護資料字典。oracle建議把O7_DICTIONARY_ACCESSIBILITY引數設為 false,9i及以上版本預設為false,8i及以前版本預設為true。


如果該引數為true,那麼被賦予select any table許可權的使用者可以訪問所有資料字典。如果該引數被設定為false那麼即使使用者被被賦予了select any table許可權還是不能訪問資料字典(此時需要賦予使用者select any dictionary許可權,才能使使用者有許可權訪問資料字典)


下面貼一些簡單的實驗過程


SQL> select * from v$version;


BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production


--資料庫版本為11.2.0.3


  


一:我們先看O7_DICTIONARY_ACCESSIBILITY引數設為 false時,使用者擁有select any table 許可權時能否查詢資料字典


SQL> show parameter o7


NAME                                 TYPE        VALUE

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

O7_DICTIONARY_ACCESSIBILITY          boolean     FALSE


--引數為預設值false


SQL> create user scott identified by oracle default tablespace users temporary tablespace temp;


User created.


--新建scott使用者


SQL> grant connect,select any table to scott;


Grant succeeded.


--給新建使用者賦予connect和select any table許可權


SQL> conn scott/oracle

Connected.

SQL> show user

USER is "SCOTT"


SQL> select count(1) from dba_objects;

select count(1) from dba_objects

                     *

ERROR at line 1:

ORA-00942: table or view does not exist


--結論:O7_DICTIONARY_ACCESSIBILITY 引數為false,scott使用者擁有select any table許可權也無法查資料字典


 


現在我們再來看O7_DICTIONARY_ACCESSIBILITY 引數為true時情況


SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;


System altered.


--注意靜態引數修改後要重啟資料庫才能生效


SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.


SQL> startup;


--重啟資料庫


SQL> conn scott/oracle

Connected.

SQL> select count(1) from dba_objects;


  COUNT(1)

----------

     13659


--以scott使用者查詢資料字典成功


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2216820/,如需轉載,請註明出處,否則將追究法律責任。

相關文章