1751907 會員
4795 線上
108783 解決方案
發表新文章

Oracle on VMS

 
watermelonyu
教授

Oracle on VMS

我覺得vms 是會產生另一個Port 跟client 溝通的

每當我新連進一個session,tcpip>show dev 都會產生新的socket,而且port 都不是1521



而且我用下列的指令去看這些新增的socket,這應該是session建立時對應的process

$ sh dev/fu bg139



Device BG139:, device type unknown, is online, mounted, record-oriented device,

network device, mailbox device.



Error count 0 Operations completed 9

Owner process "ORA_JOEYC0756" Owner UIC

Owner process ID 0000025D Dev Prot S:RWPL,O:RWPL,G:RWPL,W:RWPL

Reference count 1 Default buffer size 256
watermelonyu
教授

Oracle on VMS

我試過其他的 OS (HP-UX, Tru64, Windows)等, server 端都是固定用 1521, 而不會透過其他非 listener port.



有沒有什麼設定, 可讓 Oracle on OpenVMS 可以固定使用 listener port 建立 session?



否則不同 zone 之間的 firewall 會無法只透過固定的 port 開放 policy

watermelonyu
教授

Oracle on VMS

Joey,



你可以試一下在 listener.ora 加入以下這行嗎?



use_shared_socket = true



重啟 listener 看看會不會固定使用 1521?



謝謝幫忙
watermelonyu
教授

Oracle on VMS

試過了

還是一樣會用其他Port

別的討論區也有人問過,不過狀況一樣

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1029919
watermelonyu
教授

Oracle on VMS

原來也是你問的....

不過我的測試環境是9.2.0.2 on vms 7.3-1

watermelonyu
教授

Oracle on VMS

Joey,



謝謝, 有沒有認識其他的客戶使用 oracle on VMS, 也會這樣嗎?
watermelonyu
教授

Oracle on VMS

我接觸過的有兩家(oracle 8i 的)

剛去問了結果也是一樣
watermelonyu
教授

Oracle on VMS

On Metalink, the uses of use_shared_socket all refer to NT platform. Oracle suggest the following solutions



1. Use CMAN or Firewalls that support SQL*net proxy, or

2. MTS with certain port ranges

(Doc ID: Note:361284.1,Note:125021.1 etc., )



看來 Oracle 在 OpenVMS 上並未 implement "use_shared_socket". 我想可能的原因是,



Because OpenVMS does not share file and socket descriptors between parent and forked processes, you cannot simply use fork() and socket calls like unix to share sockets.

To share sockets, some proprietary OpenVMS system services are needed (you can see that the FTP and Telnet services on OpenVMS does share the same server ports!)

For more info. on socket sharing on OpenVMS, you can search the keywords "socket sharing firewall" in http://h71000.www7.hp.com/wizard/index.html.

watermelonyu
教授

Oracle on VMS

我試過其他 OS (HP-UX, Tru64 等), 都不會像 OpenVMS 上這樣, 而你提到的Note:361284.1,

是 Oracle Net Services - Version: 10.2.0.1

才會遇到 (on any platform), 可是我們現在是 9i, 只有在 OpenVMS 上會這樣, 難道 OpenVMS 上有哪個參數需要設定?
watermelonyu
教授

Oracle on VMS

ericfjchen,



VMS 本身並沒有參數的設定會影響 socket sharing.



我認為除非 oracle 願意 change their design specifically on VMS using non-portable codes, or HP 能夠更改 the way of openvms Prcess Forking 否則只能用如 Note:361284.1 oracle建議的 solutions.



ps



-如果 HP(在 DEC/Compaq時代) 能夠單純地更改 the way of openvms Prcess Forking , 那就不會有 OpenVMS/Posix (現已不支援了) 的產生.



(安裝 Posix 後 OpenVMS 便有兩個 kernels 並存, 一為傳統 VMS kernel, 一為 posix kernel, 即 unix!)



-我想 Note:361284.1 also apply to oracle9, oracle8 on openvms and MTS on unix!