轉載 :http://www.dbasky.com/oracle/sqlnet-ora.html
sqlnet.ora 文件 和 tnsnames.ora 文件在一個目錄下,都是在 .\oracle\product\10.2.0\db_1\NETWORK\ADMIN\ 目錄下
原始的 sqlnet.ora 中的內容是:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
--------------
DBA對這個文件一定不會陌生,大家瞭解最多的也一定是sqlnet.ora用來決定oracle怎麼解析一個連接中出現的字符串,例如:
sqlplus sys/oracle@orcl
那麼這個orcl怎麼解析?如果你的sqlnet.ora這樣配置的:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
那麼,客戶端就會首先在tnsnames.ora文件中找orcl的記錄.如果沒有相應的記錄則嘗試把orcl當作一個主機名,通過網絡的途徑去解析它的ip地址然後去連接這個ip上GLOBAL_DBNAME=orcl這個實例,當然我這裏orcl並不是一個主機名
如果我是這個樣子
NAMES.DIRECTORY_PATH= (TNSNAMES)
那麼客戶端就只會從tnsnames.ora查找orcl的記錄
今天,我們來詳細的瞭解一下sqlnet.ora中參數的配置以及各自的意義。
按官方文檔的說法,sqlnet.ora有這麼多作用:
Specify the client domain to append to unqualified names
Prioritize naming methods
Enable logging and tracing features
Route connections through specific processer
Configure parameters for external naming
Configure Oracle Advanced Security
Use protocol-specific parameters to restrict access to the database
重要參數及解釋:
1.BEQUEATH_DETACH
控制unix系統中signal handling 的開關,默認是no,即signal handling 打開。
2.DEFAULT_SDU_SIZE
指定session data unit (SDU) 的大小,單位是bytes,建議在client端和server端都設置這個參數,確保鏈接的時候使用相同的SDU size,如果client端和server端配置的值不匹配會使用較小的。
3.LOG_DIRECTORY_CLIENT/LOG_DIRECTORY_SERVER
指定客戶端/server端log日誌文件的位置
4.NAMES.DEFAULT_DOMAIN
設定客戶端解析名字的域
5.NAMES.DIRECTORY_PATH
指定client name解析方法的次序,默認是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname)
取值可以是tnsnames,ldap(dictionary server),hostname/ezconnect,cds (分佈式環境下),nis (Network Information Service (NIS)
6.SQLNET_ALLOWED_LOGON_VERSIONS
指定運行鏈接的oracle的版本SQLNET_ALLOWED_LOGON_VERSIONS=(10,9,8)
7.SQLNET.AUTHENTICATION_SERVICES
指定啓動一個或多個認證服務
Authentication Methods Available with Oracle Net Services:
none for no authentication methods. A valid username and password can be used to access the database.
all for all authentication methods
nts for Windows NT native authentication
8.SQLNET.INBOUND_CONNECT_TIMEOUT
指定客戶端沒有鏈接成功超時的時間。超時之後oracle會中斷鏈接,同時報錯。
9.SSL_VERSION
指定ssl鏈接的版本
10.TCP.EXCLUDED_NODES
指定不允許訪問oracle的節點,可以使用主機名或者IP地址
11.TCP.INVITED_NODES
指定允許訪問db的客戶端,他的優先級比TCP.EXCLUDED_NODES高。
12.TCP.VALIDNODE_CHECKING
使用這個參數來啓用上邊的兩個參數。
13.TNSPING.TRACE_DIRECTORY
使用這個參數指定tnsping trace文件的目錄,默認是$ORACLE_HOME/network/trace目錄