Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Oracle database

Oracle database

Overview
The Oracle Database is an object-relational database management system (ORDBMS) produced and marketed by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

.
Discussion
Ask a question about 'Oracle database'
Start a new discussion about 'Oracle database'
Answer questions from other users
Full Discussion Forum
 
Unanswered Questions
Encyclopedia
The Oracle Database is an object-relational database management system (ORDBMS) produced and marketed by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

.

Larry Ellison
Larry Ellison
Lawrence Joseph "Larry" Ellison is the co-founder and chief executive officer of Oracle Corporation, one of the world's leading enterprise software companies. As of 2011, he is the third wealthiest American citizen, with an estimated worth of $33 billion.- Early life :Larry Ellison was born in the...

 and his friends and former co-workers Bob Miner
Bob Miner
Robert Nimrod "Bob" Miner was a co-founder of Oracle Corporation and architect of Oracle's relational database management system....

 and Ed Oates
Ed Oates
Edward A. "Ed" Oates co-founded Software Development Labs in August 1977 with Larry Ellison, and Bob Miner. Software Development Labs later became Oracle Corporation....

 started the consultancy Software Development Laboratories (SDL) in 1977. SDL developed the original version of the Oracle software. The name Oracle comes from the code-name of a CIA
Central Intelligence Agency
The Central Intelligence Agency is a civilian intelligence agency of the United States government. It is an executive agency and reports directly to the Director of National Intelligence, responsible for providing national security intelligence assessment to senior United States policymakers...

-funded project Ellison had worked on while previously employed by Ampex
Ampex
Ampex is an American electronics company founded in 1944 by Alexander M. Poniatoff. The name AMPEX is an acronym, created by its founder, which stands for Alexander M. Poniatoff Excellence...

.

Physical and logical structures


