三個配置檔案
listener.ora、sqlnet.ora、tnsnames.ora,都是放在$oracle_home\network\admin目錄下。
重點:三個檔案的作用和使用
sqlnet.ora-----作用類似于linux或者其他unix的nsswitch.conf檔案,通過這個檔案來決定怎麼樣找一個連接配接中出現的連接配接字元串,
例如我們用戶端輸入
假如我的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的記錄
括号中還有其他選項,如ldap等并不常用。
tnsnames.ora------這個檔案類似于unix 的hosts檔案,提供的tnsname到主機名或者ip的對應,隻有當sqlnet.ora中類似
names.directory_path= (tnsnames) 這樣,也就是用戶端解析連接配接字元串的順序中有tnsnames是,才會嘗試使用這個檔案。
例子中有兩個,orcl 對應的本機,sales對應的另外一個ip位址,裡邊還定義了使用主用伺服器還是共享伺服器模式進行連接配接,一句一句說
#你所要連接配接的時候輸入得tnsname
orcl =
(description =
(address_list =
#下面是這個tnsname對應的主機,端口,協定
(address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))
)
(connect_data =
#使用專用伺服器模式去連接配接需要跟伺服器的模式比對,如果沒有就根據伺服器的模式
#自動調節
(server = dedicated)
#對應service_name,sqlplus>;show parameter service_name;
#進行檢視
(service_name = orcl)
)
#下面這個類似
sales =
(address_list =
(address = (protocol = tcp)(host = 192.168.188.219)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = sales)