Oracle數(shù)據(jù)庫外部的身份認(rèn)證的正確方法
以下的文章主要是對Oracle數(shù)據(jù)庫外部的身份認(rèn)證淺談,主要是通過服務(wù)器上的使用操作系統(tǒng)來進(jìn)行驗證的,在中服務(wù)器上的使用操作系統(tǒng)我們要用到的項目有配置SQLNET.ORA文件 ,建立相應(yīng)的操作系統(tǒng)組及用戶加入該組等相關(guān)的內(nèi)容。
1.配置SQLNET.ORA文件
參數(shù)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)表明解析客戶端連接時所用的主機字符串的方式。TNSNAMES表示采用TNSNAMES.ORA文件來解析;ONAMES表示Oracle使用自己的名稱服務(wù)器(Oracle Name Server)來解析,目前Oracle建議使用輕量目錄訪問協(xié)議LDAP來取代ONAMES;
HOSTNAME表示使用host文件,DNS,NIS等來解析;參數(shù)SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用戶連接Oracle服務(wù)器時使用哪種驗證方式NONE表示Oracle數(shù)據(jù)庫身份驗證,NTS表示操作系統(tǒng)身份驗證,兩種方式可以并用。
2.建立相應(yīng)的操作系統(tǒng)組及用戶加入該組
ORA_DBA組中的域用戶和本地用戶不需要Oracle用戶名和密碼就可以登錄Oracle而且該組的用戶登錄數(shù)據(jù)庫后都具有SYSDBA權(quán)限(多個實例時,可以建立類似這樣的組ORA_SID_DBA,其中SID指實例名)同理:ORA_OPER組中的成員具有SYSOPER角色的權(quán)限。
3.登錄方式
C:>sqlplus “/ as sysdba” 或者C:>sqlplus nolog,然后SQL>connect / as sysdba
4.init.ora中的Remote_Login_Passwordfile對身份驗證的影響。
三個可選值:
NONE:
默認(rèn)值,指示Oracle系統(tǒng)不使用密碼文件,通過操作系統(tǒng)進(jìn)行身份驗證的特權(quán)用戶擁有SYSORA和SYSOPER權(quán)限.
EXCLUSIVE:
1).表示只有一個Oracle數(shù)據(jù)庫實例可以使用密碼文件;
2).允許將SYSORA和SYSOPER權(quán)限賦值給SYS以外的其它用戶。
SHARED:
1).表示可以有多個數(shù)據(jù)庫實例可以使用密碼文件;
2).不允許將SYSORA和SYSOPER權(quán)限賦值給SYS以外的其它用戶。
所以,如果要以操作系統(tǒng)身份登錄,Remote_Login_Passwordfile應(yīng)該設(shè)置為NONE
5.當(dāng)?shù)卿浻脩舨皇荗RA_DBA組和ORA_OPER組成員時,登錄Oracle數(shù)據(jù)庫需要在Oracle中創(chuàng)建當(dāng)前操作系統(tǒng)用戶相同的用戶名,如果當(dāng)前用戶是域用戶,則名稱為:domainnameyourname,如果是本地計算機用戶,則名稱為:computernameyourname
創(chuàng)建方法:
- create "domainnameyourname" identified externally;
- grant connect to "domainnameyourname";
Windows操作系統(tǒng),修改注冊表HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0下面添加AUTH_PREFIX_DOMAIN,值設(shè)為FALSE,在創(chuàng)建Oracle用戶時可以忽略掉域名。這種方式下,init.ora中有一個參數(shù)將影響Oracle數(shù)據(jù)庫如何匹配一個windows用戶和Oracle用戶os_authent_prefix = ""缺省為空,Oracle8i以前,無該參數(shù),而使用OPS$作為用戶名前綴.(Oracle用戶名***長度限制為30個字符)。
文章出自: http://database.csdn.net/c_oracle/tag/2
【編輯推薦】
- Oracle游標(biāo)的打開與關(guān)閉
- Oracle游標(biāo)提取相關(guān)的數(shù)據(jù)的語法介紹
- Oracle游標(biāo)的刪除與更新實際操作步驟
- 存儲結(jié)構(gòu)之Oracle邏輯存儲結(jié)構(gòu)
- Oracle 8i中字符集亂碼問題詳細(xì)解析