"The future belongs
to those who believe in the beauty of their dreams."
-Eleanor Roosevelt |
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. The following is an example of it.
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 iself/schooling@ 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.
"Justice delayed
is justice denied." -William Gladstone |
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 iself/schooling@ net_service_name
|