Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is an object-relational database management system produced and marketed by Oracle Corporation.
Larry Ellison and his two friends and former co-workers, Bob Miner and Ed Oates, started a consultancy called 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-funded project Ellison had worked on while previously employed by Ampex.
Physical and logical structures
An Oracle database system--identified by an alphanumeric system identifier or SID--comprises at least one instance 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 and memory-structures that interact with the storage. (Typical processes include PMON (the process monitor) and SMON (the system monitor).) Oracle documentation can refer to an active database instance as a "shared memory realm".
Users of Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds cache information such as data-buffers, SQL commands, and user information. In addition to storage, the database consists of online redo logs (or logs), which hold transactional history. Processes can in turn archive the online redo logs into archive logs (offline redo logs), which provide the basis (if necessary) for data recovery and for the physical-standby forms of data replication using Oracle Data Guard.
If the Oracle database administrator has implemented Oracle RAC (Real Application Clusters), then multiple instances, usually on different servers, attach to a central storage array. This scenario offers advantages such as better performance, scalability and redundancy. However, support becomes more complex, and many sites do not use RAC. In version 10g, grid computing introduced shared resources where an instance can use (for example) CPU resources from another node (computer) in the grid.
The Oracle DBMS can store and execute stored procedures and functions within itself. PL/SQL (Oracle Corporation's proprietary procedural extension to SQL), or the object-oriented language Java can invoke such code objects and/or provide the programming structures for writing them.
Storage
The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form of data files ("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.
A DBA can impose maximum quotas on storage per user within each tablespace.
Partitioning
The partitioning feature was introduced in Oracle 8. This allows the partitioning of tables based on different set of keys. Specific partitions can then be easily added or dropped to help manage large data sets.
Monitoring
Oracle database management tracks its computer data storage with the help of information stored in the SYSTEM
tablespace. The SYSTEM
tablespace contains the data dictionary--and often (by default) indexes and clusters. A data dictionary consists of a special collection of tables that contains information about all user-objects in the database. Since version 8i, the Oracle RDBMS also supports "locally managed" tablespaces that store space management information in bitmaps in their own headers rather than in the SYSTEM
tablespace (as happens with the default "dictionary-managed" tablespaces). Version 10g and later introduced the SYSAUX
tablespace, which contains some of the tables formerly stored in the SYSTEM
tablespace, along with objects for other tools such as OEM, which previously required its own tablespace.
Disk files
Disk files primarily represent one of the following structures:
- Data and index files: These files provide the physical storage of data, 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 a database will store these files 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: These special datafiles, which can only contain undo information, aid in recovery, rollbacks, and read-consistency.
- Archive log files: These files, copies of the redo log files, are usually stored at different locations. They are necessary (for example) when applying changes to a standby database, or when performing recovery after a media failure. It is possible to archive to multiple locations.
- Tempfiles: These special datafiles serve exclusively for temporary storage data (used for example for large sorts or for global temporary tables)
- 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 files comprise one or more data blocks, where the block size can vary between data files.
Data files can occupy pre-allocated space in the file system of a computer server, utilize raw disk directly, or exist within ASM logical volumes.
Database schema
Most Oracle database installations traditionally came with a default schema called SCOTT
. After the installation process sets up 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 now de-emphasizes the SCOTT
schema, as it uses few features of more recent Oracle releases. Most recent 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
, andSH
(expanded sample schemas containing more data and structures than the olderSCOTT
schema).
System Global Area
Each Oracle instance uses a System Global Area or SGA--a shared-memory 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:
- Datafiles
Every Oracle database has one or more physical datafiles, which contain all the database data. The data of logical database structures, such as tables and indexes, is physically stored in the datafiles allocated for a database.
Datafiles have the following characteristics:
- One or more datafiles form a logical unit of database storage called a tablespace.
- A datafile can be associated with only one tablespace.
- Datafiles can be defined to extend automatically when they are full.
Data in a datafile is read, as needed, during normal database operation and stored in the memory cache of Oracle Database. For example, if a user wants to access some data in a table of a database, and if the requested information is not already in the memory cache for the database, then it is read from the appropriate datafiles and stored in memory.
Modified or new data is not necessarily written to a datafile immediately. To reduce the amount of disk access and to increase performance, data is pooled in memory and written to the appropriate datafiles all at once.
- the redo log buffer: this stores redo entries--a log of changes made to the database. The instance writes redo log buffers to the redo log as quickly and efficiently as possible. The redo log aids in instance recovery in the event of a system failure.
- the shared pool: this area of the SGA stores shared-memory structures such as shared SQL areas in the library cache and internal information in the data dictionary. An insufficient amount of memory allocated to the shared pool can cause performance degradation.
- the Large pool Optional area that provides large memory allocations for certain large processes, such as Oracle backup and recovery operations, and I/O server processes
- Database buffer cache: Caches blocks of data retrieved from the database
- KEEP buffer pool: A specialized type of database buffer cache that is tuned to retain blocks of data in memory for long periods of time
- RECYCLE buffer pool: A specialized type of database buffer cache that is tuned to recycle or remove block from memory quickly
- nK buffer cache: One of several specialized database buffer caches designed to hold block sizes different from the default database block size
- Java pool:Used for all session-specific Java code and data in the Java Virtual Machine (JVM)
- Streams pool: Used by Oracle Streams to store information required by capture and apply
When you start the instance by using Enterprise Manager or SQL*Plus, the amount of memory allocated for the SGA is displayed.
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 comprises a set of tables and views that map the structure of the database.
Oracle databases store information here about the logical and physical structure of the database. The data dictionary contains information such as:
- 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 to parse SQL statements. Oracle operation depends on ready access to the data dictionary--performance bottlenecks in the data dictionary affect all Oracle users. Because of this, database administrators must 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 this 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 that holds information such as bind-variables and runtime-buffers
- sorting area: an area in the PGA that holds information on sorts, hash-joins, etc.
DBAs can monitor PGA usage via the system view.
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.
Process architectures
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 - temporarily or permanently - some of the following individual processes (shown along with their abbreviated nomenclature):
- advanced queueing 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*
- Data Pump worker processes (DWnn)
- dispatcher processes (Dnnn): multiplex server-processes on behalf of users
- main Data Guard Broker monitor process (DMON)
- 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 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 (ASMM)
- 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
- netslave processes (NSVn): Data Guard Broker inter-database communication processes
- process-monitor process (PMON) *REQUIRED*
- process-spawner process (PSP0): spawns Oracle background processes after initial instance startup
- queue-monitor coordinator process (QMNC): dynamically spawns queue monitor slaves
- queue-monitor processes (QMNn)
- recoverer process (RECO)
- remote file-server process (RFS): in Oracle Data Guard, a standby recipient of primary redo-logs
- monitor for Data Guard management (RSM0): Data Guard Broker Worker process
- shared server processes (Snnn): serve client-requests
- system monitor process (SMON) *REQUIRED*
User processes, connections and sessions
Oracle Database terminology distinguishes different computer-science terms in describing how end-users interact with the database:
- user processes involve the invocation of application software
- a connection refers to the pathway linking a user process to an Oracle instance
- sessions 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 (alternatively documented as "enqueues"). The databases also utilize "latches" - low-level serialization mechanisms to protect shared data structures in the System Global Area.
Oracle locks fall into three categories:
- DML locks (or data locks) protect data
- DDL locks (or data dictionary locks) protect the structure of schema objects
- System locks (including latches, mutexes and internal locks) protect internal database structures like data files.
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<SID-name>.ora
. The default binary equivalent server parameter file ("spfile") (dynamically reconfigurable to some extent) defaults to the format spfile<SID-name>.ora
. Within an SQL-based environment, the views V$PARAMETER
and V$SPPARAMETER
give access to reading parameter values.
Learn Oracle Dba Video
Administration
The "Scheduler" (DBMS_SCHEDULER package, available from Oracle 10g onwards) and the Job subsystem (DBMS_JOB package) permit the automation of predictable processing.
Oracle Resource Manager aims to allocate CPU resources between users and groups of users when such resources become scarce.
Oracle Corporation stated in product announcements that manageability for DBAs had improved from Oracle9i to 10g. Lungu and V?tuiu (2008) assessed the relative manageability by performing common DBA tasks and measuring timings. They performed their tests on a single Pentium CPU (1.7 GHz) with 512 MB RAM,running Windows Server 2000. From Oracle9i to 10g, installation improved 36%, day-to-day administration 63%, backup and recovery 63%, and performance diagnostics and tuning 74%, for a weighted total improvement of 56%. The researchers concluded that "Oracle10g represents a giant step forward from Oracle9i in making the database easier to use and manage".
Network access
Oracle Net Services allow client or remote applications to access Oracle databases via network sessions using various protocols.
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".
History
Corporate/technical timeline
- 1977: Larry Ellison and friends founded Software Development Laboratories (SDL).
- 1978: Oracle Version 1, written in assembly language, runs on PDP-11 under RSX, in 128K of memory. Implementation separates Oracle code and user code. Oracle V1 is never officially released.
- 1979: SDL changed its company-name to "Relational Software, Inc." (RSI) and introduced its product Oracle V2 as an early relational database system - often cited as the first commercially sold RDBMS. 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.)
- 1982: RSI in its turn changed its name, becoming known as "Oracle Corporation", 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, and which supported
COMMIT
andROLLBACK
functionality for transactions. Version 3 extended platform support from the existing Digital VAX/VMS systems to include Unix environments. - 1984: Oracle Corporation released Oracle version 4, which supported read-consistency. In October it also released the first Oracle for the IBM PC.
- 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 queries.
- 1988: Oracle RDBMS version 6 came out with support for PL/SQL embedded within Oracle Forms v3 (version 6 could not store PL/SQL in the database proper), row-level locking and hot backups.
- 1989: Oracle Corporation entered the application-products market and developed its ERP product, (later to become part of the Oracle E-Business Suite), based on the Oracle relational database.
- 1990: the release of Oracle Applications release 8
- 1992: Oracle version 7 appeared with support for referential integrity, stored procedures and triggers.
- 1997: Oracle Corporation released version 8, which supported object-oriented development and multimedia applications.
- 1999: The release of Oracle8i aimed to provide a database inter-operating better with the Internet (the i in the name stands for "Internet"). The Oracle8i database incorporated a native Java virtual machine (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 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.
- 2002: the release of Oracle 9i Database Release 2 (9.2.0)
- 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 ready".)
- 2005: Oracle Database 10.2.0.1--also known as Oracle Database 10g Release 2 (10gR2)--appeared.
- 2006: Oracle Corporation announces Unbreakable Linux and acquires i-flex
- 2007: Oracle Database 10g release 2 sets a new world record TPC-H 3000 GB benchmark result
- 2007: Oracle Corporation released Oracle Database 11g for Linux and for Microsoft Windows.
- 2008: Oracle Corporation acquires BEA Systems.
- 2010: Oracle Corporation acquires Sun Microsystems.
- 2011: Oracle Corporation acquires web content management system FatWire Software.
- 2011: On 18 October, Oracle Corporation acquires Endeca Technologies Inc. faceted search engine software vendor.
- 2013: Oracle Corporation released Oracle Database 12c for Linux, Solaris and Windows. (The c stands for "cloud".)
Patch Updates and Security Alerts
Oracle Corporation releases Critical Patch Updates (CPUs) or Security Patch Updates (SPUs) and Security Alerts to close security holes that could be used for data theft.Critical Patch Updates (CPUs) and Security Alerts come out quarterly on the Tuesday closest to 17th day of the month.
- Customers may receive release notification by email.
- White Paper: Critical Patch Update Implementation Best Practices
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", "g" and "c" 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", "grid" and "cloud", 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 10g (also known as "Oracle AS 10g"): a middleware product;
- Oracle Applications Release 11i (aka Oracle e-Business Suite, Oracle Financials or Oracle 11i): a suite of business applications;
- Oracle Developer Suite 10g (9.0.4);
- Oracle JDeveloper 10g: a Java integrated development environment;
Since version 2, Oracle's RDBMS release numbering has used the following codes:
- Oracle v2 : 2.3
- Oracle v3 : 3.1.3
- Oracle v4 : 4.1.4.0-4.1.4.4
- Oracle v5 : 5.0.22, 5.1.17, 5.1.22
- Oracle v6 : 6.0.17-6.0.36 (no OPS code), 6.0.37 (with OPS)
- Oracle7: 7.0.12-7.3.4
- Oracle8 Database: 8.0.3-8.0.6
- Oracle8i Database Release 1: 8.1.5.0-8.1.5.1
- Oracle8i Database Release 2: 8.1.6.0-8.1.6.3
- Oracle8i Database Release 3: 8.1.7.0-8.1.7.4
- Oracle9i Database Release 1: 9.0.1.0-9.0.1.5 (Patchset as of December 2003)
- Oracle9i Database Release 2: 9.2.0.1-9.2.0.8 (Patchset as of April 2007)
- Oracle Database 10g Release 1: 10.1.0.2-10.1.0.5 (Patchset as of February 2006)
- Oracle Database 10g Release 2: 10.2.0.1-10.2.0.5 (Patchset as of April 2010)
- Oracle Database 11g Release 1: 11.1.0.6-11.1.0.7 (Patchset as of September 2008)
- Oracle Database 11g Release 2: 11.2.0.1-11.2.0.4 (Patchset as of August 2013)
- Oracle Database 12c Release 1: 12.1 (Patchset as of June 2013)
- Oracle Database 12c Release 1: 12.1.0.2 (Patchset as of July 2014)
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 Database 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 functionality:
- 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 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 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")
- The first Express Edition, introduced in 2005, offered Oracle 10g free to distribute on Windows and Linux platforms. It had a footprint of only 150 MB, had a limitation to a maximum of 4 GB of user data and could use only a single CPU. Although it could install on a server with any amount of memory, it used a maximum of 1 GB. Support for this version came exclusively through on-line forums and not through Oracle support.
- Oracle 11g Express Edition, released by Oracle Corporation on 24 September 2011, can support 11 GB of user data. Oracle XE does not support loading Java code into the database.
- Oracle Database Lite, intended for running on mobile devices. The embedded mobile database located on the mobile device can synchronize with a server-based installation. Includes support for Win32, Windows CE, Palm OS, and EPOC database clients, integration with Oracle's Advanced Queuing (AQ) mechanism, and data- and application-synchronization software (for integration to enterprise Oracle databases). Supports 100% Java development (through JDBC drivers and the database's native support for embedded SQLJ and Java stored procedures).
Host platforms
Prior to releasing Oracle 9i in 2001, Oracle Corporation ported its database product to a wide variety of platforms. Subsequently Oracle Corporation consolidated on a smaller range of operating-system platforms.
As of November 2011, Oracle Corporation supported the following operating systems and hardware platforms for Oracle Database 11g (11.2.0.2.0):
- zLinux (64-bit)
- Microsoft Windows (32-bit)
- Microsoft Windows (x64)
- Linux x86
- Linux x86-64
- Solaris (SPARC)
- Solaris (x86-64)
- HP-UX Itanium
- HP-UX PA-RISC (64-bit)
- AIX (PPC64)
- OpenVMS (IA64)
In 2011, Oracle Corporation announced the availability of Oracle Database Appliance, a pre-built, pre-tuned, highly available clustered database server built using two SunFire X86 servers and direct attached storage.
Some Oracle Enterprise edition databases running on certain Oracle-supplied hardware can utilize Hybrid Columnar Compression for more efficient storage.
Related software
Oracle products
- Oracle Database Firewall analyzes database traffic on a network to prevent threats such as SQL injection.
Database options
Oracle Corporation refers to some extensions to the core functionality of the Oracle database as "database options". In most cases, using these options entails extra licensing costs.
As of 2013 database options include:
- Active Data Guard (extends Oracle Data Guard physical standby functionality in 11g)
- Advanced Compression (compresses tables, backups and redo-data)
- Content database (provides a centralized repository for unstructured information)
- Data mining (ODM) mines for patterns in existing data
- Database Vault (enforces extra security on data access)
- In-Memory Database Cache (utilizes TimesTen technology)
- Label Security (enforces row-level security)
- Management Packs (various). For example:
- Oracle Database Change Management Pack (tracks and manages schema changes)
- Oracle Advanced Security (adds public-key infrastructure security and data encryption methods - both for data at rest and for data on the network)
- Oracle Answers (for ad-hoc analysis and reporting)
- Oracle Application Express, a no-cost environment for database-oriented software-development
- Oracle GoldenGate 11g (distributed real-time data acquisition)
- Oracle Multitenant - a container database (CDB) holding pluggable databases (PDBs) (from 12c)
- Oracle OLAP (adds analytical processing)
- Oracle Programmer (provides programmatic access to Oracle databases via precompilers, interfaces and bindings)
- 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)
- Oracle Spatial and Graph - includes 2D, 3D and raster geospatial data types, indexes, and spatial analytics and data models used in business applications and in geographic information systems (GIS), as well as World Wide Web Consortium Resource Description Framework (RDF) graph management and analysis
- Oracle Text uses standard SQL to index, search, and analyze text and documents stored in the Oracle database.
- Oracle XML DB, a no-cost component in each edition of the database that provides high-performance technology for storing and retrieving native XML
- Oracle Warehouse Builder (in various forms and sub-options)
- Partitioning (granularizes tables and indexes for efficiency)
- Real Application Clusters (RAC) (coordinates multiple database servers, together accessing the same database)
- Records database (a records management application)
- 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)
Suites
In addition to its RDBMS, Oracle Corporation has released several related suites of tools and applications relating to implementations of Oracle databases. For example:
- Oracle Application Server, a J2EE-based application server, aids in developing and deploying applications that use Internet technologies and a browser.
- Oracle Collaboration Suite contains messaging, groupware and collaboration applications.
- Oracle Developer Suite contains software development tools, including JDeveloper.
- Oracle E-Business Suite collects together applications for enterprise resource planning (including Oracle Financials), customer relationship management and human resources management (Oracle HR).
- 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 "Oracle Enterprise Manager Grid Control".
- Oracle Programmer/2000, a bundling of interfaces for 3GL programming languages, marketed with Oracle7 and Oracle8.
- Oracle WebCenter 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 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
- Generic Connectivity for connecting to non-Oracle systems.
- Data Pump utilities, which aid in importing and exporting data and metadata between databases
- SQL*Loader, utility that facilitates high performance data loading.
- 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 for selective data recovery and reconstruction
- iSQL*Plus, a web-browser-based graphical user interface (GUI) for Oracle database data-manipulation (compare SQL*Plus)
- Oracle Data Access Components (ODAC), tools that 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.
- Oracle Multimedia (known as "Oracle interMedia" before Oracle 11g) for storing and integrating multimedia data within a database
- Oracle Spatial and Graph
- Recovery Manager (rman) for database backup, restoration and recovery
- SQL*Plus, a program that allows users to interact with Oracle database(s) via SQL and PL/SQL commands on a command-line. Compare iSQL*Plus.
- Universal Connection Pool (UCP), a connection pool based on Java and supporting JDBC, LDAP, and JCA
- Virtual Private Database (VPD), an implementation of fine-grained access control.
Utilities
Oracle Corporation classifies as "utilities" bundled software supporting data transfer, data maintenance and database administration.
Utilities included in Oracle database distributions include:
- oradebug - interfaces with Oracle session tracing
Tools
Users can develop their own applications in Java and PL/SQL using tools such as:
- Oracle Forms
- Oracle JDeveloper
- Oracle Reports
As of 2007 Oracle Corporation had started a drive toward "wizard"-driven environments with a view to enabling non-programmers to produce simple data-driven applications.
The Database Upgrade Assistant (DBUA) provides a GUI for the upgrading of an Oracle database.
JAccelerator (NCOMP) - a native-compilation Java "accelerator", integrates hardware-optimized Java code into an Oracle 10g database.
Oracle SQL Developer, 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.
Oracle's OPatch provides patch management for Oracle databases.
The SQLTXPLAIN tool (or SQLT) provides tuning assistance for Oracle SQL queries.
Other databases marketed by Oracle Corporation
Having acquired other technology in the database field, Oracle Corporation can also offer:
- TimesTen, a memory-resident database that can cache transactions and synchronize data with a centralized Oracle database server. It functions as a real-time infrastructure software product intended for the management of low-latency, high-volume data, of events and of transactions.
- BerkeleyDB, a simple, high-performance, embedded database
- Oracle Rdb, a legacy relational database for the OpenVMS operating-system
- MySQL, a relational database purchased as part of Oracle Corporation's takeover of MySQL's immediate previous owner, Sun Microsystems
- Oracle NoSQL Database, a scalable, distributed key-value NoSQL database
External routines
PL/SQL routines within Oracle databases can access external routines registered in operating-system shared libraries.
Use
The Oracle RDBMS has had a reputation among novice users as difficult to install on Linux systems. Oracle Corporation has packaged recent 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" or "MOS" web site - 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 (OFA), blueprints for mapping Oracle-database objects to file-systems
Oracle Certification Program
The Oracle Certification Program, a professional certification program, includes the administration of Oracle Databases as one of its main certification paths. It contains three levels:
- Oracle Certified Associate (OCA)
- Oracle Certified Professional (OCP)
- Oracle Certified Master (OCM)
User groups
A variety of official (Oracle-sponsored) and unofficial Oracle User Groups has grown up of users and developers of Oracle databases. They include:
- Geographical/regional user groups
- Independent Oracle Users Group
- Industry-centric user groups
- Oracle Technology Network
- Oracle Health Sciences User Group
- Product-centric user groups
- The OakTable Network
- Usenet newsgroups
Market position
As of 2013 Oracle holds #1 DBMS market share worldwide based on the revenue share ahead of its four closest competitors - IBM , Microsoft, SAP and Teradata.
Competition
In the market for relational databases, Oracle Database competes against commercial products such as IBM's DB2 UDB and Microsoft SQL Server. 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 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, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely with Oracle on performance-optimizing server-technologies (for example, Linux on z Systems). The two companies have a relationship perhaps 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.
In 2007, competition with SAP AG occasioned litigation from Oracle Corporation.
Increasingly, the Oracle database products compete against such open-source software relational database systems as PostgreSQL, Firebird, and MySQL. Oracle acquired Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better against open source alternatives, and acquired Sun Microsystems, owner of MySQL, in 2010. Database products licensed as open source are, by the legal terms of the Open Source Definition, 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 machines or on the number of potential seats ("named users").
As computers running Oracle often have many multi-core processors (resulting in many cores, all to be licensed), the software price can rise into the hundreds of thousands of dollars. The total cost of ownership often exceeds this, as large Oracle installations usually require experienced and trained database administrators to do the set-up properly. Furthermore, further components must be licensed and paid for, for instance the Enterprise Options used with the databases. Many licensing pitfalls let even rise the costs of ownership. 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 3, 4 and 5, SuSE SLES 8, 9, 10 and 11, Asianux), 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.
Are You Looking for Products
Here some products related to "Oracle Database".
Resilience in Curls - Kin..
Quest of the Rune Sword (..
Amazon.com leverages the ..
Amazon.com leverages the ..
Get these at Amazon.com * amzn.to is official short URL for Amazon.com, provided by Bitly
Source of the article : here
EmoticonEmoticon