詳細(xì)講解Oracle數(shù)據(jù)庫(kù)管理員認(rèn)證方法
1.管理員的權(quán)限:
SYSDBA: 默認(rèn)schema 為SYS
SYSOPER: 默認(rèn)schema 為 PUBLIC
這兩種權(quán)限允許用戶在數(shù)據(jù)庫(kù)沒有打開的時(shí)候就可以登陸數(shù)據(jù)庫(kù),所以這種權(quán)限的控制權(quán)在數(shù)據(jù)庫(kù)之外。通常這種權(quán)限也可以被看做一種允許你對(duì)數(shù)據(jù)庫(kù)進(jìn)行某種操作的連接,比如CONNECT / AS SYSDBA
2.兩種管理員權(quán)限認(rèn)證方法
(1) Operating system (OS) authentication :操作系統(tǒng)認(rèn)證
--以下情況使用該方法:
管理遠(yuǎn)程數(shù)據(jù)庫(kù)時(shí),具有安全的網(wǎng)絡(luò)連接(secure connection)。
管理本地?cái)?shù)據(jù)庫(kù)時(shí),想使用OS認(rèn)證。
--操作步驟:
a.建立一個(gè)os系統(tǒng)用戶
b.將這個(gè)用戶加入到OSDBA或者OSOPER的OS組。
c.設(shè)置參數(shù)REMOTE_LOGIN_PASSWORDFILE=NONE
d.CONNECT / AS SYSDBA
--關(guān)于OSDBA和OSOPER組
OSDBA對(duì)應(yīng): UNIX為dba; WINDOWS為ORA_DBA
OSOPER對(duì)應(yīng):UNIX為oper; WINDOWS為ORA_OPER
這些用戶組在安裝數(shù)據(jù)庫(kù)的時(shí)候手工或者自動(dòng)創(chuàng)建,這些組的成員以 as sysdba/sysoper 連接數(shù)據(jù)庫(kù)后,自動(dòng)授予sysdba/sysoper的管理權(quán)限。
(2) Password files :密碼文件認(rèn)證
--以下情況使用該方法:
管理遠(yuǎn)程數(shù)據(jù)庫(kù)時(shí),沒有安全的網(wǎng)絡(luò)連接(secure connection),比如TCP/IP和DECnet協(xié)議。
管理本地?cái)?shù)據(jù)庫(kù)時(shí),不想使用OS認(rèn)證。
--操作步驟:
a.使用ORAPWD創(chuàng)建密碼文件(其中的password選項(xiàng)是為SYS用戶設(shè)置的)
b.設(shè)置參數(shù)REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
c.使用sys用戶登陸
d.在數(shù)據(jù)庫(kù)中創(chuàng)建用戶 create user donny1 identified by donny1;
e. 賦予其SYSDBA/SYSOPER權(quán)限
grant sysdba to donny1; 這樣就將用戶和密碼加入到密碼文件中。
f.使用自己的密碼logon: connect donny1/donny1 as sysdba;
g.OS認(rèn)證優(yōu)先于密碼文件認(rèn)證:
只要OS用戶屬于OSDBA OR OROPER組,并且使用connect as sysdba / sysoper登錄,則可以忽略輸入的username/password.
3.關(guān)于REMOTE_LOGIN_ PASSWORDFILE
None: 使得oracle不使用密碼文件,只能使用OS認(rèn)證,不允許通過(guò)不安全網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程管理。
Exclusive: 可以使用唯一的密碼文件,但只限一個(gè)instance 。密碼文件中可以包括除了sys用戶的其他用戶。
Shared: 可以在多個(gè)數(shù)據(jù)庫(kù)上使用共享的密碼文件。但是密碼文件中只能包含sys用戶。通常用于一個(gè)dba管理多個(gè)數(shù)據(jù)庫(kù)的時(shí)候。
4.V$PWFILE_USERS
使用該視圖查看密碼文件中的member
5.非管理員級(jí)別用戶的OS認(rèn)證方法:
關(guān)鍵字:
os_authent_prefix=ops$
注意:
如果用戶名為donny.chen,需要用引號(hào)。這個(gè)時(shí)候要用大寫'OPS$DONNY.CHEN',否則可以
SQL> create user ops$oracle identified externally
2 default tablespace users;
conn /
winnt下面需要注意的就是在HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0/OSAUTH_PREFIX_DOMAIN項(xiàng)。如果為沒有或者為true,表示建用戶時(shí)需要這樣'OPS$主機(jī)名用戶名'。
所以通常將OSAUTH_PREFIX_DOMAIN改稱false。
