O7_DICTIONARY_ACCESSIBILITY引數
O7_DICTIONARY_ACCESSIBILITY引數控制對資料字典的訪問.設定為true,如果使用者被授予瞭如select any table等any table許可權,使用者即使不是dba或sysdba使用者也可以訪問資料字典.在9i及以上版本預設為false,8i及以前版本預設為true.如果設定為true就可能會帶來安全上的一些問題.這也就為什麼O7_DICTIONARY_ACCESSIBILITY 設定為false時,sys不能以normal方式登入的原因.實驗如下:
SQL> show parameter o7;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean FALSE
SQL> create user test identified by test ;
使用者已建立。
SQL> grant resource,connect to test;
授權成功。
SQL> connect test/test;
已連線。
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
*
第 1 行出現錯誤:
ORA-00942: 表或檢視不存在
SQL> connect / as sysdba;
已連線。
SQL> grant select any table to test;
授權成功。
SQL> connect test/test;
已連線。
--即使授了select any table也無法查詢V$檢視
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
*
第 1 行出現錯誤:
ORA-00942: 表或檢視不存在
SQL> connect / as sysdba;
已連線。
SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;
系統已更改。
SQL> startup force
ORACLE 例程已經啟動。
Total System Global Area 838860800 bytes
Fixed Size 1251776 bytes
Variable Size 260048448 bytes
Database Buffers 570425344 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
資料庫已經開啟。
--設定為true就可以訪問V$檢視了
SQL> connect test/test;
已連線。
SQL> select count(*) from v$datafile;
COUNT(*)
----------
20
SQL> show parameter o7;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean FALSE
SQL> create user test identified by test ;
使用者已建立。
SQL> grant resource,connect to test;
授權成功。
SQL> connect test/test;
已連線。
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
*
第 1 行出現錯誤:
ORA-00942: 表或檢視不存在
SQL> connect / as sysdba;
已連線。
SQL> grant select any table to test;
授權成功。
SQL> connect test/test;
已連線。
--即使授了select any table也無法查詢V$檢視
SQL> select count(*) from v$datafile;
select count(*) from v$datafile
*
第 1 行出現錯誤:
ORA-00942: 表或檢視不存在
SQL> connect / as sysdba;
已連線。
SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;
系統已更改。
SQL> startup force
ORACLE 例程已經啟動。
Total System Global Area 838860800 bytes
Fixed Size 1251776 bytes
Variable Size 260048448 bytes
Database Buffers 570425344 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
資料庫已經開啟。
--設定為true就可以訪問V$檢視了
SQL> connect test/test;
已連線。
SQL> select count(*) from v$datafile;
COUNT(*)
----------
20
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-748687/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle O7_DICTIONARY_ACCESSIBILITY 引數Oracle
- 有關引數o7_DICTIONARY_ACCESSIBILITY!
- 關於引數O7_DICTIONARY_ACCESSIBILITY
- 初始化引數O7_DICTIONARY_ACCESSIBILITY
- 初始化引數O7_DICTIONARY_ACCESSIBILITY(二)
- 【oracle DB安全性】保護資料字典引數O7_DICTIONARY_ACCESSIBILITYOracle
- 【許可權】使用O7_DICTIONARY_ACCESSIBILITY引數實現真正的“select any table”授權
- O7_Dictionary_Accessibility
- kettle 引數——變數引數和常量引數變數
- Oracle引數-隱藏引數Oracle
- 什麼是請求引數、表單引數、url引數、header引數、Cookie引數?一文講懂HeaderCookie
- 【許可權】通過調整O7_DICTIONARY_ACCESSIBILITY引數實現SYS使用者以普通身份登入資料庫資料庫
- Swift語言中為外部引數設定預設值可變引數常量引數變數引數輸入輸出引數Swift變數
- c# 方法引數_值引數C#
- c# 方法引數_引用引數C#
- 動態引數,靜態引數
- C#中的值引數,引用引數及輸出引數C#
- Swift學習筆記(三十三)——常量引數,變數引數和inout引數Swift筆記變數
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- JavaScript形式引數和實際引數JavaScript
- Oracle引數檔案解析——引數解析Oracle
- c#方法引數_輸出引數C#
- c# 方法引數_陣列引數C#陣列
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- 引數和變數變數
- Java對比有引數和無引數Java
- nodejs接收get引數和post引數NodeJS
- iOS可變引數(不定引數)的用法iOS
- C#引數傳遞之值引數C#
- Oracle引數檔案 各引數解釋Oracle
- Mysql 引數MySql
- MongoDB引數MongoDB
- INITRANS引數
- oracle 引數Oracle
- 鋰電池引數
- Retrofit 動態引數(非固定引數、非必須引數)(Get、Post請求)
- 關鍵字引數與非關鍵字引數(可變引數)詳解
- nginx 常見引數以及重定向引數配置Nginx