| PeopleSoft

Oracle Database

An Oracle database consists of a collection of data managed by an Oracle database management system. Popular generic usage also uses the term to refer to the Oracle DBMS management software, but not necessarily to a specific database under its control.

One can refer to the Oracle database management system unambiguously as Oracle DBMS or (since it manages databases which have relational characteristics) as Oracle RDBMS.

Oracle Corporation blurs the distinctions between: data managed by an Oracle RDBMS, an Oracle database, and the Oracle RDBMS software itself when it refers nowadays to the Oracle RDBMS (the software it sells for the purpose of managing databases) as the Oracle Database.

The distinction between the managed data (the database) and the software which manages the data (the DBMS / RDBMS) relies, in Oracle's marketing literature, on the capitalisation of the word database.

Oracle Corporation produces and markets the Oracle DBMS, which many database applications use extensively on many popular computing platforms.

Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates - who had started a consultancy called Software Development Laboratories (SDL) - developed the original Oracle DBMS software. They called their finished product Oracle after the code name of a CIA-funded project they had worked on while previously employed by Ampex.

Physical and logical structuring

An Oracle database comprises at least one instance, along with data storage. An instance comprises a set of operating system processes and memory structures that interact with the storage. Typical processes include PMON (the process monitor) and SMON (the system monitor).

Users of 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 (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.

The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form of data files. Tablespaces can contain various types of segments, for example, 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. At the physical level, data-files comprise one or more data blocks, where the blocksize can vary between data-files.

Oracle database management keeps track of its 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).

If the Oracle database administrator has instituted Oracle RAC (Real Application Clusters), then multiple instances, usually on different servers, attach to a central storage array. This scenario offers numerous advantages, most importantly performance, scalability and redundancy. However, support becomes more complex, and many sites do not use RAC. In version 10g, grid computing has 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.

Corporate and technical development

Larry Ellison founded Software Development Laboratories in 1977. In 1979 SDL changed its company-name to Relational Software, Inc. (RSI) and introduced its product Oracle V2 as an early commercially-available relational database system. The version did not support transactions, but implemented the basic SQL functionality of queries and joins. (RSI never released a version 1 - instead calling the first version version 2 as a marketing gimmick.)

In 1983, RSI in its turn changed its name, becoming known as Oracle Corporation to align itself more closely with its flagship product. The company released Oracle version 3, which it had re-written using the C programming language and which supported COMMIT and ROLLBACK functionality for transactions. Version 3 extended platform support from the existing Digital VAX/VMS systems to include Unix environments.

In 1984 Oracle Corporation released Oracle version 4, which supported read-consistency.
From 1985 the Oracle DBMS began supporting the client-server model, with networks becoming available in the mid-1980s. Oracle version 5.0 supported distributed queries.

In 1989 Oracle Corporation entered the application products market and developed its ERP product - Oracle Financials based on the Oracle relational database. Oracle RDBMS version 6 came out with support for PL/SQL, row-level locking and hot backups.

In 1992 Oracle version 7 appeared with support for referential integrity, stored procedures and triggers.

In 1997 Oracle Corporation released version 8, which supported object-oriented development and multimedia applications.

In 1999 Oracle8i came out, aiming to operate more in tune with the needs of the Internet (The i in the name stands for "Internet"). The Oracle 8i database incorporated a native Java virtual machine (JVM).

In 2001 Oracle9i appeared with 400 new features, including the ability to read and write XML documents. 9i also provided an option for Oracle RAC, or Real Application Clusters, a computer cluster database, as a replacement for the Oracle Parallel Server (OPS) option.

In 2003, Oracle Corporation released Oracle Database 10g. The g stands for "grid"; emphasizing a marketing thrust of presenting 10g as "grid-computing ready".

In 2005 Oracle Database 10.2.0.1 — also known as Oracle Database 10g Release 2 (10gR2) — appeared.