Oracle Database: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Line 47: Line 47:


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 transaction | transaction]]s, but implemented the basic SQL functionality of [[query | queries]] and [[join (SQL) | join]]s. (RSI never released a version 1 - instead calling the first version ''version 2'' as a [[marketing strategies | marketing gimmick]].)
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 transaction | transaction]]s, but implemented the basic SQL functionality of [[query | queries]] and [[join (SQL) | join]]s. (RSI never released a version 1 - instead calling the first version ''version 2'' as a [[marketing strategies | marketing gimmick]].)

*It has been suggested that Oracle got it's name from the Oracle at Delphi, who sat atop a chemical chimney and inhaled deeply of mind-altering fumes. Obviously, it's this mind-altering fog that the company is likening their product to.


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 <code>[[Commit (data management) | COMMIT]]</code> and <code>[[Rollback (data management) | ROLLBACK]]</code> functionality for [[database transaction | transaction]]s. Version 3 extended platform support from the existing [[Digital Equipment Corporation | Digital]] [[VAX/VMS]] systems to include [[Unix]] environments.
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 <code>[[Commit (data management) | COMMIT]]</code> and <code>[[Rollback (data management) | ROLLBACK]]</code> functionality for [[database transaction | transaction]]s. Version 3 extended platform support from the existing [[Digital Equipment Corporation | Digital]] [[VAX/VMS]] systems to include [[Unix]] environments.

Revision as of 21:20, 18 May 2006

Oracle database
Developer(s)Oracle Corporation
Stable release
10g Release 2 / 2005
Operating systemCross-platform
TypeRDBMS
Websitewww.oracle.com
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 characteristics) as Oracle RDBMS.

Oracle Corporation itself blurs the very useful distinction between:

  1. data managed by an Oracle RDBMS
  2. an Oracle database, and
  3. 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.

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

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) 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 is the case for "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. Such code can operate under PL/SQL (Oracle Corporation's proprietary procedural extension to SQL), or under the object-oriented language Java.

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. (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.)

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

  • It has been suggested that Oracle got it's name from the Oracle at Delphi, who sat atop a chemical chimney and inhaled deeply of mind-altering fumes. Obviously, it's this mind-altering fog that the company is likening their product to.

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.

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

In 1988 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 7h (the h stands for "datawareHouse") appeared with support for integrity constraints, 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".

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:

  • 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 released May 2002
  • Oracle9i Database Release 2: 9.2.0.1 — 9.2.0.7 (Latest current patchset as of August 2005)
  • Oracle Database 10g Release 1: 10.1.0.2 — 10.1.0.5 (Latest current patchset as of February 2006)
  • Oracle Database 10g Release 2: 10.2.0.2 (Latest current patchset as of March 2006)

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.

Editions

Over and above the different versions of the Oracle database, Oracle Corporation subdivides its product into varying "editions" - apparently for marketing and licence-tracking reasons.

  • The 'Standard Edition' (SE) contains base database functionality.
  • The 'Enterprise Edition' (EE) includes more features than the 'Standard Edition', especially in the areas of performance and security.
  • 'Standard Edition One', introduced with Oracle 10g, has some additional feature-restrictions. Oracle Corporation markets it for use on one and two-CPU systems.
  • The 'Express Edition' ('Oracle Database XE'), introduced in 2005, offers Oracle 10g free to distribute on Windows and Linux platforms (with a footprint of only 150 Mb and restricted to the use of a single CPU, a maximum of 4Gb of user data and 1 Gb of memory).
  • Oracle Personal Edition provides the functionality of the "high end" Enterprise Edition but its marketing and licensing target (and licensed for) single-user developers working on personal workstations.

