原始地址:http://orafaq.com/wiki/SQL*Net <script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
Overview
SQL*Net is Oracle's networking software that allows remote data-access between programs and the Oracle Database, or among multiple Oracle Databases. Applications and databases can be distributed physically to different machines and continue to communicate as if they were local.
SQL*Net is based on Oracle's Transparent Network Substrate, a foundation network technology that provides a generic interface to all popular network protocols for connectivity throughout a network of applications.
SQL*Net is used by both client and server to communicate with one another. Without the SQL*Net layer acting as the interpreter, the client process and the server process are unable to interconnect.
Client configuration
The Oracle Client software is required on workstations and servers that needs to connect to remove Oracle Databases.
Server configuration
The cornerstone of SQL*Net is a process called the listener. The process as its name signifies listens to the network connections for request from the client to come in and request data. The listener tunes to a particular "frequency" to listen for connections on the type of network being used, and "hears" request issuing from only that network. In heterogeneous environments, there may be several different listeners in place on the machine running Oracle Server.
Once listener "hears" on of the two things may happen. In dedicated server configuration the user process (client end) that the listener has heard is routed to a server process (server side, every user process has a dedicated server process in dedicated configuration). In multi threaded configuration the user process that the listener heard is routed to another process called dispatcher (server end), which interacts with shared server process to carry on the activities.
Benefits provided by SQL*Net
- Network Transparency - SQL*Net provides support for a broad range of network transport protocols including TCP/IP, SPX/IPX, IBM LU6.2, Novell, and DECnet. It does so in a manner that is invisible to the application user. This enables SQL*Net to inter-operate across different types of computers, operating systems, and networks to transparently connect any combination of PC, Unix, legacy, and other system without changes to the existing infrastructure.
- Protocol Independence - SQL*Net enables Oracle applications to run over any supported network protocol by using the appropriate Oracle Protocol Adapter. Applications can be moved to another protocol stack by installing the necessary Oracle Protocol Adapter and the industry protocol stack. Oracle Protocol Adapters provide SQL*Net access to connections over specific protocols or networks. On some platforms, a single Oracle Protocol Adapter will operate on several different network interface boards, allowing you to deploy applications in any networking environment.
- Media/Topology Independence - When SQL*Net passes control of a connection to the underlying protocol, it inherits all media and/or topologies supported by that network protocol stack. This allows the network protocol to use any means of data transmission, such as Ethernet, Token Ring, or other, to accomplish low level data link transmissions between two machines.
- Heterogeneous Networking - Oracle's client-server and server-server models provide connectivity between multiple network protocols using Oracle Connection Manager.
- Large Scale Scalability - By enabling you to use advanced connection concentration and connection pooling features, SQL*Net makes it possible for thousands of concurrent users to connect to a database.
Configuration Files
The following configuration files can be altered to configure SQL*Net:
- protocol.ora (not used anymore)