Sunday, June 23, 2013

Basic flow in Oracle Server Architecture

Oracle database is a set of files. It's exists until we delete them intentionally. There is no practical limits to the number of these files, and therefore no practical limits to the size of a database.We can access database only through Oracle instance.

What is Oracle Instance is one of the basic question?
In Simple term, we can say that oracle instance is a set of processes and memory structure : it exits on CPU and in the memory of the server node, and its existence is temporary.
When an instance is started, Oracle database allocate a memory structure area called SGA (System Global Area) and starts one or more background processes.

How instance is look like?
image is taken from oracle site.

An instance can be started and stopped.An instance begins when it is created with the STARTUP command and ends when it is terminated.
During this period, an instance can associate itself with one and only one database.
Users of the database establish session against the instance, and the instance then manages all the access to database. Without instance, there is no way to interact with database. An instance with oracle database makes up an Oracle server.

The processing model implemented by Oracle Server is that of client-server processing, often called as two-tier.
In Client-Server model, the generation of the user interface and much of the application logic is separated from the management of the data. An application developed using SQL, this means that the client tier generate the SQL queries and the server tier executes them.
This is a basic client-server split, with a local area network between two sides. Oracle use Oracle proprietary protocol, Oracle Net  as communication protocol between user process and server process.

Client tier consists of 2 components:

  • the users
  • the user processes.

Server tier consists of 3 components:

  • server process the execute the sql
  • the instance
  • database itself

Interaction :

  1. Each user process interact with user process.
  2. Each user process interact with server process, usually across a local area network.
  3. The server process interact with instance, and instance with database.

A session is user process communication with server process. There will be usually one user process per user and one server process per user process.
The user and server process that make the session  are launched on demand by users and terminated when no longer required: this is call log-on and log-off cycle.
The instance process and memory structure are launched by the DBA and persist until DBA intentionlly terminate them: this is called database start-up and shut-down cycle.

Never forget that all the communication with an oracle server follows the client-server model. Even if the user process is running on the same machine as the server, the client-server split  is still
enforced and the network protocol  are still used for the communication between the two processes.

1 comment: