Oracle database |
: This page discusses the Oracle database (Oracle DBMS). For other uses of the word oracle , see Oracle (disambiguation)
An Oracle database, strictly speaking, consists of a collection of data managed by an Oracle database management system or DBMS. The term Oracle database sometimes refers - imprecisely - to the DBMS software itself. The title of this article - and parts of the article content - perpetuate this confusion.
One can refer to the Oracle Database management system unambiguously as Oracle DBMS or (since it manages databases which have relational database characteristics) as Oracle RDBMS.
Oracle Corporation itself blurs the very useful distinction 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 Central Intelligence Agency-funded project they had worked on while previously employed by Ampex.
=Database structure=
An Oracle database comprises an instance and data storage. The 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).
Oracle users refer to the server-side memory structure as the SGA (System Global Area). The SGA typically holds cache information like 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.
The Oracle RDBMS stores data logically in the form of Tablespaces and physically in the form of data Computer files . Tablespaces can contain various types of Memory 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 Block size (data storage and transmission) can vary.
Oracle 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) index (database)es and clusters. (A data dictionary consists of a special collection of table (database)s that contains information about all user object (computer science)s in the database). Since version 8i, the Oracle RDBMS also supports local tablespaces which can store their header information elsewhere rather than in the SYSTEM tablespace.
If the Oracle database administrator has instituted Oracle RAC (Real Application Clusters), then multiple instances 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) central processing unit resources from another node (computer) in the grid.
The Oracle DBMS can store and execute stored procedures and function (programming)s within itself. Such code can operate under PL SQL (Oracle Corporation s proprietary procedural extension to SQL), or under the object orientation language Java programming language.
An Oracle database installation traditionally comes 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 . (These names originated with Bruce Scott, one of the first employees at Oracle (then Software Development Laboratories), who had a cat named Tiger.)
=History=
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 database transactions, but implemented the basic SQL functionality of query and join (SQL)s. (RSI never released a version 1 - instead calling the first version version 2 as a marketing strategies.)
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 (data management) and Rollback (data management) functionality for database transactions. Version 3 extended platform support from the existing Digital Equipment Corporation VAX/VMS systems to include Unix environments.
In 1984 Oracle Corporation released Oracle version 4, which supported consistency model.
Starting 1985, the Oracle DBMS began supporting the Client-server model, with networks becoming available in the mid-1980s. Oracle version 5.0 supported distributed computing queries.
In 1988 Oracle Corporation entered the application softwares market and developed its Enterprise resource planning product - Oracle Financials based on the Oracle relational database. Oracle RDBMS version 6 came out with support for PL SQL, row-level lock (computer science)ing and hot backups.
In 1992 Oracle version 7 appeared with support for relational integrity constraints, stored procedures and database triggers.
In 1997 Oracle Corporation released version 8, which supported object orientation 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.
In 2001 Oracle9i appeared with 400 new features, including the facilty 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 .
=Version numbering conventions=
Other Oracle products may become confused with the Oracle RDBMS - these have historically followed their own release-numbering and naming conventions. As of the RDBMS 10g release, Oracle seems to have started to make an effort to standardize all current versions of its major products using the 10g label, although some sources often refer to Oracle Applications Release 11i as Oracle 11i . Major database-related products and some of their versions include:
Oracle s numbering conventions have confused many people; they warrant a brief explanation. Since version 7, Oracle s RDBMS release numbering has used the following codes:
Oracle Corporation sells an Enterprise Edition and a Standard Edition of the database, with the Enterprise Edition containing more features. Recently (from 10g), Oracle has added Standard Edition One , which has some additional feature-restrictions.
The version-numbering syntax within each release follows the pattern: major.maintenance.application-server.component-specific.platform-specific. 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.
=Host platforms=
Prior to releasing Oracle9i, Oracle Corporation ported the database engine to a wide variety of platforms. More recently, Oracle Corporation has consolidated on a smaller range of operating-system platforms.
As of 2005, Oracle Corporation supported the following operating-system platforms for Oracle Database 10g:
Linux IBM POWER currently has Release 1 Client status, with full release due by the end of 2005.
=Related products and tools=
In addition to its powerful RDBMS, Oracle has released several related suites of tools and applications.
Development of applications commonly takes place in Java (using Oracle JDeveloper) or through PL/SQL (using, for example, Oracle Forms and Oracle Reports). Oracle Corporation has started a drive toward wizard -driven environments with a view to enabling non-programmers to produce simple data-driven applications.
=Getting started=
Users new to Oracle who need to get databases up and running should check out the online documentation, the Oracle Technology Network site and the comp.databases.oracle Usenet discussion group. The Oracle [http://www.oracle.com/technology Technet] site offers downloads of fully-featured evaluation software. Users who have Oracle support-contracts should turn to Oracle s [http://metalink.oracle.com Metalink] website (requires password).
=List of firsts=
Oracle Corporation has provided:
=See also=
=External links=
*[http://www.oracle.com/technology/software/products/database/oracle10g/ Oracle Database] *[http://docs.oracle.com On-line documentation] *[http://www.oracle.com/technology/index.html Oracle Technology Network] *[http://w2.syronex.com/jmr/edu/db/ An introduction to Oracle] - tutorial series *[http://metalink.oracle.com Metalink, Oracle s online support site] - requires a password *[http://www.orafaq.com/ The Oracle FAQ] *[http://www.psoug.org/reference/ Morgan s Library] - an Oracle reference with lots of code examples *[http://asktom.oracle.com Ask Tom] - Oracle questions addressed by Thomas Kyte *[http://www.ilook.fsnet.co.uk/index/oracle.htm Oracle/SQL info] - Oracle/sql tutorial|
|