oracle口令文件驗證與操作系統(tǒng)驗證設(shè)置技巧
ORACLE口令文件驗證與操作系統(tǒng)驗證
1. 使用操作系統(tǒng)驗證
2個前提必須同時滿足
1)os下建立用戶ORA_DBA用戶組,
然后可以新建立用戶或者把原來的用戶加入到ORA_DBA組中,然后使用這個用戶在安裝了數(shù)據(jù)庫的本地機器登陸或者使用安全的遠(yuǎn)程連接登陸,可以作為sysdba登錄,在數(shù)據(jù)庫級不需要提供密碼。
2)sqlnet.ora文件中加入
SQLNET.AUTHENTICATION_SERVICES=(NTS)
下列方式都是使用os驗證登陸
Sqlplus “/ as sysdba”
Sqlplus “sys/sys as sysdba”
Sqlplus “sys/sdf as sysdba” //sys口令錯誤
Sqlplus “scott/sdf as sysdba” //scott口令錯誤
此時show user 都是sys
說明;只要在登陸是有/ as sysdba。就使用os驗證方式。不管是否是sys用戶,或者密碼是否正確。
這樣存在安全隱患
2. 關(guān)閉os驗證
1) 把操作系統(tǒng)用戶的ORA_DBA組取消
2) sqlnet.ora文件SQLNET.AUTHENTICATION_SERVICES= (NONE) 關(guān)閉os認(rèn)證方式
2個條件滿足任何一個即可。
3. 使用口令文件驗證
如果當(dāng)前沒有使用口令文件驗證?梢圆捎萌缦路椒ㄩ_啟口令文件驗證。
1.建立口令文件
C:\>orapwd file=C:\oracle\ora92\database\pwdtest.ora password=admin entries=5
口令文件名格式
pwd + sid + .ora
必須按照這個格式命名。
2.確認(rèn)參數(shù)是否正確
Remote_login_passwordfile=exclusive
None 不使用口令文件驗證,如果不使用口令文件驗證時,沒有用戶在ora_dba組中,那么就沒有任何用戶可以作為sysdba進(jìn)入數(shù)據(jù)庫了。
Exclusive 一個數(shù)據(jù)庫使用一個口令文件
Shared 多個數(shù)據(jù)庫使用一個口令文件
如果remote_login_passwordfile=exclusive 而且os中有ora_dba組。那么用戶如果作為ora_dba組登陸的話。仍然可以使用os的驗證
Shared說明
當(dāng)remote_login_passwordfile=shared時候,
在C:\oracle\ora92\database目錄下仍然生成pwd+sid.ora文件。每個數(shù)據(jù)庫使用自己的sys用戶和對應(yīng)的`密碼,但是不能再加入新的有sysdba權(quán)限的用戶
3.重新啟動數(shù)據(jù)庫,sys自動被加入到口令文件中
此時?诹钗募袥]有任何用戶。因為剛建立起來。
通過查詢 select * from v$pwfile_users; 可以知道
如果利用grant sysdba to sys; 把sys加入到口令文件。會報錯。
必須要重啟,會自動吧sys加入進(jìn)去
4. 把system用戶寫入口令文件中
Grant sysdba to system;
授權(quán)命令成功后。
select * from v$pwfile_users;
可以看到system已經(jīng)在口令文件中
5.忘記sys口令的話,2種做法都可以。
1)打開os認(rèn)證方式,/as sysdba連接進(jìn)去。 Alter user sys identified by sys;
2)通過刪除口令文件.然后用orapwd命令重新建立口令文件來做.但是需要重啟數(shù)據(jù)庫
【oracle口令文件驗證與操作系統(tǒng)驗證設(shè)置技巧】相關(guān)文章:
4.Oracle認(rèn)證:Oracle控制件文件修復(fù)