ORACLE Sysdba許可權認證管理

來源:互聯網
上載者:User

1 概述

  在ORACLE中有一種特殊層級許可權——sysdba許可權,sysdba許可權擁有ORACLE系統的最高許可權,有開啟資料庫、關閉資料庫、恢複資料庫等進階許可權,我們在工程安裝和日常維護中經常涉及到的sys使用者就有sysdba許可權。sysdba是管理oracle執行個體的,它的存在不依賴於整個資料庫完全啟動,只要執行個體啟動了,他就已經存在。以sysdba身份登陸,裝載資料庫、開啟資料庫。只有資料庫開啟了,或者說整個資料庫完全啟動後,dba角色才有了存在的基礎。

  Sysdba使用者有兩種認證方式:作業系統(OS)認證和密碼檔案認證,本文主要闡述的是sysdba許可權不同認證方式的含義和配置說明。
     os認證的意思把登入資料庫的使用者和口令校正放在了作業系統一級。如果以安裝oracle時的使用者登入os,那麼此時在登入oracle資料庫時不需要任何驗證。 不論輸入什麼使用者(哪怕這個使用者在資料庫中根本不存在),只要以sysdba許可權串連資料庫,都可以串連上,並且串連使用者是sys,這樣很方便,有時候,如果忘記了資料庫的密碼,而又想登入資料庫,可以通過這種方式,前提是在資料庫伺服器上。

2 Sysdba登陸方式

  六種登陸方法(採用作業系統認證):

  1. sys/www as sysdba

  2. sys / as sysdba

  3. sys as sysdba

  4. / as sysdba

  5. sqlplus /as sysdba

  6. sqlplus /nolog

  前4種是在SQL*PLUS登陸框的使用者名稱欄目中輸入,後2種是DOS環境下直接輸入。

  3 查看具有sysdba許可權的使用者

  以sys使用者登陸oracle,執行select * from V_$PWFILE_USERS;可查詢到如下結果:

         sql> select * from V_$PWFILE_USERS;
  USERNAME SYSDBA SYSOPER

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

  SYS TRUE TRUE
 
  (何為sysoper許可權:SYSOPER特權也是oracle資料庫的一種特殊許可權。當使用者具有該特權時,可以啟動資料庫,關閉資料庫,但是不能建立資料庫,也不能執行不完全恢複,這也是和SYSDBA的最大區別,另外,也不具有DBA角色的任何許可權。建立了Oracle資料庫後,預設情況下只有SYS使用者具有SYSOPER特權。需要注意的是,如果要以SYSOPER身份登陸,要求OS使用者必須具有OSOPER角色(windows平台:ORA_OPER角色),當以SYSOPER身份登陸時,必須帶有AS SYSOPER選項。)

  4 相關參數含義

  (Sysdba許可權認證過程主要涉及ORACLE中的相關參數和設定檔說明如下

  4.1 SQLNET.AUTHENTICATION_SERVICES

  該參數在$ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora目錄下, 是ORACLE的網路設定檔,SQLNET.AUTHENTICATION_SERVICES參數可以通常設定為:

  ■ NONE 採用密碼檔案認證方式,需要輸入使用者名稱稱和密碼。

  ■ NTS 採用WINDOWS的安全認證方式(WINDOWS專用);

  ■ ALL 可以採用密碼和作業系統認證方式。

  4.2 remote_login_passwordfile

  該參數可以設定為:

  ■ NONE 採用作業系統方式認證,不需要使用者名稱稱密碼;

  ■ EXCLUSIVE 採用密碼檔案方式認證,且密碼檔案只能被一個執行個體使用;

  ■ SHARED 採用密碼檔案方式認證, 密碼檔案可以被多個執行個體使用;

  (注意:如果密碼檔案被多個執行個體使用,密碼檔案的名稱為去掉sid後的檔案名稱如pwd.ora)

 5 各種認證的設定過程

  要由於windows和UNIX平台下的設定不盡相同,下面分別進行闡述:

  5.1 WINDOWS下的設定:

  5.1.1 作業系統認證設定步驟:

  ■目前登陸的作業系統使用者屬於ora_dba組,一般在安裝ORACLE時候建立;

  ■ Sqlnet.ora檔案中的設定,需要設定SQLNET.AUTHENTICATION_SERVICES= (NTS),表示通過NT進行認證;

  ■ ORACLE參數檔案中:remote_login_passwordfile(可以設定為NONE,EXCLUSIVE,SHARED),作業系統認證時候,可以隨便設定。

  5.1.2 通過密碼檔案進行認證設定步驟:

  ■ 密碼檔案的路徑在$ORACLE_HOME/DATABASE/PWDSID.ORA,SID為實際的資料庫SID;

  ■ Sqlnet.ora檔案中的設定, SQLNET.AUTHENTICATION_SERVICES可以不用設定,可以注釋掉,如果只想用密碼認證需要設定為NONE;

  ■ ORACLE參數檔案中參數:remote_login_passwordfile,必須設定為EXCLUSIVE,SHARED.

  5.2 UNIX下的認證

  5.2.1 通過作業系統認證設定:

  ■ 目前登陸的作業系統使用者屬於dba組,一般在安裝ORACLE時候建立;

  ■ Sqlnet.ora檔案可以設定為預設不管,但是不能設定為NONE。

  ■ ORACLE參數檔案中:remote_login_passwordfile(可以設定未NONE,EXCLUSIVE,SHARED),作業系統認證時候,可以隨便設定。

  5.2.2 通過密碼檔案進行認證:

  ■密碼檔案的路徑在$ORACLE_HOME/dbs/orapwsid,SID為實際的資料庫SID;

  ■ Sqlnet.ora檔案不需要設定。

  ■ RACLE參數檔案中參數:remote_login_passwordfile,必須設定為EXCLUSIVE,SHARED.)

  (注意:不管怎樣如果remote_login_passwordfile設定為exclusive,shared資料庫啟動過程會尋找密碼檔案,設定為none不需要)

  6 重建密碼檔案

  一般在sys使用者的密碼丟失或者想增加sysdba許可權使用者的個數的時候,需要重新建立密碼檔案。

   建立密碼檔案命令和解釋

  orapwd file=filename password=sys使用者密碼 entries=entries.

  ■ File 為密碼檔案的名稱,可以指定路徑,也可以不指定路徑,不指定路徑的情況,windows下該密碼檔案的路徑為:$ORACLE_HOME\DATABASE\pwdsid.ora,unix下的路徑為:$ORACLE_HOME/dbs/orapwsid (sid為執行個體名),該參數必須輸入;

  ■ Password 為該使用者的密碼,該參數必須輸入;

  ■ Entries表示最大允許的超級使用者的個數,該參數為選擇性參數,按自己的需要輸入。

  Example:orapwd file=orapwora92 password=manager entries=3。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.