client進程首先與listener建立TCP連接,然後listener產生一個server進程並將server進程位址返回給client進程,之後client進程與該server進程建立TCP連接,由server進程完成資料庫操 作,並將結果返回給client端。對於UNIX系統,由於server進程是由listener創建的(fork),server進程將繼承 listener進程的資源,即使用相同的file handle和tcp socket。對於windows socket1.1而言,server線程與listener無法共用TCP socket。server線程會隨機地選擇一個TCP埠與client進行連接而windows socket2支援shared socket,可以實現一個進程共用另一個進程(processes)的TCP socket。

如果需要從外網訪問(access)oracle,需做如下設置:
UNIX系統:
          只需要在防火牆上開放監聽埠(listener port)。

WINDOWS系統:
    1、在防火牆上開放監聽埠。
    2、設置Shared Socket (Windows Socket2支援)。設置方法:
在 註冊表:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0上新建一個字串值:USE_SHARED_SOCKET=TRUE。如果安裝了多個目錄,則每個類似的目錄都要設置:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx (x目錄編號).
設置後要重啟instance.
如果windows不支持shared socket,則要在防火牆上開放所有埠。


出處:http://space.itpub.net/228190/viewspace-184350



arrow
arrow
    全站熱搜

    噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣()