Network Topology   «Prev  Next»
Lesson 12 Features of Oracle Net Services
Objective Explain how Oracle Net Services handles connections.

Features of Oracle Net

Oracle Net is a layer of software that allows different physical machines to communicate for the purpose of accessing an Oracle database.
When a connection is made to Oracle Net, it passes the request to its underlying layer, the TNS, where the request is transmitted to the appropriate server.
At the server, Oracle Net receives the request from TNS and passes the SQL to the database.
TNS is the transparent network substrate[1]. TNS has the ability to connect to databases in physically separate networks.
At the lowest level, TNS communicates to other databases with message-level send/receive commands.

Client side

The User Programmatic Interface (UPI) is the central client component.
The UPI converts SQL to associated parse, execute, and fetch statements.
The UPI parses the SQL, opens the SQL cursor, binds the client application, describes the contents of returned data fields, executes the SQL, fetches the rows, and closes the cursor.
Oracle attempts to minimize messages to the server by combining UPI calls whenever possible.

Server side

The Oracle Programmatic Interface (OPI) is the central server component.
The OPI is the obverse of the UPI: the OPI responds to all possible messages from the UPI and from returning requests.
For server-to-server communication there is no UPI. Instead, there is a (NPI) Network Programmatic Interface at the initiating server. SQL*Net supports network transparency such that the network structure may be changed without affecting the SQL*Net application. Location transparency is achieved with database links and synonyms.
I In the next lesson, Oracle Net Services uniqueness will be discussed.


Oracle supplies three key components that interact to locate services, establish connections, transport data, and handle exceptions. They are:
  1. Oracle Network Services
  2. Transparent Network Substrate (TNS)
  3. Oracle Listener
While the interaction among these products does not generally require intervention beyond the initial installation, some customizations are often beneficial in an environment that is making heavy use of snapshots, symmetric replication, or other distributed functionality.

Oracle Programmatic Interfaces are tools for application designers who want to use SQL statements to access an Oracle Database from within high-level language programs. The following types of programmatic interfaces are available:
  1. The Precompiler Interface, which is a programming tool that enables you to embed SQL statements in high-level language source code.
  2. The Oracle Call Interface (OCI), that enables to create high-level language applications that use function calls to access an Oracle database and control all phases of SQL statement execution.
Under BS2000/OSD, the Oracle Database precompilers support programs written in C, C++, and COBOL programming languages. For more detailed information about Oracle Precompilers, see Oracle Database Programmer's Guide to the Oracle Precompilers and the appropriate supplementary publications from either Pro*C/C++ Programmer's Guide or Pro*COBOL Programmer's Guide.

[1] TNS: TNS is a foundation technology that is built into Oracle Network Services providing a single, common interface to all industry-standard protocols.