Oracle基礎結構之OS驗證和口令檔案驗證

luckyfriends發表於2014-02-20

文章版權所有Jusin Haoluckyfriends),支援原創,轉載請註明。

3.3、 作業系統驗證和口令檔案驗證

n 作業系統驗證:如果以建立資料庫的使用者登入,則Oracle將驗證過程交給作業系統時,不需要經Oracle驗證,直接就可以登入(例如windows下建立Oracle資料庫的使用者自動被新增到ora_dba組內,linux下要屬於dba組)

n 口令檔案驗證:驗證由Oracle來做,需要輸入口令;

1)口令檔案中存放sysdba/sysoper使用者的使用者名稱及口令,允許使用者透過口令檔案驗證,在資料庫未啟動之前登陸,從而啟動資料庫(在資料庫沒有啟動之前,資料庫內建使用者是無法透過資料庫來驗證身份的;如果沒有口令檔案,在資料庫未啟動之前就只能透過作業系統認證)。

2)使用Rman,很多時候需要在nomount,mount等狀態對資料庫進行處理,所以通常要求sysdba許可權如果屬於本地DBA組,可以透過作業系統認證登陸。

3)如果是遠端sysdba登陸,需要透過passwordfile認證(引數要設定為SHARED or Exclusive,然後配合sql.net來實現).

4)設定初始化引數 REMOTE_LOGIN_PASSWORDFILE=(NODE/SHARED/EXCLUSIVE)

REMOTE_LOGIN_PASSWORDFILE : specifies whether Oracle checks for a password file.

Property

Description

Parameter type

String

Syntax

REMOTE_LOGIN_PASSWORDFILE={NONE | SHARED}

Default value

SHARED

Modifiable

No

Basic

Yes

Real Application Clusters

Multiple instances must have the same value.

Values:

NONEOracle ignores any password file. Therefore, privileged users must be authenticated by the operating system.

SHAREDOne or more databases can use the password file. The password file can contain SYS as well as non-SYS user;(共享口令檔案,如果有多個例項,則使用一個口令檔案,這張模式不能使用alter user * identified by來修改sys的密碼,只能重建口令檔案來修改sys密碼)

EXCLUSIVE(獨享的、獨佔)如果有多個例項,可以有單獨的口令檔案且可以使用alter user 修改sys密碼。目前Oracle10 不使用這個引數,但保留了該引數。效果和shared是一樣的)

5)建立口令檔案:

C:\Documents and Settings\Administrator>orapwd

Usage: orapwd file= entries= force= ignorecase= nosysdba=

where

file - name of password file (required), (建立的密碼檔案)

password - password for SYS will be prompted if not specified at command line, (建立sys使用者的口令)

entries - maximum number of distinct DBA (optional),

(MAX_USER  口令檔案中可以存放的最大使用者數。即擁有sysdba和sysoper身份登陸的使用者數)

force - whether to overwrite existing file (optional), (強制覆蓋已存在的密碼檔案)

ignorecase - passwords are case-insensitive (optional),

nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only). (sysdba使用者不可以登陸)

There must be no spaces around the equal-to (=) character.

例: orapwd file=$ORACLE_HOME/dbs/testpwd.ora password=testoracle entries=1 force=y

select * from v$pwfile_users;

USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE

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

相關文章