Note too the 'Oracle Lite' or 'Oracle Database Lite' product, intended to run on mobile devices.

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 June 2005, Oracle Corporation supported the following operating-system platforms for Oracle Database 10g:

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

  • Oracle Collaboration Suite contains messaging, groupware and collaboration applications.
  • Oracle Enterprise Manager (OEM) used by database administrators (DBAs) to manage the DBMS, and recently in version 10g, a web-based rewrite of OEM called "Oracle Enterprise Manager Database Control". Oracle Corporation has dubbed the super Enterprise Manager used to manage a grid of multiple DBMS and Application Servers as "Oracle Enterprise Manager Grid Control".

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 Technet site offers downloads of fully-featured evaluation software. Users who have Oracle support-contracts should turn to Oracle's Metalink website (requires password). Last but not least, users should check the Oracle FAQ site before posting questions to forums, mailing lists, etc. Also you can logon to http://asktom.oracle.com to post questions to Tom Kyte (Author of 'Expert One-On-One Oracle') and get answers.

Oracle is notoriously difficult to install on Linux systems for a novice user. It is a definite must to follow the large set of installation instructions to the letter and even then patches from Metalink and extra help from Werner Puschitz may be needed.

List of firsts

Oracle Corporation has provided:

  • the first database product tested to comply with the ANSI SQL standard
  • the first database to incorporate a native JRE
  • the first commercial RDBMS to become available on Linux (August 1999)

Competition

In the relational database market, Oracle competes against commercial products such as IBM's DB2 UDB and Microsoft SQL Server. Oracle and IBM tend to battle for the mid-range market (especially on UNIX and Linux), while Microsoft tends to compete in the low-end market (on Microsoft Windows). However, since they share many of the same customers, Oracle and IBM tend to support each others' products in many middleware and application categories (e.g. WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely with Oracle on performance optimizing server technologies (e.g. Linux on zSeries). The two companies' relationship is best described as "coopetition." Niche commercial competitors include Teradata (in data warehousing and business intelligence), Software AG's Adabas, Sybase, and IBM's Informix, among many others.

Increasingly the Oracle database products compete against open source relational databases, particularly PostgreSQL, Firebird and MySQL. Oracle acquired Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better in the open source market.

Pricing

Oracle database software comes at a cost. As of March, 2006, the Enterprise Edition sells at a list price of $40,000 . Standard Edition is cheaper - $15000 per processor (can run on up to 4 processors but is more limited in features than Enterprise Ed. - lacks proper paralellization etc. Still quite suitable for running medium-sized applications). Standard ONE edition even more cheaper - $5000 per processor (but limited to 2 CPU-s). The licenses are usually sold with an extra 22% cost for support and upgrades (access to MetaLink - Oracle's support site) which has to be renewed annually.

Oracle Express Edition (Oracle XE), an addition to the Oracle database product family (beta version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 4 Gb of user data, 1 Gb of RAM, and which will use no more than one CPU and which lacks an internal JVM.

For exact pricing calculations Oracle price list is available but it's usually wisest to call up a sales representative because the prices can vary greatly depending on who is buying.

As computers running Oracle often have eight or more processors, the software price can rise into the hundreds of thousands of dollars. The total cost of ownership exceeds this, as Oracle databases usually require well-trained database administrators to properly set up but moderately-trained operators to operate on a daily basis. Because of large installed base and available training courses Oracle specialists are in some areas a more abundant resource, than those for more exotic databases. Oracle frequently provides also special training offers for database administrators. Remote Database Administration has the potential also to diminish operational costs somewhat. Virtualization products, which can hide processors from Oracle software, and the ability to run on the low-cost Linux operating system, can lower the effective price relative to (say) Microsoft SQL Server.

With regard to Linux it is worth remembering that Oracle's certified configurations include mostly only commercial distros ( RedHat Enterprise Linux 3 and 4, SuSE SLES8 and 9 , Asianux) which can cost ranging from a few hundred to a few thousand USD per year depending on processor architecture and support package purchased. Still it is possible to avoid paying for those distros by using free alternatives like CentOS or White Box. Oracle has been also known to run reliably on distros of non-enterprise class.


See also

External links