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)

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).

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