Oracle服務穿越防火墻
作者: 不剪發(fā)的Tony老師
畢業(yè)于北京航空航天大學,十多年數(shù)據(jù)庫管理與開發(fā)經驗,目前在一家全球性的金融公司從事數(shù)據(jù)庫架構設計。CSDN學院簽約講師以及GitChat專欄作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net
環(huán)境 :數(shù)據(jù)庫服務器在VPN網(wǎng)內,操作系統(tǒng)為W2k3 Server SP2,VPN使用了防火墻,數(shù)據(jù)庫為Oracle10G,專用服務器模式。
問題 :在VPN外不能連接Oracle,服務器上的防火墻已經關閉,VPN防火墻打開了1521監(jiān)聽端口。
原因 :監(jiān)聽器只是負責監(jiān)聽請求,默認使用1521端口??蛻舳苏埱筮B接通過監(jiān)聽器找到數(shù)據(jù)庫服務后,建立一個新的連接,使用的是另外一個動態(tài)端口,而且不可預知。雖然服務器關閉了防火墻,但是VPN防火墻還是攔截了客戶端的連接。
解決辦法 :查看資料,最后使用USE_SHARED_SOCKET設置。在注冊表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1下添加一個字符串值USE_SHARED_SOCKET=true。重啟數(shù)據(jù)庫服務,連接OK。
參考 :http://bbs.51cto.com/thread-606943-1.html;http://www.computer-book-authors.org/aud_450.htm