Racle G Rchitecture With Iagram: U N: 3 N Oracle 11g New Features
Racle G Rchitecture With Iagram: U N: 3 N Oracle 11g New Features
| Help | Sign in
Search Toolkit
------------------------------------------------------------------------------------------------------------------------------------------------------------
--
Oracle is an RDBMS (Relational Database Management System). The Oracle database architecture can be described
in terms of logical and physical structures. The advantage of separating the logical and physical structure is that the
physical storage structure can be changed without affecting the logical structure.
L OGICAL S TRUCTURE
The logical structure for Oracle RDBMS consists of the following elements:
Tablespace
Schema
T ABLESPACE
The Oracle database consists of one or more logical portions called as ‘Tablespaces’. A tablespace is a logical
grouping of related data.
Oracle uses the SYSTEM tablespace to store information like the data dictionary. Data dictionary stores the metadata
(or the data about data). This includes information like table access permissions, information about keys etc.
Data is stored in the database in form of files called as datafiles. Each Tablespace is a collection of one or more
Datafiles. Each data file consists of ‘Data blocks’, ‘extents’ and ‘segments’.
D ATA B LOCKS
At the finest level of granularity, an ORACLE database's data is stored in data blocks (also called logical blocks,
ORACLE blocks, or pages). An ORACLE database uses and allocates free database space in ORACLE data blocks.
E XTENTS
The next level of logical database space is called an extent. An extent is a specific number of contiguous data blocks
that are allocated for storing a specific type of information.
S EGMENTS
The level of logical database storage above an extent is called a segment. A segment is a set of extents that have
been allocated for a specific type of data structure, and all are stored in the same tablespace. For example, each
table's data is stored in its own data segment, while each index's data is stored in its own index segment.ORACLE
allocates space for segments in extents. Therefore, when the existing extents of a segment are full, ORACLE
allocates another extent for that segment. Because extents are allocated as needed, the extents of a segment may or
may not be contiguous on disk, and may or may not span files.
P HYSICAL S TRUCTURE
The physical layer of the database consists of three types of files:
When a transaction occurs in the database, it is entered in the redo log buffers, while the data blocks affected by the
transactions are not immediately written to disk. In anOracle database there are at least three or more Redo Log files.
Oracle writes to redo log file in a cyclical order i.e. after the first log file is filled, it writes to the second log file, until that
one is filled. When all the Redo Log files have been filled, it returns to the first log file and begin overwrite its content
with new transaction data. Note, if the database is running in the ARCHIVELOG Mode, the database will make a copy
of the online redo log files before overwriting them.
1 User-related processes
2 Logical memory structures that are collectively called an Oracle instance
3 Physical file structures that are collectively called a database
User Processes:
At the user level, two processes allow a user to interact with the instance and, ultimately, with the database: the User
Process and the Server Process. Whenever a user runs an application, such as a human resources or order-taking
application, Oracle starts a User Process to support the user's connection to the instance. Depending on the technical
architecture of the application, the User Process exists either on the user's own PC or on the middle-tier application
server. The User Process then initiates a connection to the instance. Oracle calls the process of initiating and
maintaining communication between the User Process and the instance a connection. Once the connection is made,
the user establishes
a session in the instance.
After establishing a session, each user then starts a Server Process on the host server itself. It is this Server Process
that is responsible for performing the tasks that actually allow the user to interact with the database.
In addition to the User and Server processes that are associated with each user connection, an additional memory
structure called the Program Global Area (PGA) is also created for each user. The PGA stores user-specific session
information such as bind variables and session variables. Every Server Process on the server has a PGA memory
area.
Required Components
Shared Pool (Required) :Caches the most recently used SQL statements that have been issued by database users
Database Buffer Cache (Required) : Caches the data that has been most recently accessed by database users
Redo Log Buffer (Requires) : Stores transaction information for recovery purposes
Java Pool (Optional): Caches the most recently used Java objects and application code when Oracle's JVM option is
used
Large Pool (Optional):: Caches data for large operations such as Recovery Manager
(RMAN) backup andrestore activities and Shared Server components
Streams Pool (Optional): Caches the data associated with queued message requests when Oracle's Advanced
Queuing option is used
With the advent of so many big enterprises, the need to create a more sophisticated DBMS has also increased. For
appointment as a DBA, a high level of skill and expertise is required. The major tasks that should be performed by a
DBA are as follows:
Judging what server hardware will be required to run the Oracle 10g database software
Installing and configuring the Oracle 10g database software on the server hardware
Creating a database and managing tables and other database objects
Creating and managing database users
Configuring backup and recovery processes for the database
Monitoring and tuning the database performance
Now, the point is how a DBA can perform the above-mentioned tasks. To perform all these tasks in an efficient
manner, a DBA must be very well versed with the underlying Oracle architecture.
The Oracle server architecture
The Oracle server architecture is basically categorized as follows:
Logical layer
Physical layer
The logical layer comprises one or more tablespaces and the database schema. The database schema consists of
tables, clusters, indexes, views, procedures, triggers, sequences, and so on. The database schema is a collection of
schema objects.
The relationship between segments, extents, and data blocks
The hierarchy of Oracle disk-space management is as follows:
Tablespaces: These are at the highest level of Oracle disk-space management.
Segments
Extents
Data blocks: These are at the lowest level of Oracle disk-space management.
The figure below depicts the relationship between segments, extents, and data blocks:
The figure above shows various components of SGA, Oracle background processes, and their interactions with
control files, data files, Redo Log files, and archived redo logs.
The Oracle instance
The Oracle instance consists of SGA and all the Oracle background processes. To manage the size of SGA, two
initialization parameter files known as PFILE and SPFILE are used. There are a total of 250-initialization parameters.
PFILE holds 30 of those 250 initialization parameters. Oracle does not recommend modifying the rest of the 220
initialization parameters.
This article has described the various facts involved in order to understand the underlying Oracle architecture. After
reviewing this article, the database user is now well equipped to understand several components of Oracle
architecture.
COMMENTS
Sign in to write a comment
Narayana Rao K.V.S.S.
V ERY APPEALING
The knol looks good. Shall cover your profile in Knol Author News.
Covered
http://knol.google.com/k/narayana-rao-k-v-s-s/knol-author-news/2utb2lsm2k7a/2511#
Using this feature in ODP.NET, an application can maintain the validity of the client-side cache (for example,
the ADO.NET DataSet) easily. The client does not need to maintain a connection to the database. It will receive
notifications even when no longer connected to the database.
Hoping it helps....
Thnks,
sj
PMON is responsible for cleaning up the database buffer cache and freeing resources that the user process was
using. For example, it resets the status of the active transaction table, releases locks, and removes the process ID
from the list of active processes.
LGWR cannot write to the redo log file to commit these transactions until it has completed its previous write operation.
After the first transaction's entries are written to the redo log file, the entire list of redo entries of waiting transactions
(not yet committed) can be written to disk in one operation, requiring less I/O than do transaction entries handled
individually. Therefore, Oracle minimizes disk I/O and maximizes performance of LGWR.
Thank you
Samay Vaid
Lava Kafle
Mayur V
Article rating:
Your rating:
Moderated collaboration
Version: 19
Versions
REVIEWS
Be the first to review this knol
CATEGORIES
Sign in to add or vote for categories
T OTALS :
15252pageviews
13comments
©2009 Google