0% found this document useful (0 votes)
38 views4 pages

DB Architechture

DB architechture

Uploaded by

chandu518cse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views4 pages

DB Architechture

DB architechture

Uploaded by

chandu518cse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

What is An Oracle Database?

Basically, there are two main components of Oracle database –– instance and database itself. An instance
consists of some memory structures and the background processes, whereas a database refers to the disk
resources. Figure 1 will show you the relationship.

Figure 1. Two main components of Oracle database

Instance
Database files themselves are useless without the memory structures and processes to interact with the
database. Oracle defines the term instance as the memory structure and the background processes used to
access data from a database. The memory structures and background processes contitute an instance. The
memory structure itself consists of System Global Area (SGA), Program Global Area (PGA), and an optional
area –– Software Area Code. In the other hand, the mandatory background processes are Database Writer
(DBWn), Log Writer (LGWR), Checkpoint (CKPT), System Monitor (SMON), and Process Monitor (PMON). And
another optional background processes are Archiver (ARCn), Recoverer (RECO), etc. Figure 2 will illustrate
the relationship for those components on an instance.
Figure 2. The instance components

System Global Area


SGA is the primary memory structures. When Oracle DBAs talk about memory, they usually mean the SGA.
This area is broken into a few of part memory –– Buffer Cache, Shared Pool, Redo Log Buffer, Large Pool, and
Java Pool.

Buffer Cache
Buffer cache is used to stores the copies of data block that retrieved from datafiles. That is, when user
retrieves data from database, the data will be stored in buffer cache. Its size can be manipulated via
DB_CACHE_SIZE parameter in init.orainitialization parameter file.
Shared Pool
Shared pool is broken into two small part memories –– Library Cache and Dictionary Cache. The library
cache is used to stores information about the commonly used SQL and PL/SQL statements; and is managed
by a Least Recently Used (LRU) algorithm. It is also enables the sharing those statements among users. In
the other hand, dictionary cache is used to stores information about object definitions in the database,
such as columns, tables, indexes, users, privileges, etc.
The shared pool size can be set via SHARED_POOL_SIZE parameter in init.orainitialization parameter file.
Redo Log Buffer
Each DML statement (select, insert, update, and delete) executed by users will generates the redo
entry. What is a redo entry? It is an information about all data changes made by users. That redo entry is
stored in redo log buffer before it is written into the redo log files. To manipulate the size of redo log buffer,
you can use the LOG_BUFFER parameter in init.ora initialization parameter file.
Large Pool
Large pool is an optional area of memory in the SGA. It is used to relieves the burden place on the shared
pool. It is also used for I/O processes. The large pool size can be set by LARGE_POOL_SIZE parameter
in init.ora initialization parameter file.
Java Pool
As its name, Java pool is used to services parsing of the Java commands. Its size can be set by
JAVA_POOL_SIZE parameter in init.ora initialization parameter file.
Program Global Area
Although the result of SQL statemen parsing is stored in library cache, but the value of binding variable will
be stored in PGA. Why? Because it must be private or not be shared among users. The PGA is also used for
sort area.

Software Area Code


Software area code is a location in memory where the Oracle application software resides.

Oracle processes
There are two categories of processes that run with an Oracle database. They are mentioned below:

 User processes
 System processes
The following figure illustrates the relationship between user processes, server processes, PGA, and session:

The first interaction with the Oracle-based application comes from the user computer that creates a user
process. The user process then communicates with the server process on the host computer. Here, PGA is
used to store session specific information.
Oracle Background Processes
Oracle background processes is the processes behind the scene that work together with the memories.

DBWn
Database writer (DBWn) process is used to write data from buffer cache into the datafiles. Historically, the
database writer is named DBWR. But since some of Oracle version allows us to have more than one database
writer, the name is changed to DBWn, where n value is a number 0 to 9.

LGWR
Log writer (LGWR) process is similar to DBWn. It writes the redo entries from redo log buffer into the redo log
files.

CKPT
Checkpoint (CKPT) is a process to give a signal to DBWn to writes data in the buffer cache into datafiles. It
will also updates datafiles and control files header when log file switch occurs.

SMON
System Monitor (SMON) process is used to recover the system crash or instance failure by applying the
entries in the redo log files to the datafiles.

PMON
Process Monitor (PMON) process is used to clean up work after failed processes by rolling back the
transactions and releasing other resources.

You might also like