Oracle o7_DICTIONARY_ACCESSIBILITY參數

來源:互聯網
上載者:User

環境:

sys@EMREP> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE    10.2.0.1.0      ProductionTNS for Linux: Version 10.2.0.1.0 - ProductionNLSRTL Version 10.2.0.1.0 - Production

   預設值

sys@EMREP> show parameter o7_NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------O7_DICTIONARY_ACCESSIBILITY          boolean     FALSE

 

   參數解釋

 

        參數名: o7_DICTIONARY_ACCESSIBILITY 
        類別    : 安全性和審計 
        說明    :    主要用於從Oracle7移植到Oracle8i.
                         如果該值為TRUE,SYSTEM許可權(如SELECT ANY TABLE)將不限制對SYS方案中各對象的訪問(Oracle7行為)
                         如果該值為FALSE,只有被授予了SELECT_CATALOG_ROLE,EXECUTE_CATALOG_ROLE

                         或DELETE_CATALOG_ROLE許可權的使用者才能訪問SYS方案中的各對象
        值範圍:     TRUE | FALSE
        位置   :   $ORACLE_HOME/dbs/initSID.ora裡面設定

 

 

   兩個錯誤

        ① ORA-28009  


           o7_DICTIONARY_ ACCESSIBILITY參數的預設設定為FALSE,所以使用SYS使用者串連資料庫時必須作為SYSDBA或SYSOPER身份。
           如果將o7_DICTIONARY_ACCESSIBILITY參數設定為TRUE,該錯誤將不會產生

sys@EMREP> conn sys/oracleERROR:ORA-28009: connection as SYS should be as SYSDBA or SYSOPERsys@EMREP> conn / as sysdbaConnected.sys@EMREP> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;System altered.sys@EMREP> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.sys@EMREP> startupORACLE instance started.Total System Global Area  524288000 bytesFixed Size                  1220384 bytesVariable Size             155189472 bytesDatabase Buffers          364904448 bytesRedo Buffers                2973696 bytesDatabase mounted.Database opened.sys@EMREP> conn sys/oracleConnected.

        ② ORA-00942


           當使用者沒有select any table的時候

sys@EMREP> create user u1 identified by u1;User created.sys@EMREP> grant connect,resource to u1;Grant succeeded.sys@EMREP> conn u1/u1Connected.u1@EMREP> show parameter dictionaryORA-00942: table or view does not existsys@EMREP> grant select any table to u1;Grant succeeded.sys@EMREP> conn u1/u1Connected.u1@EMREP> show parameter dictionaryNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------O7_DICTIONARY_ACCESSIBILITY          boolean     TRUE

    相關問題

        今天給一個使用者select any table的許可權,但不想讓該使用者查詢dictionary views;想在init<sid>.ora中將o7_dictionary_accessibility設定為false,但不知道對系統有什麼樣的影響
        答:
        沒影響!這個參數是控制select any table許可權使用的,若該參數為 true,則有 select any table 許可權的帳號則可查看DBA_ V$等之類的資料字典,否(false),則只能看自己許可權內的如:user_, all_之類的字典,但被授予了select_catalog_role 則不受此參數的控制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.