Oracle Customers Traverse Firewall challenges

Source: Internet
Author: User
Tags pack reference socket thread dedicated server client port number firewall
oracle| Firewall
The Oracle9i database has been installed on the Windows XP platform as a test for your work needs recently, and everything is fine. But when the client connects to the server and always times out, I first think of the firewall, and when I open port 1521, the connection operation still fails. I suspect that there is a problem with the network, try using Telnet server_ip:1521, the connection is accepted, the 1521 port has been opened.

There is no way of querying Oracle data to understand that network listener only acts as a mediator, when the customer connects it, it looks for the corresponding database instance process according to the configuration, and then spawned a new database connection, the connection port by network Listener is passed to the client, and then the client is no longer dealing with it, even if listener stops working. This new connection port is unpredictable and will be blocked by the firewall.

A new feature of the Windows Socket2 specification is a shared socket, which is a socket for a process that shares another process (see the MSDN Reference for details). If you let network listener share sockets with the database service process, the connection port will not change.

How do I set a Shared Socket?

Create a new string value on the registry: HKEY_LOCAL_MACHINE OFTWARE\ORACLE\HOME0: Use_shared_socket=true. If more than one directory is installed, each similar directory is set: HKEY_LOCAL_MACHINE Oftware\oracle\homex (x directory number)

Require restart instance after Setup (reboot only listener find no effect)

Reference Material:
Http://www.computer-book-authors.org/aud_450.htm

Typical questions:
Http://www.lazydba.com/oracle/0__37815.html

When a client connects to a listener it uses port 1521 at the client machine. The listener then returns to the client thru a different port. The 1521 port is closed and the DB connection uses the new port to communicating with the client. I want the listener to the "client using port 1521, how?"

Metalink says use the Use_shared_socket parameter, but it still not working. I set the parameter to true in the Sys env and the registry.
....

Oracle Original:

Use_shared_socket

You can set the Use_shared_socket parameter to TRUE to enable the use of SHARED sockets. If This parameter was set to TRUE, the network listener passes the socket descriptor for client connections to the database Thread. As a result, the client does not need to establish a new connection to the database thread and database connection time IM Proves. Also, all database connections share the "port number used by" network listener, which can is useful if you are Up Third-party proxy servers.

On Windows NT 4.0 Service Pack3 or earlier, enabling this option precludes bringing the network listener up or down in a C ASE where a database connection spawned by the network listener is active. Therefore, may
Need to shut down all of the databases serviced by a network, listener you can before down and bring a restart list Ener. This results to the way shared sockets have been implemented in WINSOCK2. WINSOCK2 does not
Allow a reliable thread to a network listener on "any port" which other connections are active. This isn't a issue on Windows NT 4.0 Service Pack 4 orlater. Oracle recommends that you upgrade to Windows NT 4.0 Service Pack 4 If you intend to set this parameter.

This parameter is a TCP/IP environment in dedicated server mode. If This parameter is set, your cannot use the 8.1.5 listener to spawn Oracle 7.x databases. To spawn a Oracle 8.0.x database from 8.1.5 Listener

==============





Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.