An Oracle database system—identified by an alphanumeric system identifier or SID—comprises at least one instance
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 of the application, along with data storage. An instance—identified persistently by an instantiation number (or activation id: SYS.V_$DATABASE.ACTIVATION#)—comprises a set of operating-system processes
Process (computing)
In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...

 and memory-structures that interact with the storage. Typical processes include PMON (the process monitor) and SMON (the system monitor).

Users of the Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

 information such as data-buffers, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 commands, and user information. In addition to storage, the database consists of online redo log
Redo log
In the Oracle RDBMS environment, redo logs comprise files in a proprietary format which log a history of all changes made to the database. Each redo log file consists of redo records...

s (or logs), which hold transactional
Database transaction
A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...

 history. Processes can in turn archive
Archive
An archive is a collection of historical records, or the physical place they are located. Archives contain primary source documents that have accumulated over the course of an individual or organization's lifetime, and are kept to show the function of an organization...

 the online redo logs into archive logs (offline redo logs), which provide the basis (if necessary) for data recovery
Data recovery
Data recovery is the process of salvaging data from damaged, failed, corrupted, or inaccessible secondary storage media when it cannot be accessed normally. Often the data are being salvaged from storage media such as internal or external hard disk drives, solid-state drives , USB flash drive,...

 and for some forms of data replication
Replication (computer science)
Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. It could be data replication if the same data is stored on multiple storage devices, or...

.

If the Oracle database administrator
Database administrator
A database administrator is a person responsible for the design, implementation, maintenance and repair of an organization's database. They are also known by the titles Database Coordinator or Database Programmer, and is closely related to the Database Analyst, Database Modeller, Programmer...

 has implemented Oracle RAC
Oracle RAC
In database computing, Oracle Real Application Clusters — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments...

 (Real Application Clusters), then multiple instances, usually on different servers
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

, attach to a central storage array
Disk array
A disk array is a disk storage system which contains multiple disk drives. It is differentiated from a disk enclosure, in that an array has cache memory and advanced functionality, like RAID and virtualization.Components of a typical disk array include:...

. 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
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...

 introduced shared resources where an instance can use (for example) CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 resources from another node (computer) in the grid.

The Oracle DBMS can store and execute stored procedure
Stored procedure
A stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...

s and functions
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....

 within itself. PL/SQL
PL/SQL
PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

 (Oracle Corporation's proprietary procedural extension to SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

), or the object-oriented language Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 can invoke such code objects and/or provide the programming structures for writing them.

Storage


The Oracle RDBMS stores data logically
Data storage device
thumb|200px|right|A reel-to-reel tape recorder .The magnetic tape is a data storage medium. The recorder is data storage equipment using a portable medium to store the data....

 in the form of tablespace
Tablespace
A tablespace is a storage location where the actual data underlying database objects can be kept. It provides a layer of abstraction between physical and logical data, and serves to allocate storage for all DBMS managed segments...

s and physically in the form of data files
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...

 ("datafiles").
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
Partition (database)
A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons....

 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
Data dictionary
A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format." The term may have one of several closely related meanings pertaining to...

—and often (by default) indexes
Index (database)
A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of slower writes and increased storage space...

 and clusters
Cluster (computing)
A computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks...

. A data dictionary consists of a special collection of tables
Table (database)
In relational databases and flat file databases, a table is a set of data elements that is organized using a model of vertical columns and horizontal rows. A table has a specified number of columns, but can have any number of rows...

 that contains information about all user-objects
Object (computer science)
In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...

 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
Header (information technology)
In information technology, header refers to supplemental data placed at the beginning of a block of data being stored or transmitted. In data transmission, the data following the header are sometimes called the payload or body....

 rather than in the SYSTEM tablespace (as happens with the default "dictionary-managed" tablespaces). Version 10g and later introduced the SYSAUX tablespace which contains some of the tables formerly in the SYSTEM tablespace.

Disk files


Disk files primarily consist of the following types:
  • Data and index files: Those files are necessary for the physical storage, which can consist of the data dictionary data (associated to the tablespace SYSTEM), user data, or index data. These files can be managed manually or managed by Oracle itself ("Oracle-managed files"). Note that a datafile has to belong to exactly one tablespace, whereas a tablespace can consist of multiple datafiles.
  • Redo log files consisting of all changes to the database, used to recover from an instance failure. Note that often these files are stored multiple times, for extra security in case of disk failure. The identical redo log files are said to belong to the same group.
  • Undo files: Those special datafiles, which can only contain undo information, are used for recovery, rollbacks, and read consistency.
  • Archive log files: Those files are copies of the redo log files, but are usually stored at different locations. They are necessary for example to be applied to a standby database, or to perform recovery after an instance failure. It is possible to archive to multiple locations.
  • Tempfiles: Those special datafiles are used exclusively for temporary storage data (used for example for large sorts)
  • Control file, necessary for database startup. "A binary file that records the physical structure of a database and contains the names and locations of redo log files, the time stamp of the database creation, the current log sequence number, checkpoint information, and so on."


At the physical level, data file
Data file
A data file is a computer file which stores data to use by a computer application or system. It generally does not refer to files that contain instructions or code to be executed , or to files which define the operation or structure of an application or system ; but specifically to information...

s comprise one or more data blocks
Block (data storage)
In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data...

, where the block size
Block (data storage)
In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data...

 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
Automatic Storage Management
Automatic Storage Management is a feature provided by Oracle Corporation within the Oracle Database from release Oracle 10g onwards. ASM aims to simplify the management of database files...

 logical volumes.
Control files

The following parameters govern the size of the control files:

* maxlogfile
* maxlogmembers
* maxloghistory
* maxinstances
* control_file_record_keep_time

Database Schema


Oracle database conventions refer to defined groups of object ownership (generally associated with a "username") as schemas
Database schema
A database schema of a database system is its structure described in a formal language supported by the database management system and refers to the organization of data to create a blueprint of how a database will be constructed...

.

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.

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 examples supplied by Oracle Corporation reference the default HR or OE schemas.

Other default schemas include:
  • SYS (essential core database structures and utilities)
  • SYSTEM (additional core database structures and utilities, and privileged account)
  • OUTLN (utilized to store metadata for stored outlines for stable query-optimizer execution plans.
  • BI, IX, HR, OE, PM, and SH (expanded sample schemas containing more data and structures than the older SCOTT schema).

System Global Area


Each Oracle instance uses a System Global Area
System Global Area
In the database management systems developed by the Oracle Corporation, the System Global Area forms the part of the RAM shared by all the processes belonging to a single Oracle database instance...

 or SGA—a shared-memory
Shared memory
In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...

 area—to store its data and control-information.

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.

Library cache


The library cache 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.

Data dictionary cache


The data dictionary
Data dictionary
A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format." The term may have one of several closely related meanings pertaining to...

 comprises a set of tables and views
View (database)
In database theory, a view consists of a stored query accessible as a virtual table in a relational database or a set of documents in a document-oriented database composed of the result set of a query or map and reduce functions...

 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:
  • user information, such as user privileges
  • integrity constraints defined for tables in the database
  • names and datatypes of all columns in database tables
  • information on space allocated and used for schema objects


The Oracle instance frequently accesses the data dictionary in order to parse
Parsing
In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens , to determine its grammatical structure with respect to a given formal grammar...

 SQL statements. The operation of Oracle depends on ready access to the data dictionary: performance bottlenecks in the data dictionary affect all Oracle users. Because of this, database administrators should make sure that the data dictionary cache has sufficient capacity to cache this data. Without enough memory for the data-dictionary cache, users see a severe performance degradation. Allocating sufficient memory to the shared pool where the data dictionary cache resides precludes these particular performance problem.

Program Global Area


The Program Global Area 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 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.

Dynamic performance views


The dynamic performance views (also known as "fixed views") within an Oracle database present information from virtual tables (X$ tables)
built on the basis of database memory.
Database users can access the V$ views (named after the prefix of their synonyms) to obtain information on database structures and performance.

Oracle processes


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):
  • advanced queueing
    Oracle Advanced Queuing
    In computing, Oracle Advanced Queuing is a sort of Message Oriented Middleware developed by Oracle Corporation and integrated into its Oracle database....

     processes (Qnnn)
  • archiver processes (ARCn)
  • checkpoint process (CKPT) *REQUIRED*
  • coordinator-of-job-queues process (CJQn): dynamically spawns slave processes for job-queues
  • database writer processes (DBWn) *REQUIRED*
  • dispatcher processes (Dnnn): multiplex server-processes on behalf of users
  • job-queue slave processes (Jnnn)
  • log-writer process (LGWR) *REQUIRED*
  • log-write network-server (LNSn): transmits redo logs in Data Guard environments
  • logical standby coordinator process (LSP0): controls Data Guard
    Oracle Data Guard
    The software which Oracle Corporation markets as Oracle Data Guard forms an extension to the Oracle RDBMS. It aids in establishing and maintaining secondary "standby databases" as alternative/supplementary repositories to production "primary databases"....

     log-application
  • media-recovery process (MRP): detached recovery-server process
  • memory-manager process (MMAN): used for internal database tasks such as Automatic Shared Memory Management
  • memory-monitor process (MMON): process for automatic problem-detection, self-tuning and statistics-gathering
  • memory-monitor light process (MMNL): gathers and stores Automatic Workload Repository (AWR) data
  • mmon slaves (Mnnnn—M0000, M0001, etc.): background slaves of the MMON process
  • process-monitor process (PMON) *REQUIRED*
  • process-spawner (PSP0): spawns Oracle processes
  • queue-monitor coordinator process (QMNC): dynamically spwans queue monitor slaves
  • queue-monitor processes (QMNn)
  • recoverer process (RECO)
  • remote file-server process (RFS)
  • shared server processes (Snnn): serve client-requests
  • system monitor process (SMON) *REQUIRED*

User processes, connections and sessions


Oracle Database terminology distinguishes different computer-science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 terms in describing how end-users interact with the database:
  • user processes
    Process (computing)
    In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...

     involve the invocation of application software
  • a connection refers to the pathway linking a user process to an Oracle instance
  • sessions
    Session (computer science)
    In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point...

     consist of specific connections to an Oracle instance. Each session within an instance has a session identifier or "SID" (distinct from the system-identifier SID).

Concurrency and locking


Oracle databases control simultaneous access to data resources with locks
Lock (computer science)
In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies.-Types:...

 (alternatively documented as "enqueues"
). The databases also utilize "latches" -- low-level serialization mechanisms to protect shared data structures in the System Global Area.

Configuration


Database administrators control many of the tunable variations in an Oracle instance by means of values in a parameter file.
This file in its ASCII default form ("pfile") normally has a name of the format init.ora. The default binary equivalent server paramater file ("spfile") (dynamically reconfigurable to some extent)
defaults to the format spfile.ora. Within an SQL-based environment, the views V$PARAMETER
and V$SPPARAMETER
give access to reading parameter values.

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.

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.
Oracle Corporation provides database developers with tools and mechanisms for producing internationalized database applications: referred to internally as "Globalization".

".

Corporate/technical timeline

  • 1977: Larry Ellison
    Larry Ellison
    Lawrence Joseph "Larry" Ellison is the co-founder and chief executive officer of Oracle Corporation, one of the world's leading enterprise software companies. As of 2011, he is the third wealthiest American citizen, with an estimated worth of $33 billion.- Early life :Larry Ellison was born in the...

     and friends founded Software Development Laboratories.
  • 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
    Database transaction
    A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...

    , but implemented the basic SQL
    SQL
    SQL is a programming language designed for managing data in relational database management systems ....

     functionality of queries
    Query language
    Query languages are computer languages used to make queries into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages...

     and joins
    Join (SQL)
    An SQL join clause combines records from two or more tables in a database. It creates a set that can be saved as a table or used as is. A JOIN is a means for combining fields from two tables by using values common to each. ANSI standard SQL specifies four types of JOINs: INNER, OUTER, LEFT, and RIGHT...

    . (RSI never released a version 1 - instead calling the first version version 2 as a marketing gimmick
    Marketing strategy
    Marketing strategy is a process that can allow an organization to concentrate its limited resources on the greatest opportunities to increase sales and achieve a sustainable competitive advantage.-Developing a marketing strategy:...

    .)
  • 1982: RSI in its turn changed its name, becoming known as "Oracle Corporation
    Oracle Corporation
    Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

    ", to align itself more closely with its flagship product.
  • 1983: The company released Oracle version 3, which it had re-written using the C programming language
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

     and which supported COMMIT
    Commit (data management)
    In the context of computer science and data management, commit refers to the idea of making a set of tentative changes permanent. A popular usage is at the end of a transaction. A commit is an act of committing.-Data management:...

    and ROLLBACK
    Rollback (data management)
    In database technologies, a rollback is an operation which returns the database to some previous state. Rollbacks are important for database integrity, because they mean that the database can be restored to a clean copy even after erroneous operations are performed...

    functionality for transactions. Version 3 extended platform support from the existing Digital
    Digital Equipment Corporation
    Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

     VAX/VMS systems to include Unix
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

     environments.
  • 1984: Oracle Corporation released Oracle version 4, which supported read-consistency
    Consistency model
    In computer science, consistency models are used in distributed systems like distributed shared memory systems or distributed data stores . The system supports a given model, if operations on memory follow specific rules...

    .
  • 1985: Oracle Corporation released Oracle version 5, which supported the client–server model—a sign of networks becoming more widely available in the mid-1980s.
  • 1986: Oracle version 5.1 started supporting distributed
    Distributed computing
    Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...

     queries.
  • 1988: Oracle RDBMS version 6 came out with support for PL/SQL
    PL/SQL
    PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

     embedded within Oracle Forms
    Oracle Forms
    Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE including an object navigator, property sheet and code editor that uses PL/SQL. It was originally developed to run server-side in character mode terminal sessions. It was ported to other...

     v3 (version 6 could not store PL/SQL in the database proper), row-level locking
    Lock (computer science)
    In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies.-Types:...

     and hot backup
    Backup
    In information technology, a backup or the process of backing up is making copies of data which may be used to restore the original after a data loss event. The verb form is back up in two words, whereas the noun is backup....

    s.
  • 1989: Oracle Corporation entered the application products
    Application software
    Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

     market and developed its ERP
    Enterprise resource planning
    Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...

     product, (later to become part of the Oracle E-Business Suite), based on the Oracle relational database.
  • 1990: the release of Oracle Applications
    Oracle Applications
    Oracle Applications comprise the applications software or business software of Oracle Corporation. The term refers to the non-database parts of Oracle's software portfolio....

     release 8
  • 1992: Oracle version 7 appeared with support for referential integrity
    Referential integrity
    Referential integrity is a property of data which, when satisfied, requires every value of one attribute of a relation to exist as a value of another attribute in a different relation ....

    , stored procedure
    Stored procedure
    A stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...

    s and triggers
    Database trigger
    A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for keeping the integrity of the information on the database...

    .
  • 1997: Oracle Corporation released version 8, which supported object-oriented
    Object-oriented programming
    Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

     development and multimedia
    Multimedia
    Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...

     applications.
  • 1999: The release of Oracle8i aimed to provide a database inter-operating better with the Internet
    Internet
    The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

     (the i in the name stands for "Internet"). The Oracle8i database incorporated a native Java virtual machine
    Java Virtual Machine
    A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...

     (Oracle JVM, also known as "Aurora".).
  • 2000: Oracle E-Business Suite 11i pioneers integrated enterprise application software
  • 2001: Oracle9i went into release with 400 new features, including the ability to read and write XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     documents. 9i also provided an option for Oracle RAC
    Oracle RAC
    In database computing, Oracle Real Application Clusters — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments...

    , or "Real Application Clusters", a computer-cluster database, as a replacement for the Oracle Parallel Server (OPS) option.
  • 2003: Oracle Corporation released Oracle Database 10g, which supported regular expressions. (The g stands for "grid"; emphasizing a marketing thrust of presenting 10g as "grid computing
    Grid computing
    Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...

     ready".)
  • 2005: Oracle Database 10.2.0.1—also known as Oracle Database 10g Release 2 (10gR2)—appeared.
  • 2006: Oracle Corporation announces Unbreakable Linux
  • 2007: Oracle Database 10g release 2 sets a new world record
    World record
    A world record is usually the best global performance ever recorded and verified in a specific skill or sport. The book Guinness World Records collates and publishes notable records of all types, from first and best to worst human achievements, to extremes in the natural world and beyond...

     TPC-H 3000 GB benchmark
    Benchmark (computing)
    In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it...

     result
  • 2007: Oracle Corporation released Oracle Database 11g for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

     and for Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

    .
  • 2008: Oracle Corporation acquires BEA Systems
    BEA Systems
    BEA Systems, Inc. specialized in enterprise infrastructure software products known as "middleware", which connect software applications to databases and was acquired by Oracle Corporation on April 29, 2008.- History :...

    .
  • 2010: Oracle Corporation acquires Sun Microsystems
    Sun Microsystems
    Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

    .

Critical Patch Updates (CPUs) and Security Alerts


Oracle Critical Patch Updates (CPUs) and Security Alerts are released quarterly on the Tuesday closest to 17th day of the month. The general goal of the patches is to close security holes through which data theft may occurred.

Version numbering


Oracle products follow a custom release numbering and naming convention. With the Oracle RDBMS 10g release, Oracle Corporation began using the "10g" label in all versions of its major products, although some sources refer to Oracle Applications Release 11i as Oracle 11i. The suffixes "i" and "g" do not actually represent a low-order part of the version number, 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 stand for "internet" and "grid", respectively. Consequently many simply drop the "g" or "i" suffix when referring to specific versions of an Oracle product.

Major database-related products and some of their versions include:
  • Oracle Application Server
    Oracle Application Server
    In computing, the Oracle Application Server 10g , consists of an integrated, standards-based software platform. It forms part of Oracle Corporation's Fusion Middleware technology stack...

     10g (also known as "Oracle AS 10g"): a middleware
    Middleware
    Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

     product;
  • Oracle Applications
    Oracle Applications
    Oracle Applications comprise the applications software or business software of Oracle Corporation. The term refers to the non-database parts of Oracle's software portfolio....

     Release 11i (aka Oracle e-Business Suite, Oracle Financials or Oracle 11i): a suite
    Software suite
    A software suite or application suite is a collection of computer programs, usually application software and programming software of related functionality, often sharing a more-or-less common user interface and some ability to smoothly exchange data with each other.Sometimes software makers...

     of business
    Business
    A business is an organization engaged in the trade of goods, services, or both to consumers. Businesses are predominant in capitalist economies, where most of them are privately owned and administered to earn profit to increase the wealth of their owners. Businesses may also be not-for-profit...

     applications;
  • Oracle Developer Suite
    Oracle Developer Suite
    Oracle Developer Suite is a suite of development tools released by the Oracle Corporation. The principal components were initially Oracle Forms and Oracle Reports, although the suite was later expanded to include JDeveloper amongst others.-History:...

     10g (9.0.4);
  • Oracle JDeveloper
    JDeveloper
    JDeveloper is a freeware IDE supplied by Oracle Corporation. It offers features for development in Java, XML, SQL and PL/SQL, HTML, JavaScript, BPEL and PHP...

     10g: a Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     integrated development environment
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

    ;


Since version 5, Oracle's RDBMS
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

 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
    Patch (computing)
    A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...

     )
  • Oracle9i Database Release 2: 9.2.0.1–9.2.0.8 (patchset )
  • Oracle Database 10g Release 1: 10.1.0.2–10.1.0.5 (patchset )
  • Oracle Database 10g Release 2: 10.2.0.1–10.2.0.5 (patchset )
  • Oracle Database 11g Release 1: 11.1.0.6–11.1.0.7 (patchset )
  • Oracle Database 11g Release 2: 11.2.0.1–11.2.0.3 (patchset )


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.

Marketing editions


Over and above the different versions of the Oracle database management software developed over time, Oracle Corporation subdivides its product into varying "editions" - apparently for marketing and license-tracking reasons. (Do not confuse the marketing "editions" with the internal virtual versioning "editions" introduced with Oracle 11.2). In approximate order of decreasing scale, we find:
  • Enterprise Edition (EE) includes more features than the 'Standard Edition', especially in the areas of performance and security. Oracle Corporation licenses this product on the basis of users or of processors, typically for servers running 4 or more CPUs. EE has no memory limits, and can utilize clustering using Oracle RAC
    Oracle RAC
    In database computing, Oracle Real Application Clusters — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments...

     software.
  • Standard Edition (SE) contains base database functionality. Oracle Corporation licenses this product on the basis of users or of processors, typically for servers running from one to four CPUs. If the number of CPUs exceeds 4 CPUs, the user must convert to an Enterprise license. SE has no memory limits, and can utilize clustering with Oracle RAC
    Oracle RAC
    In database computing, Oracle Real Application Clusters — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments...

     at no additional charge.
  • Standard Edition One, (SE1 or SEO) introduced with Oracle 10g, has some additional feature-restrictions. Oracle Corporation markets it for use on systems with one or two CPUs. It has no memory limitations.
  • Express Edition ("Oracle Database XE"), introduced in 2005, offers Oracle 10g free to distribute on Windows and Linux platforms. It has a footprint of only 150 MB and is restricted to the use of a single CPU, a maximum of 4 GB of user data. Although it can install on a server with any amount of memory, it uses a maximum of 1 GB. Support for this version comes exclusively through on-line forums and not through Oracle support.
  • Oracle Database Lite, intended for running on mobile devices. The embedded mobile database
    Mobile database
    A mobile database is a database that can be connected to by a mobile computing device over a mobile network. The client and server have wireless connections. A cache is maintained to hold frequent data and transactions so that they are not lost due to connection failure. A database is a structured...

     located on the mobile device can synchronize with a server-based installation.

Host platforms


Prior to releasing Oracle 9i in 2001, Oracle Corporation ported its database product to a wide variety of platforms. More recently Oracle Corporation has consolidated on a smaller range of operating-system platforms.

, Oracle Corporation supported the following operating systems and hardware platforms for Oracle Database 11g (11.2.0.2.0) :
  • zLinux64
  • Microsoft Windows (32-bit)
  • Microsoft Windows (x64)
  • Linux x86
  • Linux x86-64
  • Solaris (SPARC) (64-bit)
  • Solaris
    Solaris
    - Fiction :* Solaris , a 1961 science fiction novel by Stanisław Lem** Solaris , directed by B. Nirenburg** Solaris , directed by Andrei Tarkovsky** Solaris , directed by Steven Soderbergh...

     (x86-64)
  • HP-UX Itanium
  • HP-UX PA-RISC (64-bit)
  • AIX (PPC64)

Oracle products

  • Oracle Database Firewall analyzes database traffic on a network to prevent threats such as SQL injection
    SQL injection
    A SQL injection is often used to attack the security of a website by inputting SQL statements in a web form to get a badly designed website in order to dump the database content to the attacker. SQL injection is a code injection technique that exploits a security vulnerability in a website's software...

    .

Database options


Oracle Corporation refers to some extensions to the core functionality of the Oracle database as "database options".
such options include:
  • Active Data Guard (extends Oracle Data Guard
    Oracle Data Guard
    The software which Oracle Corporation markets as Oracle Data Guard forms an extension to the Oracle RDBMS. It aids in establishing and maintaining secondary "standby databases" as alternative/supplementary repositories to production "primary databases"....

     physical standby functionality in 11g)
  • Advanced Compression (compresses tables, backups and redo-data)
  • Advanced Security (adds data encryption methods)
  • Content database (provides a centralized repository for unstructured information)
  • Database Vault (enforces extra security on data access)
  • Data Mining ( ODM
    Oracle Data Mining
    Oracle Data Mining is an option of Oracle Corporation's Relational Database Management System Enterprise Edition . It contains several data mining and data analysis algorithms for classification, prediction, regression,...

    ) (mines for patterns in existing data)
  • In-Memory Database Cache (utilizes TimesTen
    TimesTen
    TimesTen is an in-memory relational database software product from Oracle Corporation. TimesTen is designed for low latency, high-volume data, event and transaction management. Unlike disk-optimized relational databases such as the Oracle database, DB2, Informix, and SQL Server, TimesTen's data is...

     technology)
  • Label Security (enforces row-level security)
  • Management Packs (various). For example:
    • Oracle Database Change Management Pack (tracks and manages schema changes)
  • Oracle Answers (for ad-hoc analysis and reporting)
  • Oracle OLAP (adds analytical processing)
  • Oracle Programmer (provides programmatic access to Oracle databases via precompilers, interfaces and bindings
    Language binding
    In computing, a binding from a programming language to a library or OS service is an API providing that service in the language.Many software libraries are written in systems programming languages such as C or C++...

    )
  • Partitioning (granularizes tables and indexes for efficiency)
  • Real Application Clusters
    Oracle RAC
    In database computing, Oracle Real Application Clusters — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments...

     (RAC) (coordinates multiple database servers, together accessing the same database)
  • Oracle Real Application Testing (new at version 11g)—including Database Replay (for testing workloads) and SQL Performance Analyzer (SPA) (for preserving SQL efficiency in changing environments)
  • Records database (a records management
    Records management
    Records management, or RM, is the practice of maintaining the records of an organization from the time they are created up to their eventual disposal...

     application)
  • Oracle Spatial
    Oracle Spatial
    Oracle Spatial forms a separately-licensed option component of the Oracle Database. Oracle Spatial aids users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping/facilities-management and...

     (integrates relational data with geographic information systems (GIS))
  • Transparent Gateway for connecting to non-Oracle systems. Offers optimized solution, with more functionality and better performance than Oracle Generic Connectivity.
  • Total Recall (optimizes long-term storage of historical data)
  • Oracle Warehouse Builder
    Oracle Warehouse Builder
    Oracle Warehouse Builder is an ETL tool produced by Oracle that offers a graphical environment to build, manage and maintain data integration processes in business intelligence systems.- Features :...

     (in various forms and sub-options)
  • Oracle GoldenGate 11g (distributed real-time data acquisition)

In most cases, using these options entails extra licensing costs.

Suites


In addition to its RDBMS
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

, Oracle Corporation has released several related suites of tools and applications relating to implementations of Oracle databases. For example:
  • Oracle Application Server
    Oracle Application Server
    In computing, the Oracle Application Server 10g , consists of an integrated, standards-based software platform. It forms part of Oracle Corporation's Fusion Middleware technology stack...

    , a J2EE-based application server
    Application server
    An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...

    , aids in developing and deploying applications which utilise Internet
    Internet
    The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

     technologies and a browser.
  • Oracle Collaboration Suite
    Oracle Collaboration Suite
    Launched in 2000, after earlier product lines including "Oracle Mail" and Oracle InterOffice the Oracle Collaboration Suite represented the next attempt by Oracle Corporation to enter the Enterprise collaboration system market...

     contains messaging, groupware and collaboration applications.
  • Oracle Developer Suite
    Oracle Developer Suite
    Oracle Developer Suite is a suite of development tools released by the Oracle Corporation. The principal components were initially Oracle Forms and Oracle Reports, although the suite was later expanded to include JDeveloper amongst others.-History:...

     contains software development tools, including JDeveloper
    JDeveloper
    JDeveloper is a freeware IDE supplied by Oracle Corporation. It offers features for development in Java, XML, SQL and PL/SQL, HTML, JavaScript, BPEL and PHP...

    .
  • Oracle E-Business Suite collects together applications for enterprise resource planning
    Enterprise resource planning
    Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...

     (including Oracle Financials), customer relationship management
    Customer relationship management
    Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

     and human resources
    Human resources
    Human resources is a term used to describe the individuals who make up the workforce of an organization, although it is also applied in labor economics to, for example, business sectors or even whole nations...

     management (Oracle HR).
  • Oracle Enterprise Manager
    Oracle Enterprise Manager
    The computer application Oracle Enterprise Manager aims to manage software produced by Oracle Corporation as well as by some non-Oracle entities.-Oracle Enterprise Manager Database Control :...

     (OEM) used by database administrator
    Database administrator
    A database administrator is a person responsible for the design, implementation, maintenance and repair of an organization's database. They are also known by the titles Database Coordinator or Database Programmer, and is closely related to the Database Analyst, Database Modeller, Programmer...

    s (DBAs) to manage the DBMS, and 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 "Oracle Enterprise Manager Grid Control".
  • Oracle Programmer/2000, a bundling of interfaces for 3GL programming languages
    Third-generation programming language
    A third-generation programming language is a refinement of a second-generation programming language. The second generation of programming languages brought logical structure to software. The third generation brought refinements to make the languages more programmer-friendly...

    , marketed with Oracle7 and Oracle8.
  • Oracle WebCenter
    Oracle WebCenter
    Owned by Oracle, Oracle WebCenter is a product built on top of the JSF based Oracle Application Development Framework. It contains a set of components for building rich web applications, portals, and team collaboration/social sites...

     Suite

Database "features"


Apart from the clearly defined database options, Oracle databases may include many semi-autonomous software sub-systems, which Oracle Corporation sometimes refers to as "features" in a sense subtly different from the normal usage of the word. For example, Oracle Data Guard
Oracle Data Guard
The software which Oracle Corporation markets as Oracle Data Guard forms an extension to the Oracle RDBMS. It aids in establishing and maintaining secondary "standby databases" as alternative/supplementary repositories to production "primary databases"....

 counts officially as a "feature", but the command-stack within SQL*Plus, though a usability feature, does not appear in the list of "features" in Oracle's list. Such "features" may include (for example):
  • Active Session History (ASH), the collection of data for immediate monitoring of very recent database activity.
  • Automatic Workload Repository (AWR), providing monitoring services to Oracle database installations from Oracle version 10. Prior to the release of Oracle version 10, the Statspack facility provided similar functionality.
  • Clusterware
  • Data Aggregation and Consolidation
  • Data Guard for high availability
    High availability
    High availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....

  • Generic Connectivity for connecting to non-Oracle systems.
  • Data Pump utilities, which aid in importing and exporting data and metadata between databases
  • Database Resource Manager (DRM), which controls the use of computing resources.
  • Fast-start parallel rollback
  • Fine-grained auditing (FGA) (in Oracle Enterprise Edition) supplements standard security-auditing features
  • Flashback
    Oracle Flashback
    In Oracle databases, Flashback tools allow administrators and users to view and manipulate past states of an instance's data without recovering to a fixed point in time.Flashback requires Oracle Enterprise edition....

     for selective data recovery and reconstruction
  • iSQL*Plus, a web-browser-based graphical user interface
    Graphical user interface
    In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

     (GUI) for Oracle database data-manipulation
    Data Manipulation Language
    A data manipulation language is a family of syntax elements similar to a computer programming language used for inserting, deleting and updating data in a database...

     (compare SQL*Plus)
  • Oracle Data Access Components (ODAC), tools which consist of:
    • Oracle Data Provider for .NET (ODP.NET)
    • Oracle Developer Tools (ODT) for Visual Studio
    • Oracle Providers for ASP.NET
    • Oracle Database Extensions for .NET
    • Oracle Provider for OLE DB
    • Oracle Objects for OLE
    • Oracle Services for Microsoft Transaction Server
  • Oracle-managed files (OMF) -- a feature allowing automated naming, creation and deletion of datafiles at the operating-system level.
  • Recovery Manager (rman) for database backup
    Database dump
    A database dump contains a record of the table structure and/or the data from a database and is usually in the form of a list of SQL statements. A database dump is most often used for backing up a database so that its contents can be restored in the event of data loss. Corrupted databases can often...

    , restoration and recovery
    Data recovery
    Data recovery is the process of salvaging data from damaged, failed, corrupted, or inaccessible secondary storage media when it cannot be accessed normally. Often the data are being salvaged from storage media such as internal or external hard disk drives, solid-state drives , USB flash drive,...

  • SQL*Plus, a program that allows users to interact with Oracle database(s) via SQL
    SQL
    SQL is a programming language designed for managing data in relational database management systems ....

     and PL/SQL
    PL/SQL
    PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

     commands on a command-line. Compare iSQL*Plus.
  • Universal Connection Pool (UCP), a connection pool
    Connection Pool
    In software engineering,a connection pool is a cache of database connections maintained so that the connections can be reused when future requests to the database are required....

     based on Java and supporting JDBC, LDAP, and JCA
    Java EE Connector Architecture
    Java EE Connector Architecture is a Java-based technology solution for connecting application servers and enterprise information systems as part of enterprise application integration solutions. While JDBC is specifically used to connect Java EE applications to databases, JCA is a more generic...

  • Virtual Private Database
    Virtual private database
    A virtual private database or VPD masks data in a larger database so that security allows only the use of apparently private data. Separate sites, departments and/or individuals transparently see and manipulate data specific to their needs and to their security classifications.The implementation by...

     (VPD), an implementation of fine-grained access control.

Standalone tools


Users can develop applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and PL/SQL
PL/SQL
PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

 using tools such as Oracle JDeveloper, Oracle Forms
Oracle Forms
Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE including an object navigator, property sheet and code editor that uses PL/SQL. It was originally developed to run server-side in character mode terminal sessions. It was ported to other...

, or Oracle Reports
Oracle Reports
Oracle Reports is a tool for developing reports against data stored in an Oracle database. Oracle Reports consists of Oracle Reports Developer and Oracle Application Server Reports Services .-Output formats:The report output can be delivered directly to a printer or saved in the following...

. Oracle Corporation has started a drive toward 'wizard'-driven environments with a view to enabling non-programmers to produce simple data-driven applications.

Oracle SQL Developer
Oracle SQL Developer
In computing, Oracle SQL Developer is an Integrated development environment for working with SQL in Oracle databases. Oracle Corporation provides this product free; it uses the Java Development Kit.- Features :...

, a free graphical tool for database development, allows developers to browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. It incorporates standard and customized reporting.

Other databases marketed by Oracle Corporation


By acquiring other technology in the database field, Oracle Corporation has taken over:
  • TimesTen
    TimesTen
    TimesTen is an in-memory relational database software product from Oracle Corporation. TimesTen is designed for low latency, high-volume data, event and transaction management. Unlike disk-optimized relational databases such as the Oracle database, DB2, Informix, and SQL Server, TimesTen's data is...

    , a memory-resident database that can cache transactions and synchronize data with a centralized Oracle database server. It functions as a real-time
    Real-time computing
    In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

     infrastructure software product intended for the management of low-latency
    Lag
    Lag is a common word meaning to fail to keep up or to fall behind. In real-time applications, the term is used when the application fails to respond in a timely fashion to inputs...

    , high-volume data, of events and of transactions.
  • BerkeleyDB, a simple, high-performance, embedded database
    Embedded Database
    An embedded database system is a database management system which is tightly integrated with an application software that requires access to stored data, such that the database system is “hidden” from the application’s end-user and requires little or no ongoing maintenance...

  • Oracle Rdb
    Oracle Rdb
    Rdb/VMS is a relational database management system for the Hewlett-Packard OpenVMS operating system. It was originally created by Digital Equipment Corporation in 1984 as part of the VMS Information Architecture, intended to be used for data storage and retrieval by high-level languages and/or...

    , a legacy relational database for the OpenVMS
    OpenVMS
    OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

     operating system
  • MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

     a relational database purchased as part of its immediate previous owner, Sun Microsystems
    Sun Microsystems
    Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...


Use


The Oracle RDBMS has had a reputation among novice users as difficult to install on Linux systems. Oracle Corporation has packaged versions for several popular Linux distributions in an attempt to minimize installation challenges beyond the level of technical expertise required to install a database server.

Official support


Users who have Oracle support contracts can use Oracle's "My Oracle Support" web site. The "My Oracle Support" site was known as MetaLink until a re-branding exercise completed in October 2010. The support site provides users of Oracle Corporation products with a repository of reported problems, diagnostic scripts and solutions. It also integrates with the provision of support tools, patches and upgrades.

The Remote Diagnostic Agent or RDA can operate as a command-line diagnostic tool executing a script. The data captured provides an overview of the Oracle Database environment intended for diagnostic and trouble-shooting. Within RDA, the HCVE (Health Check Validation Engine) can verify and isolate host system environmental issues that may affect the performance of Oracle software.

Database-related guidelines


Oracle Corporation also endorses certain practices and conventions as enhancing the use of its database products. These include:
  • Oracle Maximum Availability Architecture (MAA), guidelines on developing high-availability systems
  • Optimal Flexible Architecture
    Optimal Flexible Architecture
    Optimal Flexible Architecture , a standard of Oracle Corporation, encourages consistent layouts when installing and configuring the Oracle Database product on computer systems.-Overview:OFA defines where each component will install its files...

     (OFA), blueprints for mapping Oracle-database objects to file-systems

Oracle Certification Program


The Oracle Certification Program
Oracle Certification Program
The Oracle Certification Program is a professional certification program offered by the Oracle Corporation. There are three levels of Oracle Certification in several disciplines: Oracle Certified Associate , Oracle Certified Professional , and Oracle Certified Master .-Oracle9i Database...

, a professional certification
Professional certification
Professional certification, trade certification, or professional designation, often called simply certification or qualification, is a designation earned by a person to assure qualification to perform a job or task...

 program, includes the administration of Oracle Databases as one of its main certification paths. It contains three levels:
  1. Oracle Certified Associate (OCA)
  2. Oracle Certified Professional (OCP)
  3. Oracle Certified Master (OCM)

User groups


A variety of official (Oracle-sponsored) and unofficial Oracle User Group
Oracle User Group
An Oracle User Group is a private, generally non-profit or not-for-profit organization that provides support and education for users of Oracle Corporation technology, particularly for professional users, however student user groups have also been established....

s has grown up of users and developers of Oracle databases. They include:
  • Oracle Technology Network
    Oracle Technology Network
    is Oracle Corporation's official, interactive online/offline community for Oracle technical professionals. It professes to be the world's largest online community of developers, DBAs, and architects using Oracle products and computer-industry-standard technologies...

  • Independent Oracle Users Group
  • Geographical/regional user groups
  • Product-centric user groups
  • Industry-centric user groups
  • The Oak Table Network
  • Usenet newsgroups

Competition


In the market for relational databases, Oracle Database competes against commercial products such as IBM's DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...

 UDB and Microsoft SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

. Oracle and IBM tend to battle for the mid-range database market on UNIX and Linux platforms, while Microsoft dominates the mid-range database market on Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 platforms. However, since they share many of the same customers, Oracle and IBM tend to support each other's products in many middleware and application categories (for example: WebSphere
WebSphere
IBM WebSphere refers to a brand of computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create applications and integrate applications with other applications...

, PeopleSoft
PeopleSoft
PeopleSoft, Inc. was a company that provided Human Resource Management Systems , Financial Management Solutions , Supply Chain and customer relationship management software, as well as software solutions for manufacturing, enterprise performance management, and student administration to large...

, and Siebel Systems
Siebel Systems
Siebel CRM Systems, Inc. was a software company principally engaged in the design, development, marketing, and support of customer relationship management applications. The company was founded by Thomas Siebel in 1993. At first known mainly for its sales force automation products, the company...

 CRM
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

), and IBM's hardware divisions work closely with Oracle on performance-optimizing server-technologies (for example, Linux on zSeries). The two companies have a relationship perhaps best described as "coopetition
Coopetition
Coopetition or Co-opetition is a neologism coined to describe cooperative competition....

