Oracle提供了兩種管理員驗證方法: 即作業系統驗證與密碼檔案驗證,與資料庫進行串連,執行管理工作。
在Oracle資料庫建立的時候,會自動的建立兩個使用者 SYS 和 SYSTEM,預設的密碼分別為:CHANGE_ON_INSTALL 和 MANAGER,如果要執行管理工作,Oracle建議建立一個具有DBA許可權的使用者,DBA角色是Oracle建立時,自動建立的角色,用這個角色可以完成所有的資料庫的管理工作。
第一、即作業系統驗證
Oracle可以檢驗作業系統許可權,如果通過,就可以串連到資料庫。要通過驗證,如果在Unix作業系統中,使用者必須是OSDBA 或OSOPER 作業系統組的成員。這兩個組由作業系統來管理。
如果要使用作業系統驗證方法,必須要將參數 REMOTE_LOGIN_PASSWORDFILE 設定成 NONE.
當使用者執行 CONN / AS SYSDBA 或 CONN / AS SYSOPER 串連到資料庫時,不再需要資料庫的使用者。
第二、口令檔案驗證
通過口令檔案驗證時,使用者通過指定一個使用者和密碼串連到資料庫,這時,使用者須在資料庫中有一定的許可權。
使用口令檔案驗證時,需要以下操作:
(1) 用ORAPWD 建立一個具有SYS 密碼的口令檔案。當在資料庫中改變口令時,口令檔案的密碼也會自動更改。
(2) 設定 REMOTE_LOGIN_PASSWORDFILE 參數。
EXCLUSIVE(獨佔):口令檔案只能用於一個資料庫,並且可以在口令檔案中增加除 SYS 和SYSTEM 以外的使用者。
SHARED(共用):口令檔案可以在多個資料庫之中被共用,但是不可以在口令檔案中添加除SYS 和SYSTEM 以外的任何使用者。
(3) 賦予使用者SYSDBA 或 SYSOPER 許可權。賦以以上的許可權時,該使用者就會被添加到口令檔案中了。
測試題目:
打算只能過密碼檔案,使用密碼驗證的方法串連到資料庫,因此,用下的方法建立了一個密碼檔案:
$orapwd file=$ORACLE_HOME/dbs/orapwDB01 password=orapass entries=5
初始化參數 REMOTE_LOGIN_PASSWORDFILE 置成 NONE,
並用下面的方法建立了一個使用者:
create user dba_user identified by dba_pass;
grant sysdba to dba_user;
用下面的方法嘗試串連到資料庫:
connect dba_user/dba_pass as sysdba;
為什麼會串連失敗呢?
A DBA特權沒有授予dba_user使用者;
B REMOTE_LOGIN_PASSWORDFILE 沒有設定成 EXCLUSIVE;
C 密碼檔案被建立到了不正確的目錄下。
D 使用者以 AS SYSDBA 串連時,沒有指定密碼 orapass;
答案: B 原因如下所寫。