11g下sqlnet.ora及EZCONNECT

tolywang發表於2014-05-07

#SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
 
檔案作用:
sqlnet.ora檔案控制著客戶端Oracle NetServices的行為,例如跟蹤級別和會話特性。
當客戶發出請求時,透過使用tnsnames.ora檔案首先解析Oracle Net Services的名稱。
tnsnames.ora檔案中的引數將該請求指引到適當的資料庫節點。監聽器程式監聽客戶請求,
並且將其與一個伺服器程式相連線。該請求將被處理,其結果被返回到客戶端機器。


引數解釋:
#SQLNET.AUTHENTICATION_SERVICES= (NTS)
none:作用是不允許透過os系統使用者登入資料庫,需要提供資料庫使用者名稱及密碼
all: 作用是允許所有的登入方式
nts: 作用是windows的本地作業系統使用者認證,unix環境需註釋掉。
NONE,NTS 兩種方式可以並用。

NAMES.DIRECTORY_PATH可以有多種設定,例如:
如果設定NAMES.DIRECTORY_PATH=(TNSNAMES),那麼客戶端就只會從設定的tnsnames.ora查詢你要連線
的字串(如orcl)記錄,如果tnsname.ora檔案中沒有此記錄,則連線不上資料庫。

如果設定NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES),那麼客戶端首先會從tnsnames.ora查詢你要連線
的字串(如orcl)記錄,如果tnsname.ora檔案中沒有此記錄,則Oracle使用自己的名稱伺服器(Oracle
Name Server)來解析 (ONAMES) 。一般比較少使用Name Server。

如果設定 NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES,HOSTNAME,EZCONNECT),那麼先找tnsnames.ora,
沒有的話,再找Oracle Name Server,再找不到,那麼嘗試把客戶端(設定的)要連線的字串(如orcl)
當作一個主機名,透過網路的途徑去解析它的ip地址然後去連線這個ip上GLOBAL_DBNAME=連線字串(如orcl)
這個例項,當然這裡連線字串(如orcl)並不是一個主機名,最後會嘗試以ezconnect的方式連線資料庫。

所謂 EZCONNECT是oracle10g引入的簡單連線,連線格式:

不是  sqlplus user/password@192.168.100:1521:orcl
而是  sqlplus user/password@192.168.100:1521/orcl

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

相關文章