". Niche commercial competitors include Teradata
Teradata
Teradata Corporation is a vendor specializing in data warehousing and analytic applications. Its products are commonly used by companies to manage data warehouses for analytics and business intelligence purposes. Teradata was formerly a division of NCR Corporation, with the spinoff from NCR on...

 (in data warehousing and business intelligence), Software AG's ADABAS
Adabas
ADABAS is Software AG’s primary database management system.- History :First released in 1970, ADABAS is considered by some to have been one of the earliest commercially available database products...

, Sybase
Sybase
Sybase, an SAP company, is an enterprise software and services company offering software to manage, analyze, and mobilize information, using relational databases, analytics and data warehousing solutions and mobile applications development platforms....

, and IBM's Informix
Informix
IBM Informix is a family of relational database management system developed by IBM. It is positioned as IBM's flagship data server for online transaction processing as well as integrated solutions...

, among many others.

In 2007, competition with SAP AG
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...

 occasioned litigation from Oracle Corporation.

Increasingly, the Oracle database products compete against such open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 relational database systems as PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

, Firebird
Firebird (database server)
Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....

, and MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

. Oracle acquired Innobase
Innobase
Innobase Oy is a Finnish company headquartered in Helsinki, Finland. Innobase is best known for being the developer of InnoDB transactional storage engine for the MySQL open source database system. Innobase Oy is a subsidiary of Oracle Corporation, which acquired Innobase in 2005.- History :In 1995...

