資料庫的網路連線
資料庫的網路連線[@more@]
最後,網路連線已經建立,listener程式的歷史使命也就完成了。
資料庫的網路連線
1、客戶端機器
正確配置sqlnet.ora檔案(對應的操作:命名方法的配置可改變此檔案)
正確配置tnsnames.ora檔案(對應的操作:網路服務名的配置可改變此檔案)
2、伺服器機器
資料庫已經啟動
監聽服務Listenner已經啟動,對應listener.ora檔案
3、原理分析
以TNSNAMES命名方法為例:
以sqlplus為例,當我們輸入使用者名稱、密碼和網路服務名後,sqlplus首先在客戶端尋找sqlnet.ora檔案的NAMES.DEFAULT_DOMAIN引數,然後與將此引數與輸入的網路服務名拼接在一起形成新的名字
然後又在客戶端尋找tnsnames.ora檔案,將在第一步形成的名字與此檔案中的service_name匹配,如果一致,則繼續下一步驟。
伺服器端listener程式必須提供上面的服務和埠,如果沒有問題的話,則建立與listener程式的連線,然後根據不同的伺服器模式如專用伺服器模式或者共享伺服器模式,listener採取接下去的動作。預設是專用伺服器模式,沒有問題的話客戶端就連線上了資料庫的server process。(更具體的細節參考下面第4小節)
最後,網路連線已經建立,listener程式的歷史使命也就完成了。
Ps:只有sqlnet.ora檔案中存在TNSNAMES時,才會用到tnsnames.ora檔案
4、listenner程式
a、如果不是使用的遠端的連線,listener程式就不是必需的,同樣的如果關閉listener程式並不會影響已經存在的資料庫連線。
作業系統認證或本地登入都不需要此程式
b、強制服務和自動服務
強制服務---來自於listener.ora檔案,對應的操作;用status命令顯示時,服務名來自於listener.ora檔案中的GLOBAL_DBNAME,例項名來自listener.ora檔案中的SID_NAME,並且例項的狀態顯示為UNKOWN
自動服務---listener.ora檔案中沒有對應內容,由執行的例項自動註冊到監聽器中;用status命令顯示時,服務名來自於引數檔案的db_name.db_domian,例項名來自於引數檔案的instance_name,並且例項的狀態顯示為READY
因此,用status命令檢視時,有可能看到一個服務下有兩個或多個例項名
c、無法啟動 OracleOraHome81TNSListener 服務,系統提示找不到指定的路徑
在執行處執行REGEDIT進入登錄檔到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesOracleOraHome81TNSListener
發現ImagePath關鍵值沒有了,增加他,選擇可擴充字串值,編輯字串的數值資料為:f:OracleOra81BINTNSLSNR
退出登錄檔。(我的環境是oracle8.1.7)
在執行處執行REGEDIT進入登錄檔到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesOracleOraHome81TNSListener
發現ImagePath關鍵值沒有了,增加他,選擇可擴充字串值,編輯字串的數值資料為:f:OracleOra81BINTNSLSNR
退出登錄檔。(我的環境是oracle8.1.7)
5、常用的診斷命令
伺服器端:lsnrctl status,檢視listenner程式的狀態
客戶端:tnsping 網路服務名,檢視客戶端sqlnet.ora和tnsname.ora檔案的配置正確與否
6、附錄
命名方法---解析網路服務名的一種方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/653579/viewspace-893437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android連線網路資料庫的方式Android資料庫
- iis網站怎麼連線資料庫連線網站資料庫
- php網站資料庫連線PHP網站資料庫
- 資料庫的連線資料庫
- iis網站資料庫無法連線資料庫網站資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 網頁提示連線資料庫失敗是怎麼回事(網站資料庫連線失敗)網頁資料庫網站
- 連線資料庫資料庫
- 資料庫連線資料庫
- 各種連線資料庫的連線字串資料庫字串
- 資料庫的連線數資料庫
- 連線資料庫的疑惑資料庫
- 資料庫的連線串資料庫
- 網站連線資料庫配置檔案網站資料庫
- 網站連線資料庫配置錯誤網站資料庫
- 網站提示資料庫連線錯誤網站資料庫
- 怎麼建立網站連線資料庫網站資料庫
- 網站連線資料庫怎麼辦網站資料庫
- lesson3 簡單網路連線-網路資料的收發
- JDBC連線資料庫JDBC資料庫
- java連線資料庫Java資料庫
- Mybatis連線資料庫MyBatis資料庫
- Mongodb資料庫連線MongoDB資料庫
- mysqli連線資料庫MySql資料庫
- 連線mysql資料庫MySql資料庫
- 資料庫連線池資料庫
- 資料庫連線==odbc資料庫
- 資料庫連線字串資料庫字串
- jmeter連線資料庫JMeter資料庫
- 連線資料庫-mysql資料庫MySql
- 資料庫連線池的理解資料庫
- 資料庫連線池的使用資料庫
- WASCE的資料庫連線池資料庫
- JDBC 連線資料庫的類JDBC資料庫
- 資料庫的連線過程資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- (轉)PHP連線資料庫之PHP連線MYSQL資料庫程式碼PHP資料庫MySql