Architecture of Oracle Network
Oracle NET
helps you connect users to the Oracle
database through TCP/IP, DECnet, IPX, and
many other LAN or WAN products. It allows
for Internet computing and Client/Server
architecture. The Client/Server architecture
requires you to maintain a local copy of
database connectivity and naming information
on the client side. This decentralization is
only viable an organization has a few users.
See the Connection for a client to a server
Figure. The following is an example of one
of Oracle connection type that most of
organizations use. A user by the CONNECT
command, will use a connect string (ex: SQL>
CONNECT
system/manager@connect_string).
A connect
string should map to a connect descriptor (tnsnames.ora),
which contains network-specific, host name,
Oracle SID, and specific port number.
Then looks for
the host named in the descriptor through the
network (LAN or WAN). Once found, makes a
call using the specific port (normally is:
1521 or 1526).
The listener
on the server always is listening or waiting
for a call using the same port number
(default is: 1521 or 1526). When the
listener hears a call, it will either reject
or accept the call. It will reject it only
if the user process requests a connection to
a SID that it doesn�t give service, has a
wrong password, or the database is down.
The System
Identifier (SID) is a unique name identifier
that is assigned to an instance in a server.
If accepted,
then the listener process assigns either a
new dedicated server, prespawned dedicated
server, or the least busy dispatcher to the
user process depending on the listener
configuration file (listener.ora).
If a listener
(listener.ora) was configured to use a
dedicated server process, then it generates
or spawns a new dedicated server for that
user process. Once the user process and
dedicated server shake hands, the listener
will be isolated.
Now, the user
process requests the dedicated server to
provide data on its behalf and when the user
process ends, the dedicated server ends too.
If a listener
was configured to use a shared server, then
it will provide the user process with the
least busy dispatcher process. Now, the user
process will establish a connection with the
dispatcher directly. The dispatcher process
will maintain a queue for the user process
to place its data requests on. Note that the
dispatcher has number of shared processes to
work with. They will pull the user�s request
off the queue in FIFO (First in First Out)
order and process the request in behalf of
the user process.
Note that even
after the user process finish, the
dispatchers and shared servers keep running.
They will keep running, regard less of any
user�s request.
Connection for
a client to a server Figure
You can use
the Oracle Net Services (Connect String) to
allow connections to various services, such
as Oracle databases, non-Oracle databases,
and external procedures.
SQL> CONNECT
oracle/learning@ net_service_name
You use Oracle
Net to provide basic network functions such
as connect and disconnect and data
operations.
Use the
listener process to detect and route
incoming requests from the clients. A
Listener accepts a connection request from a
client and forwards it to an Oracle
database.
Questions:
Q: What is a
protocol?
Q: How many
different ways can a user connect to the
Oracle database using Oracle NET?
Q: Describe a
connect string.
Q: What does a
connect descriptor contain?
Q: What is a
listener in the Oracle environment?
Q: What is a
System Identifier (SID) in an Oracle
database?
Q: What are
the relationships between a listener, user
processes, dedicated servers, shared
servers, and dispatchers?
Q: Describe
the following command.
SQL> CONNECT
oracle/learning@ net_service_name
|