Beruflich Dokumente
Kultur Dokumente
Users of the Oracle databases refer to the server-side memory-structure as the SGA (System
Global Area). The SGA typically holds cache information such as data-buffers, SQL commands,
and user information. In addition to storage, the database consists of online redo logs (or logs),
which hold transactional history. Processes can in turn archive the online redo logs into archive
logs (offline redo logs), which provide the basis (if necessary) for data recovery and for some
forms of data replication.
If the Oracle database administrator has implemented Oracle RAC (Real Application Clusters),
then multiple instances, usually on different servers, attach to a central storage array. This
scenario offers advantages such as better performance, scalability and redundancy. However,
support becomes more complex, and many sites do not use RAC. In version 10g, grid computing
introduced shared resources where an instance can use (for example) CPU resources from
another node (computer) in the grid.
The Oracle DBMS can store and execute stored procedures and functions within itself. PL/SQL
(Oracle Corporation's proprietary procedural extension to SQL), or the object-oriented language
Java can invoke such code objects and/or provide the programming structures for writing them.
[edit] Storage
The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form of
data files ("datafiles").[5] Tablespaces can contain various types of memory segments, such as
Data Segments, Index Segments, etc. Segments in turn comprise one or more extents. Extents
comprise groups of contiguous data blocks. Data blocks form the basic units of data storage.
There is also a partitioning feature available on newer versions of the database, which allows
tables to be partitioned based on different set of keys. Specific partitions can then be easily added
or dropped to help manage large data sets.
Oracle database management tracks its computer data storage with the help of information stored
in the SYSTEM tablespace. The SYSTEM tablespace contains the data dictionary—and often (by
default) indexes and clusters. A data dictionary consists of a special collection of tables that
contains information about all user-objects in the database. Since version 8i, the Oracle RDBMS
also supports "locally managed" tablespaces which can store space management information in
bitmaps in their own headers rather than in the SYSTEM tablespace (as happens with the default
"dictionary-managed" tablespaces). Version 10i and later introduced the SYSAUX tablespace
which contains some of the tables formerly in the SYSTEM tablespace.
[edit] Disk files
At the physical level, data files comprise one or more data blocks, where the block size can vary
between data files.
Data files can occupy pre-allocated space in the file system of a computer server, utilize raw disk
directly, or exist within ASM logical volumes.[6]
* maxlogfile
* maxlogmembers
* maxloghistory
* maxinstances
* control_file_record_keep_time
Oracle database conventions refer to defined groups of object ownership (generally associated
with a "username") as schemas.
Most Oracle database installations traditionally came with a default schema called SCOTT. After
the installation process has set up the sample tables, the user can log into the database with the
username scott and the password tiger. The name of the SCOTT schema originated with Bruce
Scott, one of the first employees at Oracle (then Software Development Laboratories), who had a
cat named Tiger.[7]
Oracle Corporation has de-emphasized the use of the SCOTT schema, as it uses few of the
features of the more recent releases of Oracle. Most recent examples supplied by Oracle
Corporation reference the default HR or OE schemas.
Each Oracle instance uses a System Global Area or SGA—a shared-memory area—to store its
data and control-information.[12]
Each Oracle instance allocates itself an SGA when it starts and de-allocates it at shut-down time.
The information in the SGA consists of the following elements, each of which has a fixed size,
established at instance startup:
• the redo log buffer: this stores redo entries—a log of changes made to the database. The
instance writes redo log buffers to the redo log as quickly and efficiently as possible. The
redo log aids in instance recovery in the event of a system failure.
• the shared pool: this area of the SGA stores shared-memory structures such as shared
SQL areas in the library cache and internal information in the data dictionary. An
insufficient amount of memory allocated to the shared pool can cause performance
degradation.
The library cache[13] stores shared SQL, caching the parse tree and the execution plan for every
unique SQL statement. If multiple applications issue the same SQL statement, each application
can access the shared SQL area. This reduces the amount of memory needed and reduces the
processing-time used for parsing and execution planning.
The data dictionary comprises a set of tables and views that map the structure of the database.
Oracle databases store information here about the logical and physical structure of the database.
The data dictionary contains information such as:
The Program Global Area[15][16] or PGA memory-area of an Oracle instance contains data and
control-information for Oracle's server-processes.
The size and content of the PGA depends on the Oracle-server options installed. This area
consists of the following components:
• stack-space: the memory that holds the session's variables, arrays, and so on.
• session-information: unless using the multithreaded server, the instance stores its session-
information in the PGA. (In a multithreaded server, the session-information goes in the
SGA.)
• private SQL-area: an area in the PGA which holds information such as bind-variables and
runtime-buffers.
• sorting area: an area in the PGA which holds information on sorts, hash-joins, etc.
The dynamic performance views (also known as "fixed views") within an Oracle database
present information from virtual tables (X$ tables[17]) built on the basis of database memory.[18]
Database users can access the V$ views (named after the prefix of their synonyms) to obtain
information on database structures and performance.
The Oracle RDBMS typically relies on a group of processes running simultaneously in the
background and interacting to monitor and expedite database operations. Typical operating
environments might include some of the following individual processes (shown along with their
abbreviated nomenclature):[19]
Oracle databases control simultaneous access to data resources with locks (alternatively
documented as "enqueues"[29] ). The databases also utilize "latches" -- low-level serialization
mechanisms to protect shared data structures in the System Global Area.[30]
[edit] Configuration
Database administrators control many of the tunable variations in an Oracle instance by means of
values in a parameter file.[31] This file in its ASCII default form ("pfile") normally has a name of
the format init<SID-name>.ora. The default binary equivalent server paramater file ("spfile")
(dynamically reconfigurable to some extent)[32] defaults to the format spfile<SID-name>.ora.
Within an SQL-based environment, the views V$PARAMETER[33] and V$SPPARAMETER[34] give
access to reading parameter values.
[edit] Internationalization
Oracle Database software comes in 63 language-versions (including regional variations such as
British English and American English). Variations between versions cover the names of days and
months, abbreviations, time-symbols such as A.M. and A.D., and sorting.[35]
Oracle Corporation has translated Oracle Database error-messages into Arabic, Catalan, Chinese,
Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hungarian, Italian,
Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish,
Swedish, Thai and Turkish.[36]
Oracle Corporation provides database developers with tools and mechanisms for producing
internationalized database applications: referred to internally as "Globalization". [37] ".[38]
[edit] History
[edit] Corporate/technical timeline
Oracle products have historically followed their own release-numbering and naming
conventions. With the Oracle RDBMS 10g release, Oracle Corporation started standardizing all
current versions of its major products using the "10g" label, although some sources continued to
refer to Oracle Applications Release 11i as Oracle 11i. The suffixes of "i" and "g" do not actually
represent a lower-order level of version numbering, as letters typically represent in software
industry version numbering. That is, there is no predecessor version of Oracle 10g called Oracle
10f. Instead, the letters merely represent a marketing gimmick to demonstrate Oracle's focus on
the "internet" and "grid", respectively. Consequently, many simply drop the letter suffix when
referring to Oracle versions. Major database-related products and some of their versions include:
• Oracle Application Server 10g (also known as "Oracle AS 10g"): a middleware product;
• Oracle Applications Release 11i (aka Oracle e-Business Suite, Oracle Financials or
Oracle 11i): a suite of business applications;
• Oracle Developer Suite 10g (9.0.4);
• Oracle JDeveloper 10g: a Java integrated development environment;
Since version 5, Oracle's RDBMS release numbering has used the following codes:
• Oracle v5
• Oracle v6
• Oracle7: 7.0.16—7.3.4
• Oracle8 Database: 8.0.3—8.0.6
• Oracle8i Database Release 1: 8.1.5.0—8.1.5.1
• Oracle8i Database Release 2: 8.1.6.0—8.1.6.3
• Oracle8i Database Release 3: 8.1.7.0—8.1.7.4
• Oracle9i Database Release 1: 9.0.1.0—9.0.1.5 (patchset as of December 2003)
• Oracle9i Database Release 2: 9.2.0.1—9.2.0.8 (patchset as of April 2007)
• Oracle Database 10g Release 1: 10.1.0.2—10.1.0.5 (patchset as of February 2006)
• Oracle Database 10g Release 2: 10.2.0.1—10.2.0.5 (patchset as of April 2010)
• Oracle Database 11g Release 1: 11.1.0.6—11.1.0.7 (patchset as of September 2008)
• Oracle Database 11g Release 2: 11.2.0.1—11.2.0.2 (patchset as of November 2010)
For example, "10.2.0.1 for 64-bit Solaris" means: 10th major version of Oracle, maintenance
level 2, Oracle Application Server (OracleAS) 0, level 1 for Solaris 64-bit.
The Oracle Administrator's Guide offers further information on Oracle release numbers.