Since 1999     References  |  Search more  | Oracle Syntax  | Free Online Oracle Problem Solver

    .Home      .Subscribe     .Login      .Start Learning      .Certification      .Cancel      .Password Reminder      .Password Change     .Sign out


. Online Accounting        .Copyright & User Agreement   |
    .Vision      .Biography     .Acknowledgement

.Contact Us      .Comments/Suggestions       .Email2aFriend    |


Online Oracle Training for beginners and advanced - The most comprehensive Oracle tutorial

The authors do not guarantee or take any responsibility for the accuracy, or completeness of the information.

DBAs - Fundamentals II


Lesson 01 | Lesson 02 | Lesson 03 | Lesson 04 | Lesson 05 | Lesson 06 | Lesson 07 | Lesson 08 | Lesson 09 | Lesson 10 | Lesson 11 | Lesson 12 | Lesson 13 | Lesson 14 | Lesson 15 | Lesson 16 | Lesson 17 | Lesson 18 | Lesson 19 | Lesson 20 | Lesson 21 | Lesson 22 | Lesson 23 | Lesson 24 | Lesson 25 | Lesson 26 | Lesson 27 | Lesson 28 | Lesson 29 |


Lesson 24

ď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



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