, supplier of the InnoDB
InnoDB
InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

 codebase to MySQL, in part to compete better against open source alternatives, and acquired Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

, owner of MySQL, in 2010. Database products licensed as open source are, by the legal terms of the Open Source Definition
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....

, free to distribute and free of royalty or other licensing fees.

Pricing


Oracle Corporation offers term licensing for all Oracle products. It bases the list price for a term-license on a specific percentage of the perpetual license price. Prospective purchasers can obtain licenses based either on the number of processors in their target server machines or on the number of potential seats
Per-seat license
A Per-seat license is a software license based on the number of individual users who have access to the software. For example 50-user per-seat license would mean that up to 50 individually named users can access the program . Per seat licensing is administered by providing user-level security to...

 ("named users").

Enterprise Edition: , the database that costs the most per machine-processor among Oracle database editions, at $47,500 per processor. The term "per processor" for Enterprise Edition is defined with respect to physical cores and a processor core multiplier (common processors = 0.5*cores). e.g. An 8-processor, 32-core server using Intel Xeon 56XX CPUs would require 16 processor licenses.
Standard Edition: Cheaper: it can run on up to four processors but has fewer features than Enterprise Edition—it lacks proper parallelization, etc.; but remains quite suitable for running medium-sized applications.
Standard ONE: Sells even more cheaply, but remains limited to two CPUs. Standard Edition ONE sells on a per-seat basis with a five-user minimum. Oracle Corporation usually sells the licenses with an extra 22% cost for support and upgrades (access to MetaLink—Oracle Corporation's support site) which customers need to renew 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 11 GB of user data and to 1 GB of memory used by the database (SGA+PGA). XE will use no more than one CPU and lacks an internal JVM
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...

. XE runs only on Windows and on Linux, not on AIX, Solaris, HP-UX and the other operating systems available for other editions. Support is via a free Oracle Discussion Forum only.

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
Total cost of ownership
Total cost of ownership is a financial estimate whose purpose is to help consumers and enterprise managers determine direct and indirect costs of a product or system...

 often exceeds this, as large Oracle installations usually require experienced and trained database administrator
Database administrator
A database administrator is a person responsible for the design, implementation, maintenance and repair of an organization's database. They are also known by the titles Database Coordinator or Database Programmer, and is closely related to the Database Analyst, Database Modeller, Programmer...

s to do the set-up properly. Because of the product's large installed base and available training courses, Oracle specialists in some areas have become a more abundant resource than those for more exotic databases. Oracle frequently provides special training offers for database-administrators.

On Linux, Oracle's certified configurations include Oracle's own Oracle Linux and other commercial Linux distributions (Red Hat Enterprise Linux
Red Hat Enterprise Linux
Red Hat Enterprise Linux is a Linux-based operating system developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64...

 3, 4 and 5, SuSE SLES
SUSE Linux Enterprise Server
SUSE Linux Enterprise Server is a Linux distribution supplied by SUSE and targeted at the business market. It is targeted for servers, mainframes, and workstations but can be installed on desktop computers for testing as well. New major versions are released at an interval of 3-4 years, while...

 8, 9 and 10, Asianux
Asianux
Asianux is a Linux distribution. It is a joint development between Linux vendors Red Flag Software of China, Miracle Linux of Japan , Haansoft of South Korea, VietSoftware of Vietnam , WTEC from Thailand and Enterprise Technology Limited of Sri Lanka...

) which can cost in a range from a few hundred to a few thousand USD per year (depending on processor architecture and the support package purchased).

The Oracle database system can also install and run on freely available Linux distributions such as the Red Hat-based CentOS, or Debian-based systems.

See also

  • Comparison of relational database management systems
    Comparison of relational database management systems
    The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...

  • Comparison of object-relational database management systems
    Comparison of object-relational database management systems
    The following Database Management Systems have at least some object-relational features. They vary widely in their completeness and the approaches taken....

  • Database management system
    Database management system
    A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...

  • List of ERP software packages
  • List of relational database management systems
  • Oracle Rdb
    Oracle Rdb
    Rdb/VMS is a relational database management system for the Hewlett-Packard OpenVMS operating system. It was originally created by Digital Equipment Corporation in 1984 as part of the VMS Information Architecture, intended to be used for data storage and retrieval by high-level languages and/or...

     for OpenVMS
    OpenVMS
    OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

  • Run Book Automation

External links