CHAPTER 1. Introduction
This chapter provides general conceptual information about SQL*Net 2.3.3 in the OpenVMS environment. It covers the following topics:
SQL*Net is a communications software product that allows you to create a data management environment to share information stored in Oracle databases. SQL*Net uses the communications protocols supported by various operating systems to provide a distributed processing and distributed database environment for Oracle. SQL*Net also refers to a set of products or adapters that support industry-standard protocols such as DECnet and TCP/IP.
An Oracle database management system can be configured in one of the following ways:
In Figure 1 - 1 Ethernet is only an example. SQL*Net works with other network types.
Figure 1 - 1. Configuration Options
Centralized
In a centralized configuration, the Oracle7 Server and Oracle tool are located on the same machine. This machine is not necessarily on a network and users access the application through terminals. If you use a centralized configuration, you may use a simple SQL*Net adapter called the bequeath adapter, which requires no SQL*Net configuration. However, if you wish to use pre-spawned servers or multithreaded servers, you must configure SQL*Net even in centralized configurations.
Client/Server
In a client/server configuration, the Oracle7 Server resides on a multi-tasking server system, and the client side of the applications resides on another computer, such as a workstation or personal computer. Both the client and server are connected by a physical network and communicate via a network protocol such as DECnet. In a client/server environment, the Oracle application built with an application development tool makes database requests to the server over the network.
Distributed Database
In a distributed database configuration, users query separate databases as a single database. The major advantage of a distributed database is that users and applications are not required to know where data resides. You can query database tables by name, regardless of how the network protocols work together to access the appropriate remote database containing the table. Therefore, SQL*Net users can communicate and share database information stored in different locations, on different computers, with different operating systems. Distributed databases allow local administration of data and can reduce network traffic if the data that is accessed most often at a location can be stored locally.
SQL*Net allows the client and server to communicate over a variety of media and protocols. A client/server configuration allows DBAs to distribute CPU-intensive user interfaces to low-cost workstations. It also allows application users to be greeted with the graphical user interface (GUI) with which they are most familiar.
SQL*Net Installations
When installing SQL*Net on OpenVMS, you can choose which SQL*Net adapter to install. During installation, you may install SQL*Net DECnet, SQL*Net TCP/IP, or both.
In addition, the VMS Mailbox adapter is installed automatically, as is the bequeath adapter, which allows mailbox connections without a network configuration or running listener.
Additional Information: See the Oracle7 for OpenVMS Installation Guide for instructions on installing SQL*Net. Also see the file ORA_RDBMS:READMEVMS.DOC and ORA_NETCONFIG:README_NETCONFIG.DOC.
SQL*Net and the Transparent Network Substrate (TNS)
This section introduces SQL*Net in general terms and describes the components that make up SQL*Net Version 2.3.3.
Using SQL*Net
SQL*Net connects dissimilar networks together and allows client/server transactions to occur transparently. An end user does not have to know that a network exists, because SQL*Net hides the complexity of machine-level interactions by presenting a layer of interconnectivity to the user through its client/server architecture. This layer is called the Transparent Network Substrate, or TNS.
Figure 1 - 2 shows a client/server configuration using SQL*Net.
Figure 1 - 2. Client/Server Configuration
Figure 1 - 2 shows an OpenVMS computer that holds the physical Oracle7 database and an OpenVMS workstation with an Oracle Forms application that needs to access the Oracle7 database. The OpenVMS computer (A in the figure) is the server and the OpenVMS workstation (B in the figure) is the client.
The transaction proceeds as follows:
1. The client requests some data.
2. SQL*Net packages the request and sends it to the Transparent Network Substrate (TNS).
3. TNS routes the packaged request to the server.
4. SQL*Net on the server side unpackages the request and sends it to Oracle7.
5. Oracle7 processes the request and sends the requested data to SQL*Net.
6. SQL*Net packages the data and sends it to TNS.
7. TNS routes the data to the client.
8. SQL*Net on the client side unpackages the data and sends it to the application.
SQL*Net 2.3.3 in conjunction with TNS can also connect networks that use different protocols. Figure 1 - 3 displays a network of a TCP/IP and a DECnet protocol connected by the MultiProtocol Interchange running on another computer.
Figure 1 - 3. MultiProtocol Interchange Connection
SQL*Net Architecture
SQL*Net consists of the following components:
- Transparent Network Substrate (TNS)
SQL*Net Interface
The SQL*Net interface bundles or unbundles messages received from TNS. The SQL*Net interface code resides on all nodes that use SQL*Net. On the client (application program) side, the interface bundles the messages received from the application and passes them to TNS for delivery. On the Oracle7 Server side, the interface unbundles the messages received from TNS and passes them to the Oracle7 Server.
Transparent Network Substrate
TNS allows peer-to-peer connectivity where no machine-level connectivity can occur. It provides a user-transparent layer that enables a heterogeneous network consisting of different protocols to function as a homogeneous network. TNS forms a transparent layer to which different network protocols are connected. It provides a network of applications above the existing networks of computers.
Oracle Protocol Adapters
The Oracle Protocol Adapters allow TNS and its services to communicate over existing network communication protocols. The Protocol Adapters map the functions of the underlying protocol into the equivalent functions within TNS. This mapping of communication functions allows calls to or from TNS to be protocol nonspecific.
Figure 1 - 4 shows how TNS and the Oracle Protocol Adapters interface with existing network protocols. For any TNS client running an industry-standard protocol, the Oracle Protocol Adapter interfaces between the unique API of the underlying protocol and the consistent interface of Oracle's TNS.
Figure 1 - 4. TNS, Adapters, and Protocols
A single machine can support multiple protocols and protocol adapters simultaneously. A node that supports multiple protocols and protocol adapters is said to be a member of multiple TNS communities, one for each protocol installed.
A TNS client belonging to multiple communities is common in three cases:
- As a client application that needs to access other applications in more than one network. Installing two protocols and protocol adapters allows a client to connect to any server application in either community.
- As a server application that is being accessed by clients from multiple TNS communities. Installing two protocols and the protocol adapters would allow all clients from both communities to access a server application on that machine.
- As an Oracle MultiProtocol Interchange connecting two communities. Installing two protocols, two protocol adapters, and the Interchange allows all client applications and all server applications to communicate between the communities.
Note: The MultiProtocol Interchange is not available on OpenVMS systems. However, you can connect communities with different protocols if the MultiProtocol Interchange is installed on another computer in one of the communities.
Additional Information: For further general information about SQL*Net, please refer to the following manuals:
Oracle Network Products Messages Manual
Oracle Network Manager Administrator's Guide
Understanding SQL*Net
Oracle Names Administrator's Guide
Oracle SNMP Support Reference Guide
Oracle Advanced Networking Option Administrator's Guide