Harvard University Oracle Networks The function of Oracle Net
is to establish and maintain connections between a client
application and an Oracle database server. Oracle Net has many
communication layers that enable clients and database servers to
share and modify data.
Slide 3
Harvard University TCP/IP The Transmission Control
Protocol/Internet Protocol (TCP/IP) is the de facto standard
Ethernet protocol used for client/server conversations over a
network. TCP/IP enables an Oracle application on a client to
communicate with remote Oracle databases (if the Oracle database is
running on a host system that supports network communication using
TCP/IP).
Slide 4
Harvard University Oracle Networks The communication
architecture is based on the Open Systems Interconnection (OSI)
model The OSI model uses a communication stack where information
moves from one node to the other, through several layers of
code
Slide 5
Harvard University Communications Stack The concept of
distributed processing relies on the ability of computers separated
by both design and physical location to communicate and interact
with each other. This is accomplished through a process known as
stack communications. Stack communications can be explained by
referencing the Open Systems Interconnection (OSI) model.
Slide 6
Harvard University OSI URL More Information
http://www.ietf.org/ for information about the OSI stack
Slide 7
Harvard University OSI Communications Stack
Slide 8
Harvard University Oracle Client/Server Connections
Slide 9
Harvard University Communications Stack Client Application The
OSI layer closest to the user, and is dependent on the
functionality requested by the user. Presentation Ensures that data
is represented in a format that the application and session layers
can accommodate. This includes keeping track of syntax and
semantics of the data transferred between the client and
server.
Slide 10
Harvard University Communications Stack Session Establishes,
manages, and terminates network sessions between the client and
server. This is a virtual pipe that carries data requests and
responses. The session layer manages whether the data traffic can
go in both directions at the same time (asynchronous), or in only
one direction at a time (synchronous). Transport Implements the
data transport ensuring that the data is transported reliably.
Slide 11
Harvard University Communications Stack Network Ensures that
the data transported is routed through optimal paths, through a
series of interconnected sub-networks. Link Provides reliable
transit of data across a physical link. Physical Defines the
electrical, mechanical, and procedural specifications for
activating, maintaining and deactivating the physical link between
client and server.
Slide 12
Harvard University OSI Stack
Slide 13
Harvard University OSI Layers
Slide 14
Harvard University Oracle Stack
Slide 15
Harvard University Client Application Oracle client
applications provide data presentation and application flow. The
application identifies database operations to send to the server
and passes them through to the Oracle Call Interface (OCI).
Slide 16
Harvard University Oracle Call Interface (OCI) Oracle Call
Interface (OCI) code contains all the information required to
initiate a SQL dialog between the client and the server. It defines
the calls made to the server Parse SQL statements for syntax
validation Open a cursor for the SQL statement Close the
cursor
Slide 17
Harvard University Two-Task Common (TTC) This is Oracle s
implementation of the presentation layer. TTC provides character
set and data type conversion between different character sets or
formats on the client and server. It performs conversion only when
required At the time of initial connection, it determines if
conversions are required for the two computers to communicate.
Slide 18
Harvard University Oracle Net Oracle Net provides all the
session and transport layer functionality in an Oracle
communication stack. It is responsible for establishing and
maintaining the connection between the client application and
server, as well as exchanging messages between them. Oracle Net is
also responsible for mapping session functionality into
industry-standard protocols.
Slide 19
Harvard University Network Interface (NI) This layer provides a
generic interface for Oracle clients, servers, or external
processes to access Oracle Net functions. The NI layer handles the
"break" and "reset" requests for a connection. NI uses Network
Naming (NN) to resolve names to connect descriptors.
Slide 20
Harvard University Network Session (NS) This layer receives
requests from NI, and settles all generic machine-level
connectivity issues, such as: the location of the server NS uses
Network Route (NR) to route the network session to the destination
and Network Authentication (NA) to negotiate any authentication
requirements with the destination.
Slide 21
Harvard University Oracle Protocols Oracle protocols are Oracle
s implementation of the transport layer. Oracle protocols are
responsible for mapping NS functionality to industry-standard
protocols used in the client-server connection. protocol. Oracle
protocols include: TCP/IP TCP/IP with SSL SPX
Slide 22
Harvard University Network-Specific Protocols All Oracle
software in the client-server connection process requires an
existing network protocol stack to make the machine-level
connection between the two machines for the transport layer. The
network protocol is responsible only for getting the data from the
client machine to the server machine, at which point the data is
passed to the server-side Oracle protocol.
Slide 23
Harvard University Oracle Program Interface (OPI) Oracle
Program Interface (OPI) performs a complementary function to that
of the OCI. It is responsible for responding to each of the
possible messages sent by the OCI. For example, an OCI request to
fetch 25 rows would have an OPI response to return the 25 rows once
they have been fetched.
Slide 24
Harvard University Bequeath The Bequeath protocol enables
clients that exist on the same machine as the server to retrieve
information from the database without using the listener. The
Bequeath protocol internally spawns a dedicated server process for
each client application. Bequeath is used for local connections
where an Oracle client application, such as SQL*Plus, communicates
with an Oracle server running on the same machine
Slide 25
Harvard University Oracle Network Oracle Net, Net8(Oracle8) and
SQL*Net V2 (Oracle7) are used to connect a client to a server The
client is the application, in either a two- tier or 3-tier
architecture The server is the system where the database is located
Oracle Net and SQL*Net V2 are Oracle tools
Slide 26
Harvard University Oracle Network The Oracle Net software needs
to be installed on both client and and the server, for 2-tier
applications. It is part of the RDBMS installation 3-Tier or web
based applications do not need Oracle Net software installed on the
client
Slide 27
Harvard University Java Application Connections
Slide 28
Harvard University Web Connections
Slide 29
Harvard University Listener Connection
Slide 30
Harvard University Client/Server
Slide 31
Harvard University Oracle Network The Oracle Net software must
be installed on the Application Server and the Database Server, for
3-tier applications Oracle Net is also used to connect distributed
databases
Slide 32
Harvard University Application Server
Slide 33
Harvard University Server to Server
Slide 34
Harvard University Oracle Networks The Oracle Net for versions
Oracle10g and Oracle11g, supports connections to databases running
versions 7.3.4 or higher Each object in a database is uniquely
identified by its owner and its name With synonyms we learned that
the fully qualified object name, included the server name and the
instance name, the owner and the objects name
Slide 35
Harvard University Oracle Networks Oracle Net relies on a
series of configuration files The main file is the tnsnames.ora
file It is by default located in the /$ORACLE_HOME/network/admin
directory From Oracle8i onwards, we need to use the TNS_ADMIN shell
variable
Slide 36
Harvard University Oracle Networks This variable specifies the
location of the tnsnames.ora file. It can also be stored in a
general directory, like /var/opt/oracle or /etc
Slide 37
Harvard University Architecture The 3 main files for Oracle Net
and SQL*Net V2 are Tnsnames.ora Listener.ora Sqlnet.ora They are
located in the directory identified by the TNS_ADMIN variable echo
$TNS_ADMIN /u01/app/oracle/product/11.1.0/network/admin
Slide 38
Harvard University Architecture The sqlnet.ora holds some of
the parameter settings for sql*net The listener.ora file specifies
the configuration of the listener The tnsnames.ora file defines the
sid- mappings used to connect to a database. It is used by both the
client and server, to connect to the database
Slide 39
Harvard University Application Server
Slide 40
Harvard University Tnsnames This file can hold connect
descriptors to many databases The connect descriptor specifies the
communications protocol, server name and the instance name
Slide 41
Harvard University Connect Descriptors Every database requires
a connect descriptor. A connect descriptor describes the location
of the network listener and the system identifier (SID) of the
database to which to connect. Database connect descriptors commonly
consist of two sections: the listener ADDRESS the database SID
Slide 42
Harvard University CLASS.HARVARD.EDU = ----This is an alias
name (DESCRIPTION = (ADDRESS = (COMMUNITY = TCP.edu) (PROTOCOL =
TCP) (Host = kermit.dce.harvard.edu) (Port = 1521)) (CONNECT_DATA =
(SID = E256))) Connect Descriptors
Slide 43
Harvard University Tnsnames The protocol is TCP The HOST
kermit.dce.harvard.edu, is fully qualified The default port is
1521, another choice is 1526. These are the default ports that
Oracle Net uses. You can choose you own, for security
Slide 44
Harvard University Tnsnames CLASS.HARVARD.EDU is a service name
or alias All the service names with their associated connect
descriptors are stored in the tnsnames.ora file. All service names
must be unique within the tnsnames file
Slide 45
Harvard University Tnsnames To connect to a database using the
user scott and the password tiger, use the following connect string
sqlplus> scott/[email protected]
Slide 46
Harvard University Tnsnames The Oracle Net Assistant tool can
generate the connect descriptor
Slide 47
Harvard University Listeners Each database server must have a
listener.ora The listener.ora file lists the names and addresses of
all the listener processes on the machine and the instances they
support The Listener receives connections from Oracle Net and
SQL*Net V2 clients
Slide 48
Harvard University Listeners The listener.ora file is broken
into 4 parts The header section The address list The instance
definitions Operational parameters
Slide 49
Harvard University Listeners = -- The default name is LISTENER
(ADDRESS_LIST = (ADDRESS= (PROTOCOL= IPC)(KEY= E253)) (ADDRESS=
(PROTOCOL= IPC)(KEY= E256)) (ADDRESS(PROTOCOL=TCP)(Host=kermit)
(Port= 1521)) )
Harvard University Operational Parameters
STARTUP_WAIT_TIME_LISTENER = 0 ( startup immediately, it is the
time in seconds the listener will wait to start, after the startup
command) CONNECT_TIMEOUT_LISTENER = 10 ( time, in seconds, before
listener will accept new connections) TRACE_LEVEL_LISTENER = OFF
(admin,user,support)
Slide 52
Harvard University Operational Parameters LOGGING = ON ( OFF)
LOG_FILE = name of listener log file LOG_DIRECTORY = the directory
for the listener log file TRACE_FILE = name of listener trace file
TRACE_DIRECTORY = the directory for the listener trace file
Slide 53
Harvard University Operational Parameters In Oracle 10g and
Oracle11g the database instances register themselves with the
listener upon database startup
Slide 54 ">
Harvard University lsnrctl SunOS kermit 5.8 > lsnrctl
LSNRCTL for Solaris: Version 11.1.0 - (c) Copyright 1998 Oracle
Corporation. All rights reserved. Welcome to LSNRCTL, type "help"
for information. LSNRCTL>
Slide 55
Harvard University lsnrctl LSNRCTL> help The following
operations are available An asterisk (*) denotes a modifier or
extended command: start stop status services version reload
save_config trace spawn dbsnmp_start dbsnmp_stop dbsnmp_status
change_password debug test quit exit set* show*
Slide 56
Harvard University lsnrctl LSNRCTL>start -- To start the
listener SunOS kermit 5.8 >lsnrctl start LSNRCTL>stop -- To
stop the listener SunOS kermit 5.8 >lsnrctl stop
Slide 57
Harvard University lsnrctl EXIT or QUIT exits lsnrctl RELOAD
allows the changing of the listener services after the listener has
been started SAVE_CONFIG creates a backup of your existing
listener.ora and updates the listener.ora file with the changed
parameters
Slide 58
Harvard University lsnrctl SET can be used to define parameter
values
Slide 59
Harvard University Debugging telnet (ssh ) host_name ping
host_name tnsping LSNRCTL> status E256
Harvard University EZConnect Must have 10g or later client
installed Connect username/password@hostname:port/service_name
Connect user/password@mercury:12007/test For JDBC use Connect
username/password@//hostname:port/service_name Sql*net.ora file
must contain names.directory_path = (tnsnames EZCONNECT)
Slide 62
Harvard University The Oratab File Created when the rdbms is
installed. Its location is dependent on the operating system used.
For Solaris, its is located in /var/opt/oracle It contains a line
for each database
Slide 63
Harvard University The Oratab File SunOS kermit 5.8 > vi
oratab This file is used by ORACLE utilities. It is created by
root.sh A colon, ':', is used as the field terminator. A new line
terminates the entry. Lines beginning with a pound sign, '#', are
comments. # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME: :
E253:/u01/app/oracle/product/11.1.0dev:Y
E256:/u01/app/oracle/product /11.1.0dev:N
Slide 64
Harvard University The Oratab File The first and second fields
are the system identifier and home directory of the database
respectively. The third field indicates to the dbstart utility that
the database should, "Y", or should not, "N", be brought up at
system boot time. Multiple entries with the same $ORACLE_SID are
not allowed.
Slide 65
Harvard University Reading Oracle11g Net Services
Administrator's Guide Chap5 Architecture of Oracle Net
Services
Slide 66
Harvard University Mid-Term Next week Open book I will Email
the exam to all at 5:30PM next week It will also be posted on the
website You have 24 hours to complete and return the exam. It must
be returned by 5:30PM Thursday Others can come to class and do the
exam here.