程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oracle 兩個端口

oracle 兩個端口

編輯:Oracle數據庫基礎
 其實Oracle有兩個端口,也是才知道了,一般都認為Oracle只有一個端口1521,後來因為防火牆的原因,網上找了很多資料才知道原因的。通過tnsping orcl ,是完全可以連通的,但通過Net Mananger卻不能連接庫。

      network listener 只起一個中介作用,當客戶連接它時,它根據配置尋找到相應的數據庫實例進程,然後spawned一個新的數據庫連接,這個連接端口由network listener傳遞給客戶機,此後客戶機就不再和打交道了,即使listener停止了工作。這個新的連接端口是不可預知的,因而會被防火牆阻止。

    通過OracleOraDb10g_home1TNSListener生產的端口是隨機的,可以通過netstat -ano進行查看隨機端口。而1521端口是客戶端與數據庫交換的通道。

     Windows Socket2 規范有一個新的特性,就是Shared Socket, 所謂共享套接字是指一個進程共享另一個進程的套接字(詳見MSDN相關參考)。如果讓network listener與數據庫服務進程共享套接字,那麼連接端口就不會變化。

     如何設置 Shared Socket?在注冊表:HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0上新建一個字符串值:USE_SHARED_SOCKET=true。如果安裝了多個目錄,則每個類似的目錄都要設置:HKEY_LOCAL_MacHINESOFTWAREOracleHOMEx (x目錄編號)設置後要求重新啟動實例(只重啟listener發現沒有效果)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved