Yeah, that could work, but ...
is there any better way avaiable? Since under certain circumstances, the clients IP address may not be a fixed one.
Also, will this work for ODBC Connection as well? i.e. Is ODBC connect the same way to the Oracle server as Net8?
Have you ever use connection manager(CMAN) or set USE_SHARED_SOCKET = TRUE?
Thanks!
Thanks all, but the thing is ...
Since we are the software application vendor, we don't really know which OS the customer's Oracle servers are sit on, and we don't want to put a limitation over there. i.e. if they are using dedicated server mode, we don't want to force them change to MTS mode etc.
So I'd like to provide them generic solutions if I can. So far, can I draw a conclusion that:
To make a remote client connect to an Oracle server inside a firewall, your client needs to have a fixed IP address. The firewall should be configured only accept those specified IP addresses. Also, the port 1521 needs to be open on the firewall. Plus
1. If the Oracle server is on Windows Box (which is a multithread server), then you can always make it work by set USE_SHARED_SOCKET = TRUE in registry.
1.1 If their Oracle server is running in MTS mode, then they can simply "fix" the port number through which connection will be established by setting
mts_dispatchers="(address=(protocol=tcp)(host=hostname)(port=1521))(dispatchers=1)"
In this case, you don't have to set USE_SHARED_SOCKETS = TRUE. (is this statement correct?)
2. If the Oracle server is not on a multithreaded OS, then there is no additional requirement besides keep port 1521 open on firewall and configure firewall to only accept predefined IP addresses for the clients.
Is that sounds right to you all?
Is yes, then where can Oracle Connection Manager fit in? Is it true that if you use CMAN, you can skip all above steps? And can you configure firewall to accept all clients' request send to port 1521 instead of only the predefined ones?
Thanks so much for all your help and have a wonderful X'mas!
Re: Thanks all, but the thing is ...
Quote:
Originally posted by elaine3839
1. If the Oracle server is on Windows Box (which is a multithread server), then you can always make it work by set USE_SHARED_SOCKET = TRUE in registry.
Yes, but then you must also make your clients avare of the consequences of this setting (ie they can't stop the listener without shutting down the database)
Quote:
1.1 If their Oracle server is running in MTS mode, then they can simply "fix" the port number through which connection will be established by setting
mts_dispatchers="(address=(protocol=tcp)(host=hostname)(port=1521))(dispatchers=1)"
In this case, you don't have to set USE_SHARED_SOCKETS = TRUE. (is this statement correct?)
Yes (AFAIK).
Quote:
2. If the Oracle server is not on a multithreaded OS, then there is no additional requirement besides keep port 1521 open on firewall and configure firewall to only accept predefined IP addresses for the clients.
Not quite. On Unix you have the same problems as with Win OS if your database is set up in MTS mode! Also in this configuration you must fix the dispatcher's port in your init.ora to "fix" the port.
On metalink you have some documents that deals exclusivelly with the Firewal - Oracle issues. I suggest you study them carefully. Here is the URL: http://metalink.oracle.com/metalink/...1&blackframe=0
Thanks you, thank you, thank you...
I will read the docs you send me for sure --- I feel I learn something new from this forum everyday and thanks for all your (and other people) contribution to this forum.
Maybe this question will be answered in the doc, but can I check with you that if the Oracle server is running in dedicated mode, do we still need to 'fix' the port for it? Or it will always use port 1521 even after initial handshaking?
Thanks again...
Re: Thanks you, thank you, thank you...
Quote:
Originally posted by elaine3839
Maybe this question will be answered in the doc, but can I check with you that if the Oracle server is running in dedicated mode, do we still need to 'fix' the port for it? Or it will always use port 1521 even after initial handshaking?
On Unix, AFAIK the conversation will remain on the same port (e.g. 1521) if database is not in the MTS mode. On NT on the other hand, regardless if the database is in MTS or dedicated mode, only the initial request will go through that port, after that the database will choose another port through which the actual database session conversation will take place.
If your database is not in MTS mode, then talking about "fixing" the port is irrelevant, as setting that permanent port in the init.ora implies MTS mode! If you wan't to fix the port you must set MTS_DISPATCHERS parameter in the init.ora, and as soon as you have that parameter set you are in MTS mode ;).