The Oracle architecture consists of 3 main parts - the instance, database, and processes. The instance includes the System Global Area (SGA) memory structure and background processes. The database comprises data files, control files, and redo log files. There are user processes that submit SQL statements and server processes that execute the statements, with each server process having its own Program Global Area (PGA) memory.
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
223 views
Oracle Architecture
The Oracle architecture consists of 3 main parts - the instance, database, and processes. The instance includes the System Global Area (SGA) memory structure and background processes. The database comprises data files, control files, and redo log files. There are user processes that submit SQL statements and server processes that execute the statements, with each server process having its own Program Global Area (PGA) memory.
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5
ORACLE ARCHITECTURE
The Oracle server is an object relational database management system
that provides an open, comprehensive, integrated approach to information management.
Basically the architecture can be said to comprise of 3 parts:
1) INSTANCE 2) DATABASE 3) PROCESS
An Oracle INSTANCE is the combination if the background process
and memory structures. The instance must be started to access the data in the database.
A DATABASE consists of data files, control files and redolog files
along with the storage.
There are several PROCESSES, memory structures and files in an
oracle server. However not all of them processing a SQL statement. Some are used to improve the performance of the database, ensure that the database can be recovered in the event of a software or hardware error, or perform other tasks necessary to maintain the database.
STRUCTURE OF ORACLE INSTANCE:
The Oracle instance consists of the SGA memory
structure and the background process used to manage a database. An instance is identified by using methods specific to each operating system. The instance can open and use only one database at a time.
(A) SYSTEM GLOBAL AREA(SGA):
SGA is a memory area used to store database
information that is shared by database process. It contains data and control information for the oracle server. It is allocated in the virtual memory of the computer where the oracle server resides.
The SGA consists of several memory structures:
(1) Shared Pool: It is used to store the most recently executed
SQL statements and the most recently used data from the data dictionary. These SQL statements may be submitted by a user process or , in the case of stored procedures read from the data dictionary.
(2) Database buffer cache: It is used to store the most recently
used data. The data is read from , and written to the data files.
(3) Redo Log buffer: It is used to track changes made to the
database by the server and background process
(4) Java Pool: It is used to store any Java code.
(5) Large Pool: It is used to store memory structures not
directly related to SQL statement processing.
The last two memory structures are optional memory
structures in the SGA.
(B) BACKGROUND PROCESS:
It is an instance that performs the common functions
that are needed to service request from concurrent users without compromising the integrity and performance of the system. They consolidate functions that would otherwise be handled by multiple oracle programs running for each user.The background process performs I/O and monitor other oracle processes to provide increased parallelism for better performance and reliability.
An Oracle instance includes these five background process :
1) DATABASE WRITER (DBW0): It is responsible for writing changed data from the database buffer cache to the data files. 2) LOG WRITER (LGWR): It writes changes registered in the Redo log buffer to the redolog files. 3) SYSTEM MONITOR (SMON): It checks for the consistency of the database and if necessary, initiates recovery of the database when the database is opened. 4) PROCESS MONITOR (PMON): It cleans up resources if one of the oracle processes fails. 5) CHECKPOINT PROCESS (CKPT): It is responsible for updating database status information in the control files and data files whenever changes in the buffer cache are permanently recorded in the database.
DATABASE FILE STRUCTURE:
An Oracle database is a collection of data that is
treated as a unit. The general purpose of a database is to store and retrieve related information. The database has a logical structure and physical structure. The physical structure of the database is the set of operating system files in the database.
An oracle database consists of three file types:
1) DATA FILES: They contain actual data in the database. The
data is stored in user-defined tables, but data files also contain data dictionary, before images of modified data, indexes, and other type of structures. A database has at least one data file. 2) CONTROL FILES: They contain information necessary to maintain and verify database integrity. For example a control file is used to identify the data files and redolog files. A database needs at least one control file. 3) REDO LOG FILES: They contain a record of changes made to the database to enable recovery of the data in case of failure. A database requires at least two such files. Other than these the oracle server also uses other files that are not part of the database such as PARAMETER FILE, which defines the characteristics of an oracle instance. For example it contains parameters that size some of the memory structure in the SGA; PASSWORD FILE, authenticates which users are permitted to start up and shut down an oracle instance; ARCHIVED REDO LOG FILES , are offline copies of redolog files that may be necessary to recover from media failures.
PROCESSES:
Basically, they are two types of processes:
1) USER PROCESS: It is an application program that
organizes SQL statements .
2) SERVER PROCESS: It executes the SQL statements sent
from the user process. The data and control information for a server process is stored in a memory region known as the PROGRAM GLOBAL AREA (PGA).
PGA is a non shared memory created by oracle when a
server process is started. Access to it is exclusive to that server process and is read and written only by the oracle server code acting on behalf of it. The PGA memory allocated by each server process attached to an oracle instance is referred to as the aggregated PGA memory allocated by the instance.
In a dedicated server configuration, the PGA of the
server includes these components:
1) SORT AREA: It is used for any sorts that may be
required to process SQL statements. 2) SESSION INFORMATION: It includes user privileges and performance statistics for the session. 3) CURSOR STATE: It indicates the stage in the processing of the SQL statements that are currently used by the session. 4) STACK SPACE: It contains other session variables.
The PGA is allocated when the process is created and