Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Arch 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

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.

Logical Structure

The logical structure for Oracle RDBMS consists of the following elements:

• Tablespace
• Schema
Tablespace

The Oracle database consists of one or more logical portions called as


‘Tablespaces’. A tablespace is a logical grouping of related data.

A database administrator can use Tablespaces to do the following:

• Control disk space allocation for database data.


• Assign specific space quotas for database users.

• Perform partial database backup or recovery operations.


• Allocate data storage across devices to improve performance.
Each database has at least one Tablespace called SYSTEM Tablespace. As part of the
process of creating the database, Oracle automatically creates the SYSTEM tablespace.
Although a small database can fit within the SYSTEM tablespace, it's recommended that to
create a separate tablespace for user 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’.

Data Blocks
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.

Extents
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.

Segments
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.

An Oracle database can use four types of segments:

• Data segment--Stores user data within the database.


• Index segment--Stores indexes.
• Rollback segment--Stores rollback information. This information is used when data must be
rolled back.
• Temporary segment--Created when a SQL statement needs a temporary work area; these
segments are destroyed when the SQL statement is finished. These segments are used during
various database operations, such as sorts.
Schema
The database schema is a collection of logical-structure objects, known as schema objects
that define how you see the database's data. A schema also defines a level of access for the
users. All the logical objects in oracle are grouped into a schema.

A scheme is a logical grouping of objects such as:

• Tables
• Clusters
• Indexes
• Views
• Stored procedures
• Triggers
• Sequences
Physical Structure
The physical layer of the database consists of three types of files:
1. One or more Datafiles
2. Two or more redo log files
3. One or more control files
Datafiles (.dbf files):

Datafiles store the information contained in the database. One can have as few as one data
file or as many as hundreds of datafiles. The information for a single table can span many
datafiles or many tables can share a set of datafiles. Spreading tablespaces over many
datafiles can have a significant positive effect on performance. The number of datafiles that
can be configured is limited by the Oracle parameter MAXDATAFILES.

Redo Log Files (.rdo & .arc):


Oracle maintains logs of all the transaction against the database. These transactions are
recorded in files called Online Redo Log Files (Redo Logs). The main purpose of the Redo log
files is to hold information as recovery in the event of a system failure. Redo log stores a log
of all changes made to the database. The redo log files must perform well and be protected
against hardware failures (through software or hardware fault tolerance). If redo log
information is lost, one cannot recover the system.

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 an

Oracle 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.

Control Files (.ctl):


Control files record control information about all of the files within the database. These files
maintain internal consistency and guide recovery operation. Control files contain information
used to start an instance, such as the location of datafiles and redo log files; Oracle needs
this information to start the database instance. Control files must be protected. Oracle
provides a mechanism for storing multiple copies of control files. These multiple copies are
stored on separate disks to minimize the potential damage due to disk failure. The names of
the database’s control files are specified via the CONTROL_FILES initialization parameter.

Next Page: Oracle 10g Free Training: Oracle Concepts and Database Architecture - Page 2

You might also like