Oracle Database

From Wikipedia, the free encyclopedia
  (Redirected from Oracle database)
Jump to navigation Jump to search

Oracle Database
Oracle logo.svg
Developer(s) Oracle Corporation
Stable release
18c (18.1)[1] / 16 February 2018; 4 months ago (2018-02-16)
Written in Assembly language, C, C++[2]
Type Multi-model database
License Proprietary[3]
Website oracle.com/database

Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is a multi-model database[4] management system produced and marketed by Oracle Corporation.

It is a database commonly used for running online transaction processing (OLTP), data warehousing (DW) and mixed (OLTP & DW) database workloads. The latest generation, Oracle Database 18c, is available on-prem, on-Cloud, or in a hybrid-Cloud environment. 18c may also be deployed on Oracle Engineered Systems (e.g. Exadata) on-prem, on Oracle (public) Cloud or (private) Cloud at Customer (e.g. Exadata Cloud at Customer). At Openworld 2017 in San Francisco, Executive Chairman of the Board and CTO, Larry Ellison announced the next database generation, Oracle Autonomous Database.

History

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 formerly employed by Ampex.[5]

Releases and versions

Oracle products follow a custom release-numbering and -naming convention. The "c" in the current release, Oracle Database 18c, stands for "Cloud". Previous releases (e.g. Oracle Database 10g and Oracle9i Database) have used suffixes of "g" and "i" which stand for "Grid" and "Internet" respectively. Prior to the release of Oracle8i Database, no suffixes featured in Oracle Database naming conventions. Note that there was no v1 of Oracle Database, as Larry Ellison, "knew no one would want to buy version 1".[6] Oracle's RDBMS release numbering has used the following codes:

Oracle
Database
Version
Initial
Release
Version
Initial
Release
Date
Terminal
Patchset
Version
Terminal
Patchset
Date
Marquee
Features
Oracle v2 2.3 1979 First commercially available SQL-based RDBMS
Oracle v3 3.1.3 1983 Concurrency control, data distribution, and scalability
Oracle v4 4.1.4.0 1984 4.1.4.4 Multiversion read consistency
Oracle v5 5.0.22 (5.1.17) 1985 5.1.22 Support for client/server computing and distributed database systems
Oracle v6 6.0.17 1988 6.0.37 Row-level locking, scalability, online backup and recovery, PL/SQL
Oracle 6.2 6.2.0 Oracle Parallel Server
Oracle7 7.0.12 June 1992 PL/SQL stored procedures, Triggers, Distributed 2-phase commit, Shared Cursors, Cost Based Optimizer
Oracle 7.1 7.1.0 Parallel SQL Execution
Oracle 7.2 7.2.0 June 1992 Shared Server, XA Transactions, Transparent Application Failover
Oracle 7.3 7.3.0 June 1992 7.3.4 February 1996 Object-relational database
Oracle8 Database 8.0.3 June 1997 8.0.6 Recovery Manager, Partitioning
Oracle8i Database 8.1.5.0 1998 8.1.7.4 August 2000 Native internet protocols and Java, Virtual Private Database
Oracle9i Database 9.0.1.0 2001 9.0.1.5 December 2003 Oracle Real Application Clusters (RAC), Oracle XML DB
Oracle9i Database Release 2 9.2.0.1 9.2.0.8 April 2007 Advanced Queuing, Data Mining, Streams, Logical Standby
Oracle Database 10g Release 1 10.1.0.2 2003 10.1.0.5 February 2006 Automated Database Management, Automatic Database Diagnostic Monitor, Grid infrastructure, Oracle ASM, Flashback Database
Oracle Database 10g Release 2 10.2.0.1 July 2005 [7] 10.2.0.5 April 2010 Real Application Testing, Database Vault, Online Indexing, Advanced Compression, Data Guard Fast-Start Failover, Transparent Data Encryption
Oracle Database 11g Release 1 11.1.0.6 September 2007 11.1.0.7 September 2008 Active Data Guard, Secure Files, Exadata
Oracle Database 11g Release 2 11.2.0.1 September 2009 [8] 11.2.0.4 August 2013 Edition Based Redefinition, Data Redaction, Hybrid Columnar Compression, Cluster File System, Golden Gate Replication, Database Appliance
Oracle Database 12c Release 1 12.1.0.1 July 2013 [9] 12.1.0.2 July 2014 Multitenant architecture, In-Memory Column Store, Native JSON, SQL Pattern Matching, Database Cloud Service
Oracle Database 12c Release 2 12.2.0.1 September 2016 (cloud)

March 2017 (on-prem)

Native Sharding, Zero Data Loss Recovery Appliance, Exadata Cloud Service, Cloud at Customer
Oracle Database 18c 18.1 February 2018 Polymorphic Table Functions, Active Directory Integration

The Oracle Database Administrators Guide includes a brief history on some of the key innovations introduced with each major release of Oracle Database.

Patch updates and security alerts

Oracle Corporation releases Critical Patch Updates (CPUs) or Security Patch Updates (SPUs)[10] 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

Oracle Database deployment

Oracle Database may be licensed and deployed on-premises on a choice of platforms including Oracle Engineered Systems, and on-Cloud with a choice of services running on general purpose hardware or Exadata. The various editions and Cloud services provide different levels of database functionality for difference use cases (e.g. dev/test, departmental and non-critical apps, mission-critical workloads) with different levels of performance, availability, etc. service levels.

  • Oracle Database Cloud Services: for on-Cloud and Cloud at Customer deployments
  • Oracle Database editions: mainly for on-prem deployments
  • Engineered systems such as Oracle Exadata specifically built for Oracle Database deployment (on-prem, on-Cloud, Cloud at Customer)

Database Cloud Services[11]

Oracle Corporation provides a wide-range of database cloud services on its Oracle Cloud platform that are designed for different database use cases; from test/dev deployments to small and medium sized workloads to large mission-critical workloads. Oracle Database Cloud Services are available on a choice of general purpose hardware and Exadata engineered systems, in either virtual machines environments or 'bare metal' infrastructure (now known as Oracle Cloud Infrastructure).

Database editions

As of 2017, the latest Oracle Database version (12.2.0.1) comes in three editions for on-premises deployments[12]:

  • Oracle Database Enterprise Edition (EE): offers industry-leading scalability and reliability[citation needed] in both clustered and single system configurations and imposes no limitation on server resources available to the database.
  • Oracle Database Standard Edition 2 (SE2): intended for small- to medium-sized implementations, SE2 includes Real Application Clusters and may be deployed on servers or clusters with a maximum of 2 sockets total and capped to use a maximum of 16 concurrent user threads. SE2 uses the same code base as EE, and therefore upwardly compatible and simple to upgrade to EE.
  • Oracle Database Personal Edition (PE): A single-user, single-machine development and deployment license that allows use of all database features. PE is upwardly compatible to SE2 and EE.

Oracle Corporation also makes the following edition available:

  • Oracle Database Express Edition (XE), a free-to-use entry-level version of Oracle Database available for Windows and Linux platforms limited to using only one CPU, up to 1 GB of RAM and storing up to 11 GB of user data. It provides a subset of SE2 functionality (lacking features such as Java Virtual Machine, managed backup and recovery and high availability), is community-supported and comes with its own license terms. XE was first introduced in 2005 with Oracle Database 10g Release 2 with a limitation to a maximum of 4 GB of user data. XE for Oracle Database 11g was released on 24 September 2011, and increased user data capacity to 11 GB.

Up to (and including) Oracle Database 12c release 12.1.0.1, Oracle also offered the following:

  • Oracle Database Standard Edition (SE) for single or clustered servers with a maximum capacity of 4 CPU sockets. It was largely the same as the current SE2 edition and included Real Application Clusters for use on server clusters with a maximum of 4 CPU sockets.
  • Oracle Standard Edition One (SE1), was first introduced with Oracle Database 10g. It offered the same features as SE and was licensed to run on single servers with a maximum of 2 CPU sockets.

Oracle Corporation discontinued SE and SE1 with the 12.1.0.2 release, and stopped offering new licenses for these editions on December 1, 2015.

Supported platforms

Oracle Database 12c is supported on the following OS and architecture combinations:

In 2008, Oracle Corporation announced the availability of Oracle Exadata Database Machine (V1), the first generation of Engineered Systems specifically designed for Oracle Database workloads.

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 use Hybrid Columnar Compression for more efficient storage.[14]

Database options and features

Database options

The Oracle Database offers a wide range of options[15] and features in the areas of Availability, Scalability, Analytics, Performance, Security, Management, Developers and Integration. These aim to enhance and complement existing database functionality to meet customer-specific requirements.[16] All Database Options are only available for Enterprise Edition and offered for an extra cost.[15][17] An exception to these two rules is Oracle Real Application Clusters option, which comes included with Oracle Database 12c Standard Edition 2 at no additional cost.[18]

Availability

  • Oracle Active Data Guard extends Oracle Data Guard functionality with advanced features, allowing read-only access to data in a physical standby database to offload primary of such tasks as reporting, ad-hoc queries, data extraction and backup, offloading redo transport and minimizing standby impact on commit response times (using Far Sync feature), providing option for rolling upgrades for non-RAC customers, managing clients workload across replicated database and improving automated service failover (using Global Data Services), etc.

Scalability

Analytics

Performance

  • Oracle Advanced Compression complements Enterprise Edition basic table compression feature with comprehensive data compression and Information Lifecycle Management capabilities, including those specifically tailored to Oracle's engineered systems, like Oracle Exadata.
  • Oracle Database In-Memory, an in-memory, column-oriented data store, has been seamlessly integrated[16] into the Oracle Database. This technology aims to improve the performance of analytic workloads without impacting the performance of transactions that continue to use Oracle's traditional row format in memory. The product's performance comes through the in-memory, columnar compressed format and through the use of SIMD vector processing (Single Instruction processing Multiple Data values).
    • In-Memory Aggregation improves performance of typical analytic queries using efficient in-memory arrays for joins and aggregation.[19][need quotation to verify]
  • Oracle Real Application Testing enable testing of system changes in a simulation of production-level workload and use.
  • Oracle TimesTen Application-Tier Database Cache allows caching subsets of a database in the application tier for improved response time. It is built using Oracle TimesTen In-Memory Database.

Security

  • Oracle Advanced Security provides Transparent Data Encryption and Data Redaction security features, the former allowing encryption of data stored in a database (all or a subset of it), exported using Data Pump, or backed up using Oracle Recovery Manager, and the latter allowing redaction of sensitive database data (e.g., credit card or social security numbers) returned to database applications.
  • Oracle Database Vault enforces segregation of duties, principle of least privilege and other data access controls, allowing protection of application data from access by privileged database users.
  • Oracle Label Security is a sophisticated and flexible framework for a fine-grained label based access control (LBAC) implementation.

Management

  • Oracle Multitenant is the capability that allows database consolidation and provides additional abstraction layer. In a Multitenant configuration, one Oracle database instance known as "container database" (CDB) acts as a federated database system for a collection of up to 252 distinct portable collections of database objects, referred to as "pluggable databases" (PDB), each appearing to an outside client as a regular non-CDB Oracle database.
  • Management Packs: integrated set of Oracle Enterprise Manager tools for maintaining various aspects of Oracle Database including:
    • Diagnostics Pack
    • Tuning Pack
    • Database Lifecycle Management Pack
    • Data Masking and Subsetting Pack
    • Cloud Management Pack for Oracle Database

Developers

Integration

  • Oracle GoldenGate 11g (distributed real-time data acquisition)

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 use 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.[original research?] Such "features" may include (for example):

  • Automatic Storage Management
  • Clusterware
  • Data Aggregation and Consolidation
  • Data Guard for high availability
  • Generic Connectivity for connecting to non-Oracle systems.
  • Database Resource Manager (DRM), which controls the use of computing resources.[22]
  • Expression filtering[23]
  • Fast-start parallel rollback[24]
  • Fine-grained auditing (FGA) (in Oracle Enterprise Edition)[25] supplements standard security-auditing features[26]
  • Flashback for selective data recovery and reconstruction[27]
  • Heterogeneous Services (HS), providing connectivity to non-Oracle systems and code.[28]
  • iSQL*Plus, a web-browser-based graphical user interface (GUI) for manipulating data in an Oracle database (compare SQL*Plus)
  • Oracle Data Access Components (ODAC), tools that consist of:[29]
    • Oracle Data Provider for .NET (ODP.NET)[30]
    • Oracle Developer Tools (ODT) for Visual Studio
    • Oracle Providers for ASP.NET
    • Oracle Database Extensions for .NET
    • Oracle Provider for OLE DB
    • 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, 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.
  • SQLcl, a command-line interface for queries, developed on the basis of Oracle SQL Developer[31]
  • Universal Connection Pool (UCP), a connection pool based on Java and supporting JDBC, LDAP, and JCA[32]
  • Virtual Private Database[33] (VPD), an implementation of fine-grained access control.[34]
  • Oracle Application Express, a no-cost environment for database-oriented software-development[35]
  • Oracle Text uses standard SQL to index, search, and analyze text and documents stored in the Oracle database.
  • Workspace Manager version-enables tables[36] using the WMSYS schema.[37]

Multi-model support

Oracle database provides a long list of supported data models that can be used and managed inside Oracle database:

  • JSON document support[38]Oracle Database supports JavaScript Object Notation (JSON) data natively with relational database features, including transactions, indexing, declarative querying, and views.[39].
  • Oracle Spatial and Graph Oracle Database provides native support for managing spatial and location data
    • Oracle Locator – a freely-available subset of Oracle Spatial and Graph
  • Oracle XML DB,[40] or XDB,[41], a no-cost component in each edition of the database, provides high-performance technology for storing and retrieving native XML.
  • Oracle Text[42], a no-cost component in each edition of the database. It provides native support for managing free text, in multiple languages inside the database.
  • Oracle Multimedia (known as "Oracle interMedia" before Oracle 11g) for storing and integrating multimedia data within a database[43]
  • Object-relational database[44] support, a no-cost component in each edition of the database. It provides native support for objects inside the database.

Utilities

Oracle Corporation classifies as "utilities" bundled software supporting data transfer, data maintenance and database administration.[45]

Utilities included in Oracle database distributions include:

  • Data Pump utilities, which aid in importing and exporting data and metadata between databases[46]
  • SQL*Loader, utility that facilitates high performance data loading.
  • oradebug – interfaces with Oracle session tracing[47]

Tools

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.[48]

The most popular application development tool that ships with Oracle Database is Oracle Application Express (APEX), a browser-based tool that allows developers to build responsive, database-driven applications, leveraging their SQL and PL/SQL skills.

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

Oracle REST Data Services (ORDS) function as a Java EE-based alternative to Oracle HTTP Server,[49] providing a REST-based interface to relational data.[50]

Users can also develop their own applications in Java and in PL/SQL, optionally using tools such as:

The Database Upgrade Assistant (DBUA)[51] provides a GUI for the upgrading of an Oracle database.[52]

JAccelerator (NCOMP) – a native-compilation Java "accelerator", integrates hardware-optimized Java code into an Oracle 10g database.[53]

Oracle's OPatch provides patch management for Oracle databases.[54]

The SQLTXPLAIN tool (or SQLT) offers tuning assistance for Oracle SQL queries.[55]

Testing

  • Oracle Live SQL makes available a test environment for Oracle Database users.[56]

Programming language APIs

Oracle Database can be accessed from many programming languages and environments. These include:

  • Java via JDBC, SQLJ
  • Microsoft .NET via ODP.NET
  • C and C++ via OCI, OCCI, Oracle's ODBC Driver, ODPI-C, OCILIB, Pro*C/C++
  • Node.js via node-oracledb
  • Python via cx_Oracle
  • PHP via PHP OCI8, PDO_OCI
  • Go via goracle, ora, go-oci8
  • R via ROracle
  • Ruby via ruby-oci8, ruby-odpi
  • Ruby on Rails via the Oracle "enhanced" ActiveRecord adapter
  • Perl via DBD::Oracle
  • Erlang via erloci
  • Rust via rust-oracle, mimir
  • COBOL via Pro*COBOL
  • FORTRAN via Pro*FORTRAN
  • SAS via SAS/ACCESS(R) for Relational Databases

Java based languages like Scala can use JDBC to access Oracle Database.

External routines

PL/SQL routines within Oracle databases can access external routines registered in operating-system shared libraries.[57][58] The DBMS_SCHEDULER package can invoke external scripts at the operating-system level from PL/SQL.

Use

The Oracle RDBMS has had a reputation among novice users as difficult to install on Linux systems.[citation needed] 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 preinstall a database server.[citation needed]

Database support options

Users who have Oracle support contracts can use Oracle's "My Oracle Support" or "MOS"[59] 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[60] 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)[61] 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)[62] 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:

  1. Oracle Certified Associate (OCA)
  2. Oracle Certified Professional (OCP)
  3. Oracle Certified Master (OCM)

User Groups

A large number of User Groups for Oracle Database administrators, developers and users has been established on geographical/region, industry and product basis, including:

  • Geographical/regional user groups[63] (e.g. The Independent Oracle Users Group (IOUG))
  • Industry-centric user groups (e.g. Oracle Health Sciences User Group)
  • Product-centric user groups (e.g. The OakTable Network)

The Oracle User Group communities also host regular events for customers/users to share their experiences and knowledge.

Market position

As of 2016 Oracle holds #1 RDBMS market share worldwide based on the revenue share ahead of its four closest competitors – Microsoft, IBM, SAP and Teradata .[64]

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[citation needed] with Oracle on performance-optimizing server-technologies (for example, Linux on z Systems). Niche commercial competitors include Teradata (in data warehousing and business intelligence), Software AG's ADABAS, Sybase, and IBM's Informix, among many others.

Increasingly, the Oracle database products compete against such open-source software relational database systems as PostgreSQL, MongoDB, and Couchbase. 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 Database Cloud Services[65]

Customers can choose from a wide range of database services on Oracle Cloud that are available as 'pay as you go' hourly and monthly rates, and also have the option to re-use existing on-prem licenses on Oracle Cloud via a Bring Your Own License (BYOL) program.[65]

Oracle Database On-Premise Licensing[66]

Prospective purchasers can obtain licenses for on-prem deployment based either on the number of processors in their target machines or on the number of potential seats ("named users").[67]. The term "per processor" for Oracle Database 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.[68]: The low entry cost, Oracle Database Standard Edition 2 (SE2), includes Real Application Clusters and may be deployed on servers or clusters with a maximum of 2 sockets total and capped to use a maximum of 16 concurrent user threads.
Oracle Database Express Edition (XE)[69] (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).[70] XE uses no more than one CPU and lacks an internal JVM. XE runs on 32-bit and 64-bit Windows and 64-bit Linux, but not on AIX, Solaris, HP-UX and the other operating systems available for other editions. Support is via a free Oracle Discussion Forum only.

Physical and logical structures

An Oracle database system—identified by an alphanumeric system identifier or SID[71]—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".[72]

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 for data recovery and for the physical-standby forms of data replication using Oracle Data Guard.

The Oracle RAC (Real Application Clusters) option uses multiple instances attached to a central storage array. In version 10g, grid computing introduced shared resources where an instance can use CPU resources from another node in the grid. The advantage of Oracle RAC is that the resources on both nodes are used by the database, and each node uses its own memory and CPU. Information is shared between nodes through the interconnect—the virtual private network.

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").[73] 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.[74]

Partitioning

The partitioning feature was introduced in Oracle 8.[75] This allows the partitioning of tables based on different set of keys. Specific partitions can then be 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, 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.[76]

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 with the tablespace SYSTEM), user data, or index data. DBAs can manage these files manually or leave their administration to Oracle itself. Note that a datafile has to belong to exactly one tablespace, whereas a tablespace can consist of multiple datafiles.
  • Redo log files, recording all changes to the database – used to recover from an instance failure. Often, a database stores these files multiple times for extra security in case of disk failure. Identical redo log files are associated in a "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. One can store identical archive logs in multiple locations.
  • Tempfiles: These special datafiles serve exclusively for temporary storage data (used for example during large sorts or for global temporary tables)
  • Control files, necessary for database startup. Oracle Corporation defines a control file as "[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".[77]

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, use raw disk directly, or exist within ASM logical volumes.[78]

Database schema

Most Oracle database installations come with a default schema called SCOTT. After the installation process sets up sample tables, the user logs 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.[79]

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[80][81] include:

  • SYS (essential core database structures and utilities)
  • SYSTEM (additional core database structures and utilities, and privileged account)
  • OUTLN (used to store metadata for stored outlines for stable query-optimizer execution plans.[82])
  • BI, IX, HR, OE, PM, and SH (expanded sample schemas[83] containing more data and structures than the older SCOTT 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.[84]

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.[85]<link>

Library cache

The library cache[86] 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[87] 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[88][89] or PGA memory-area of an Oracle instance contains data and control-information for Oracle's server-processes or background process. Every server or background process has its own PGA, the total of PGA elements is called Instance PGA.

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)[90] built on the basis of database memory.[91] 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):[92]

  • advanced queueing processes (Qnnn)[93]
  • 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 master process (DMnn)[94]
  • Data Pump worker processes (DWnn)[94]
  • dispatcher processes (Dnnn): multiplex server-processes on behalf of users
  • main Data Guard Broker monitor process (DMON)[95]
  • job-queue slave processes (Jnnn)[96]
  • log-writer process (LGWR) *REQUIRED*
  • log-write network-server (LNSn):[97] 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[98]
  • 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[99]
  • netslave processes (NSVn): Data Guard Broker inter-database communication processes[100]
  • parallel query execution servers (Pnnn)[101]
  • process-monitor process (PMON) *REQUIRED*
  • process-spawner process (PSP0): spawns Oracle background processes after initial instance startup[102]
  • queue-monitor coordinator process (QMNC): dynamically spawns queue monitor slaves[103]
  • queue-monitor processes (QMNn)
  • recoverer process (RECO)
  • remote file-server process (RFS): in Oracle Data Guard, a standby recipient of primary redo-logs[104]
  • monitor for Data Guard management (RSM0): Data Guard Broker Worker process[105]
  • shared server processes (Snnn): serve client-requests
  • space-management coordinator process (SMCO): coordinates space management (from release 11g)[106]
  • 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[107]
  • a connection refers to the pathway linking a user process to an Oracle instance[108]
  • sessions consist of specific established groups of interactions, with each group involving a client process and an Oracle instance.[109]

Each session within an instance has a session identifier – a session ID or "SID"[110][111] (distinct from the Oracle system-identifier SID), and may also have an associated SPID (operating-system process identifier).[112]

Concurrency and locking

Oracle databases control simultaneous access to data resources with locks (alternatively documented as "enqueues").[113] The databases also use "latches" – low-level serialization mechanisms to protect shared data structures in the System Global Area.[114]

Oracle locks fall into three categories:[115]

  • DML locks (or data locks) protect data
  • System locks (including latches, mutexes and internal locks) protect internal database structures like data files.
  • DDL locks (or data dictionary locks) protect the structure of schema objects.

Note: over the course of multiple releases Oracle has reduced the number of instances where an exclusive DDL lock is required when making changes to schema objects.

Non-blocking ddl's added as of 11.2

  • CREATE INDEX online
  • ALTER INDEX rebuild online
  • ALTER TABLE add column not null with default value
  • ALTER TABLE add constraint enable no validate
  • ALTER TABLE modify constraint validate
  • ALTER TABLE add column (without any default)
  • ALTER INDEX visible / invisible
  • ALTER INDEX parallel / no parallel

Non-blocking ddl's added to the list in 12.1

  • DROP INDEX online (backported to 11.2)
  • ALTER TABLE set unused column online
  • ALTER TABLE drop constraint online
  • ALTER INDEX unusable online
  • ALTER TABLE modify column visible / invisible
  • ALTER TABLE move partition / sub-partition online
  • ALTER TABLE add nullable column with default value

Non-blocking ddl's added to the list in 12.2

  • ALTER TABLE split partition [sub-partition] online
  • ALTER TABLE move online (move of a non-partitioned table)
  • ALTER TABLEe modify partition by .. online (to convert a non-partitioned table to partitioned state)

Non-blocking ddl's added to the list in 18.1

  • ALTER TABLE merge partition online
  • ALTER TABLE modify partition by .. online (to change the partitioning schema of a table)

Configuration

Database administrators control many of the tunable variations in an Oracle instance by means of values in a parameter file.[116] 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)[117] defaults to the format spfile<SID-name>.ora. Within an SQL-based environment, the views V$PARAMETER[118] and V$SPPARAMETER[119] give access to reading parameter values.

Implementation

The Oracle DBMS kernel code depends on C programming. Database administrators have limited access to Oracle-internal C structures via V$ views and their underlying X$ "tables".[120]

Layers or modules in the kernel (depending on different releases) may include the following (given with their inferred meaning):[121][122][123]

K:  Kernel
KA: Kernel Access
KC: Kernel Cache
KCB: Kernel Cache Buffer
KCBW: Kernel Cache Buffer Wait
KCC: Kernel Cache Control file
KCCB: Kernel Cache Control file Backup
KCCCF: Kernel Cache Copy Flash recovery area
KCCDC: Kernel cache Control file Copy
KCP: Kernel Cache transPortable tablespace
KCR: Kernel Cache Redo
KCT: Kernel Cache insTance
KD: Kernel Data
KG: Kernel Generic
KGL: Kernel Generic library cache
KGLJ: Kernel Generic library cache Java
KJ: Kernel Locking
KK: Kernel Compilation
KQ: Kernel Query
KS: Kernel Service(s)
KSB: Kernel Service Background
KSM: Kernel Service Memory
KSR: Kernel Service Reliable message
KSU: Kernel Service User
KSUSE: Kernel Service User SEssion
KSUSECON: Kernel Service User SEssion CONnection
KSUSEH: Kernel Service User SEssion History
KT: Kernel Transaction(s)
KTU: Kernel Transaction Undo
KX: Kernel Execution
KXS: Kernel eXecution Sql
KZ: Kernel Security
K2: Kernel Distributed Transactions

Administration

The "Scheduler" (DBMS_SCHEDULER package, available from Oracle 10g onwards) and the "Job" subsystems (DBMS_JOB package) permit the automation of predictable processing.[124]

Oracle Resource Manager aims to allocate CPU resources between users and groups of users when such resources become scarce.[125] As of Oracle Release 10.2, Database Resource Manager operates in Enterprise Edition.[126]

Oracle Corporation has stated in product announcements that manageability for DBAs improved from Oracle9i to 10g. Lungu and Vătuiu (2008) assessed relative manageability by performing common DBA tasks and measuring timings. [127] 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".

Logging and tracing

Various file-system structures hold logs and trace files, which record different aspects of database activity. Configurable destinations for such records can include:

  • background dump (bdump) destination: contains files generated when an Oracle process experiences unexpected problems.[128] Also holds the "alert log".[129]
  • core dump (cdump) destination
  • user dump (udump) destination

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.[130]

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.[131]

Oracle Corporation provides database developers with tools and mechanisms for producing internationalized database applications: referred to internally as "Globalization".[132]

See also

References

  1. ^ Dietrich, Mike (2018-02-16). "Oracle Database 18c : Now available on the Oracle Cloud and Oracle Engineered Systems". Retrieved 2018-07-06. 
  2. ^ Lextrait, Vincent (March 2016). "The Programming Languages Beacon, v16". Retrieved 15 December 2016. 
  3. ^ OTN Standard License
  4. ^ "Multimodel Database with Oracle Database 12c Release 2" (PDF). Retrieved 1 March 2017. 
  5. ^ "Welcome to Larryland". Guardian. Retrieved 2009-12-19. 
  6. ^ Julie Bort (September 29, 2014). "Larry Ellison Is A Billionaire Today Thanks To The CIA". 
  7. ^ http://www.oracle.com/us/corporate/press/017324_EN
  8. ^ http://www.oracle.com/us/corporate/press/032365
  9. ^ http://www.oracle.com/us/corporate/press/1967380
  10. ^ Baransel, Emre (2013). Oracle Data Guard 11gR2 Administration Beginner's Guide. Packt Publishing Ltd. ISBN 9781849687911. Retrieved 2014-01-15. You should not get confused between Critical Patch Update (CPU) and Security Patch Update (SPU) as CPU terminology has been changed to SPU from October 2012. 
  11. ^ "Oracle Database Cloud". 
  12. ^ "Oracle Software Investment Guide" (PDF). 
  13. ^ Operating System Requirements for x86-64 Linux Platforms
  14. ^ Martin, Christopher (2011). "Hybrid Columnar Compression And Oracle Storage" (PDF). Oracle Corporation. p. 1. Archived from the original (PDF) on 20 January 2013. Retrieved 7 February 2013. Oracle Database Hybrid Columnar Compression is included at no extra cost with the Sun ZFS Storage Appliance and Pillar Axiom Storage System [...] Oracle's Hybrid Columnar Compression technology [...] uses a combination of both row and columnar methods for storing data. This approach [...] achieves the compression benefits of columnar storage, while avoiding the performance shortfalls of a pure columnar format. 
  15. ^ a b Gelhausen, Jenny (August 2015). "Oracle Database 12c Product Family" (PDF). Oracle Technology Network. Retrieved 17 February 2016. 
  16. ^ a b Oracle Corporation. "Database Options Overview". Oracle Technology Network. Retrieved 17 February 2016. 
  17. ^ Oracle Corporation. "Oracle Technology Global Price List" (PDF). www.oracle.com. Retrieved 17 February 2016. 
  18. ^ Oracle Database Editions
  19. ^ Oracle Corporation. "In-Memory Aggregation". Oracle Help Center. Retrieved 17 February 2016. 
  20. ^ "Oracle Spatial and Graph". Oracle. Retrieved 2016-07-06. The Oracle Spatial and Graph option for Oracle Database 12c includes advanced features for spatial data and analysis; physical, network, and social graph applications; and a foundation to help location-enable business applications. 
  21. ^ Kothuri, Ravikanth; Godfrind, Albert; Beinat, Euro (2012). "8: Spatial indexes and operators". Pro Oracle Spatial for Oracle Database 11g. Expert's voice in Oracle. Apress. p. 244. ISBN 9781430242888. Retrieved 2016-07-06. A majority of the functionality of spatial indexes and spatial operators is part of Oracle Locator (included in all editions of the Oracle Database). 
  22. ^ Greenwald, Rick; Robert Stackowiak; Jonathan Stern (November 2007). Oracle Essentials: Oracle Database 11g. O'Reilly. p. 184. ISBN 978-0-596-51454-9. The Database Resource Manager (DRM) was first introduced in Oracle 8i [...] to place limits on the amount of computer resources that can be used [...] 
  23. ^ Floss, Kimberly (2004). Oracle SQL Tuning & CBO Internals. Oracle In-Focus Series. 16. Kittrell, North Carolina: Rampant TechPress. p. 234. ISBN 9780974599335. Retrieved 2017-08-02. The Expression Filter feature can be installed on an Oracle 10g Standard or Enterprise Edition database. It is provided as a set of PL/SQL packages, a Java package, a set of dictionary tables, catalog views. All these objects are created in a dedicated schema named EXFSYS. 
  24. ^ Ault, Mike; Liu, Daniel; Tumma, Madhu (2003). Don Burleson, ed. Oracle Database 10g New Features: Oracle 10g Reference for Advanced Tuning & Administration. Oracle In-Focus series. Rampant TechPress. pp. 51? or 544?. ISBN 978-0-9740716-0-2. Retrieved 2011-11-16. In the fast-start parallel rollback method, the background process SMON [...] rolls back a set of transactions in parallel [...] This feature is particularly useful when a system has transactions that run a long time before committing [...] 
  25. ^ "Feature Availability by Edition". Oracle Database Licensing Information 11g Release 1 (11.1) Part Number B28287-08. Oracle Corporation. May 2008. Retrieved 2008-08-19. 
  26. ^ Nanda, Arup. "Auditing Tells All". Oracle Database 10g: The Top 20 Features for DBAs. Oracle Corporation. Archived from the original on 15 May 2008. Retrieved 2008-08-19. ...the standard audit (available in all versions) and the fine-grained audit (available in Oracle 9i and up ... 
  27. ^ Oracle.com Archived 4 November 2006 at the Wayback Machine.
  28. ^ Laszewski, Tom; Williamson, Jason (2011). "2: Oracle Tools and Products". Oracle Information Integration, Migration, and Consolidation. Birmingham: Packt Publishing Ltd. ISBN 9781849682213. Retrieved 2017-06-09. The core of Oracle's database virtual federation strategy is Heterogeneous Services (HS). Heterogeneous Services provides [sic] transparent and generic gateway technology to connect to non-Oracle systems. Heterogeneous Services is an integrated component of the database. Therefore, it can exploit all the capabilities of the Oracle database including PL/SQL and Oracle SQL extensions. 
  29. ^ "Oracle Product Accessibility Status: Database Server Enterprise Edition". Oracle Corporation. 2 June 2008. Retrieved 2009-04-14. 
  30. ^ "Oracle Data Provider for .NET". Oracle Corporation. Archived from the original on 13 May 2008. Retrieved 2009-05-07. The Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database. 
  31. ^ Smith, Jeff (September 2015). "The Modern Command Line". Oracle Magazine. Oraxcle Technology Network. Oracle Corporation. Retrieved 2016-01-05. SQLcl is a new Java-based command-line interface for Oracle Database. [...] The new take on SQL*Plus, SQLcl, is based on the script engine in Oracle SQL Developer and is attached to a Java-based command-line interface. 
  32. ^ Greenwald, Rick; Stackowiak, Robert; Alam, Maqsood; Bhuller, Mans (2011). Achieving Extreme Performance with Oracle Exadata. Osborne ORACLE Press Series. McGraw-Hill Prof Med/Tech. pp. 328? or 432?. ISBN 978-0-07-175259-6. Retrieved 2011-10-12. The UCP is a Java-basd connection pool that supports JDBC, the Lightweight Directory Access Protocol (LDAP) and Java EE Connector Architecture (JCA) connection types from any middle tier. 
  33. ^ "Virtual Private Database" appears listed as a feature available as part of Oracle Enterprise Edition in: Manmeet Ahluwalia; et al. (October 2009). "Feature Availability by Edition". Oracle Database Licensing Information 11g Release 2 (11.2). Oracle Corporation. Archived from the original on 12 April 2010. Retrieved 9 February 2010. 
  34. ^ Kate, Aniket; Menezes, Bernard; Singh, Ashish (December 2005). "Security/Privacy Issues in Providing Database as a Service". Proceedings of 3rd International Conference on E-Governance, ICEG 2005 (PDF). Lahore: Lahore University of Management Sciences. pp. 156–159. Retrieved 2010-02-09. Oracle's Virtual Private Database (VPD) [...] is a practically implemented model for fine-grained access control wherein one or more security policies are attached to each table and view in the database. These policies are sets of functions coded in PL/SQL, C or Java. A user query that accesses a table or view having a security policy, is dynamically and transparently modified by appending a predicate. This predicate is returned by the policy function for the relation/view and is a function of the user who has fired the query. A secure application context is created for each user at log in. 
  35. ^ "Oracle Application Express 4.1". apex.oracle.com. Oracle Corporation. Retrieved 2012-01-09. Oracle Application Express is a no-cost option of the Oracle database. 
  36. ^ Alapati, Sam (2006). "6: Oracle Transaction Management". Expert Oracle Database 10g Administration. ITPro collection. Apress. p. 273. ISBN 9781430200666. Retrieved 2017-08-23. [...] Oracle provides the Workspace Manager, a feature you can use to version-enable tables, so different users can maintain different versions of the data. 
  37. ^ Shaul, Josh; Ingram, Aaron (2011). "4: Managing Default Accounts". Practical Oracle Security: Your Unauthorized Guide to Relational Database Security. Rockland, Massachusetts: Syngress. p. 99. ISBN 9780080555669. Retrieved 2017-08-23. The WMSYS account owns the schema used to store metadata information for the Oracle Workspace Manager. Workspace Manager is a tool used to manage multiple versions of data within the same database. 
  38. ^ "Database JSON Developer's Guide". Oracle Database Documentation. Oracle Corporation. Retrieved 2017-03-01. 
  39. ^ "XML DB Developer's Guide". docs.oracle.com. Retrieved 2017-07-13. 
  40. ^ "Oracle XML DB". Oracle Technology Network. Oracle Corporation. Retrieved 2016-02-11. Oracle XML DB is a high-performance, native XML storage and retrieval technology that is delivered as a part of all versions of Oracle Database. 
  41. ^ Mensah, Kuassi (2011). Oracle Database Programming using Java and Web Services. Digital Press. p. 518. ISBN 9780080525112. Retrieved 2016-02-11. The Oracle XML Database (also known as XDB) furnishes a native XMLType data type for managing XML documents directly in the database. 
  42. ^ "Text Application Developer's Guide". Oracle Database Documentation. Oracle Corporation. 
  43. ^ "Oracle Multimedia". www.oracle.com. Oracle Technology Network. Retrieved 2013-12-12. Oracle Multimedia is a feature that enables Oracle Database to store, manage, and retrieve multimedia data in an integrated manner with other enterprise information. 
  44. ^ "Database Object-Relational Developer's Guide". Oracle Database Documentation. Oracle Corporation. 
  45. ^ Cyran, Michele (October 2005). "Oracle Database Concepts, 10g Release 2 (10.2)". Oracle Help Center. Oracle Database Online Documentation, 10g Release 2 (10.2). Oracle Corporation. Oracle Utilities [...] This chapter describes Oracle database utilities for data transfer, data maintenance, and database administration. 
  46. ^ "Overview of Oracle Data Pump". Download.oracle.com. Retrieved 2009-12-19. 
  47. ^ For example: Allen, Grant; Bryla, Bob; Kuhn, Darl; Allen, Chris (2009). Oracle SQL Recipes: A Problem-Solution Approach. Expert's voice in Oracle. Apress. p. 482. ISBN 9781430225102. Retrieved 2015-11-29. The oradebug utility can be used to enable and disable tracing for a session. 
  48. ^ Evdoridis, Theodoros; Tzouramanis, Theodoros (2007). "A Generalized Comparison of Open Source and Commercial Database management Systems". In St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. IGI Global research collection. IGI Global. pp. 294–308. ISBN 9781591408925. Retrieved 2013-02-20. Oracle Corporation has started a drive toward wizard-driven environments with a view to enabling non-programmers to produce simple data-driven applications. 
  49. ^ Murray, Chuck (2016). "Oracle REST Data Services Installation and Configuration Guide, Release 2.0". Oracle. Retrieved 2016-08-01. Oracle REST Data Services is a Java EE-based alternative for Oracle HTTP Server and mod_plsql. The Java EE implementation offers increased functionality including a command line based configuration, enhanced security, file caching, and RESTful web services. 
  50. ^ Compare: Harrison, Guy (2015). Next Generation Databases. Apress. p. 201. ISBN 9781484213292. Retrieved 2016-08-01. [...] Oracle REST Data Services (ORDS) [...] provides a REST-based interface to data in relational tables. 
  51. ^ Shaw, John; Dyke, Julian (2006). Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance. Expert's Voice in Oracle. Apress. p. 54. ISBN 9781430202141. Retrieved 2012-01-22. The Database Upgrade Assistant (DBUA) is a GUI tool that guides you through the various steps in the upgrade process and configures the database for the target release. 
  52. ^ Freeman, Robert (2004). Oracle Database 10g New Features. Osborne ORACLE Press Series. McGraw Hill Professional. p. 4. ISBN 9780072229479. Retrieved 2014-01-22. The DBUA is a GUI that is designed for upgrading your Oracle database [...] 
  53. ^ Iyer, Venkatasubramaniam (August 2006). "9 Oracle Database Java Application Performance". Oracle Database Java Developer's Guide: 10g Release 2 (10.2). et al. Redwood City: Oracle USA, Inc. Retrieved 2013-07-29. Native compilation provides a speed increase ranging from two to ten times the speed of the bytecode interpretation. 
  54. ^ Kuhn, Darl; Kim, Charles; Lopuz, Bernard (2008). Linux Recipes for Oracle DBAs. Apress Series. Apress. pp. 275? or 501?. ISBN 978-1-4302-1575-2. Retrieved 2011-12-05. OPatch is a collection of Perl scripts and Java classes providing the capability to apply and roll back interim (one-off) patches to an Oracle database environment. 
  55. ^ Charalambides, Stelios (2013). Oracle SQL Tuning with Oracle SQLTXPLAIN. Apress. p. 1. ISBN 9781430248101. Retrieved 2013-06-17. [...] fast Oracle SQL tuning with SQLTXPLAIN, or SQLT as it is typically called [...] 
  56. ^ "Live SQL". Oracle live SQL. Oracle Corporation. 2016. Retrieved 2016-08-01. Oracle Live SQL exists to provide the Oracle database community with an easy online way to test and share SQL and PL/SQL application development concepts. 
  57. ^ Gupta, Saurabh (2012). Oracle Advanced PL/SQL Developer Professional Guide. Packt Publishing Ltd. p. 123. ISBN 9781849687225. Retrieved 2015-09-04. An external program must be executed as a shared library to be accessed in PL/SQL. [...] The shared libraries may include multiple programs, which can be invoked as external programs. 
  58. ^ Litchfield, David; Anley, Chris; Heasman, John; Grindlay, Bill (2005). "The Oracle Architecture". The Database Hacker's Handbook: Defending Database. New Delhi: John Wiley & Sons. p. 36. ISBN 9788126506156. Retrieved 2016-02-28. If users have the CREATE LIBRARY, or any of the other library privileges. then they have the ability to run arbitrary code through external procedures. 
  59. ^ Kuhn, Darl; Alapati, Sam; Nanda, Arup (2013). RMAN Recipes for Oracle Database 12c: A Problem-Solution Approach. Expert's voice in Oracle. Apress. p. 534. ISBN 9781430248361. Retrieved 2014-07-07. Search Oracle's My Oracle Support (MOS) web site at http://support.oracle.com. 
  60. ^ "Advanced MetaLink" (PDF). Archived from the original (PDF) on 8 June 2010. Retrieved 19 December 2009. 
  61. ^ Rea, Stephen (16 September 2008). "Upgrading Oracle 9.2.0.6 to 10.2.0.3 on AIX 5.2". University of Arkansas. Retrieved 2009-08-11. Run the Install checklist for Oracle 10.2.0 (Metalink Note 250262.1: RDA 4 – Health Check / Validation Engine Guide): The Health Check Validation Engine (HCVE) rule set for Oracle Database 10g R2 (10.2.0) PreInstall (AIX) is described in: Oracle.com 
  62. ^ "oracle maximum availability architecture News and Other Resources | TechRepublic". Search.techrepublic.com.com. Retrieved 2012-07-26. 
  63. ^ "Oracle Users Group Groups". Morganslibrary.org. Retrieved 2012-07-26. 
  64. ^ "Login Page". www.gartner.com. Retrieved 2017-12-15. 
  65. ^ a b "Oracle Cloud Database Services Pricing". 
  66. ^ "Oracle Price List" (PDF). 
  67. ^ Kreines, David C. (2005). Oracle DBA Pocket Guide. Pocket References Series. O'Reilly Media, Inc. pp. 16? or 145?. ISBN 978-0-596-10049-0. Retrieved 2010-08-10. Oracle products are currently licensed using two different licensing models: Per Named User. [...] Per Processor [...] 
  68. ^ "Processor Core Factor Table" (PDF). Retrieved 2011-04-08. 
  69. ^ "overview". Oracle.com. Retrieved 2012-07-26. 
  70. ^ Licensing Restrictions
  71. ^ Bhakthavatsalam, Namrata (August 2008). "Glossary". Oracle Database Client. Retrieved 2008-11-17. The SID automatically defaults to the database name portion of the global database name (sales in the example sales.us.example.com) until you reach eight characters or enter a period. You can accept or change the default value. 
  72. ^ McLaughlin, Michael (2011). Oracle Database 11g & MySQL 5.6 Developer Handbook. Osborne Oracle Press. Mark Anthony De Castro & McGraw-Hill Professional. p. 11. ISBN 9780071768856. Retrieved 2012-06-04. The set of programs also lets you start a database instance. They allocate a shared memory realm where other programs process SQL statements. This shared memory realm is the active database instance. 
  73. ^ Alapati, Sam R. (2008). Expert Oracle Database 11g Administration. The expert's voice in Oracle. Apress. p. 170. ISBN 978-1-4302-1015-3. Retrieved 2010-07-07. Oracle databases are logically divided into one or more tablespaces. An Oracle tablespace is a logical entity that contains the physical datafiles. 
  74. ^ Ashdown, Lance; Kyte, Tom (2011). "Oracle Database Concepts: 11g Release 2 (11.2)". Oracle Corporation. Archived from the original on 5 July 2013. Retrieved 12 July 2013. You can use tablespaces to achieve the following goals: [...] Assign a quota (space allowance or limit) to a database user [...] 
  75. ^ "Oracle 8". Oracle FAQs. Retrieved 19 January 2015. 
  76. ^ Alapati, Sam R. (2004). OCP Oracle Database 10g: New Features for Administrators Exam Guide. McGraw-Hill/Osborne. pp. 18? or 287?. ISBN 0-07-225862-4. 
  77. ^ Oracle Corporation, Oracle Database Concepts 11g Release 1 (11.2), http://download.oracle.com/docs/cd/E11882_01/server.112/e25789/glossary.htm#CHDDFGEC Archived 23 October 2011 at the Wayback Machine., 2011
  78. ^ Watkins, Bob (30 January 2007). "Look inside ASM disk groups with Oracle 10gR2's ASMCMD". techrepublic.com. ZDNet. Archived from the original on 7 July 2012. Retrieved 30 July 2009. In 10g, Oracle introduced a new kind of storage for its database product. Automatic Storage Management (ASM) is a logical volume manager that takes physical disk partitions and manages their contents [...] Until ASM, there were only two choices: file system storage and raw disk storage. 
  79. ^ Oracle FAQ
  80. ^ "Known schemas in Oracle". Adp-gmbh.ch. Retrieved 2009-12-19. 
  81. ^ "11g Default Schema". ABCdba.com. Retrieved 2010-10-26. 
  82. ^ "Optimizer plan stability definition". Adp-gmbh.ch. Retrieved 2009-12-19. 
  83. ^ "Oracle's sample schemas". Adp-gmbh.ch. Retrieved 2009-12-19. 
  84. ^ "Oracle Architecture, System Global Area". World-class-programme.com. Archived from the original on 20 April 2009. Retrieved 19 December 2009. 
  85. ^ Karlsson André."Oracle DB Architecture - The Basics"[permanent dead link]
  86. ^ "Oracle architecture, the library cache section". World-class-programme.com. Archived from the original on 20 April 2009. Retrieved 19 December 2009. 
  87. ^ "Oracle Architecture, data dictionary cache". World-class-programme.com. Archived from the original on 20 April 2009. Retrieved 19 December 2009. 
  88. ^ "Oracle architecture, Program Global Area section". World-class-programme.com. Archived from the original on 20 April 2009. Retrieved 19 December 2009. 
  89. ^ PGA Definition Archived 16 March 2010 at the Wayback Machine., Oracle Database Master Glossary
  90. ^ Bell, Mike (2002). "V$ views – don't leave $HOME without them" (PDF). New York Oracle users Group. pp. 9–10. Retrieved 2010-03-09. X$ tables are fixed tables created in memory at database startup [...] V$ views are created on one or more X$ tables 
  91. ^ Tony, Morales; et al. (October 2009). "Overview of the Dynamic Performance Views" (PDF). Oracle Database Reference 11g Release 2 (11.2). Oracle Corporation. pp. 8–1. Retrieved 2010-03-09. V$INDEXED_FIXED_COLUMN displays the columns in dynamic performance tables that are indexed (X$ tables). [dead link]
  92. ^ "Oracle Process architecture concepts". Download.oracle.com. Retrieved 2009-12-19. 
  93. ^ Antognini, Christian (2008). Troubleshooting Oracle Performance. Apress Series. Apress. p. 71. ISBN 978-1-59059-917-4. Retrieved 2011-05-05. 
  94. ^ a b Alapati, S (2005). "Chapter 14: Using Data Pump export and import". Expert Oracle Database 10g Administration. ITPro collection. Apress. p. 598. ISBN 9781430200666. Retrieved 2015-08-11. The worker process is named <instance>_DWnn_<pid>. It is the process that actually performs the heavy-duty work of loading and unloading data. The master process (DMnn) creates the worker process. 
  95. ^ Carpenter, Larry (2009). Oracle Data Guard 11g Handbook. et al. Oracle Press. p. 173. ISBN 978-0-07-162111-3. Data Guard Monitor (DMON)[:] This Broker-controller process is the main Broker process and is responsible for coordinating all Broker actions as well as maintaining the Broker configuration files. 
  96. ^ Debes, Norbert (2009). Secrets of the Oracle Database. Apress series. Apress. p. 173. ISBN 978-1-4302-1952-1. Retrieved 2011-05-02. The job queue is handled by the job queue coordinator process CJQ0 and job queue slave processes (JNNN). 
  97. ^ Alapati, Sam; Kim, Charles (2007). "10: Data Guard". Oracle Database 11g: New Features for DBAs and Developers. Expert's voice in Oracle. Apress. pp. 430–431. ISBN 9781430204695. Retrieved 2015-11-24. The optional net_timeout parameter to the log_archive_dest_n parameter allows the DB As to specify the number of seconds the log writer process (LGWR) waits for a response from the logwriter network server (LNS) before terminating the process. 
  98. ^ Safaribooksonline.com Niemiec, Richard (25 June 2007). "1.30. New Background Processes in 10g". Oracle Database 10g Performance Tuning: Tips & Techniques. Oracle Press. p. 967. ISBN 978-0-07-226305-3. Retrieved 2009-08-12. MMON Memory Monitor process is associated with the Automatic Workload Repository new features used for automatic problem detection and self-tuning. MMON writes out the required statistics for AWR on a scheduled basis. 
  99. ^ Safaribooksonline.comNiemiec, Richard (25 June 2007). "1.30. New Background Processes in 10g". Oracle Database 10g Performance Tuning: Tips & Techniques. Oracle Press. p. 967. ISBN 978-0-07-226305-3. Retrieved 2009-08-12. M000 These are MMON background slave (m000) processes. 
  100. ^ Rich, Bert (2015). "Oracle Database Reference, 11g Release 2 (11.2): Background Processes". docs.oracle.comOracle Help Center. Oracle Corporation. Retrieved 2015-08-05. NSVn[:] Data Guard Broker NetSlave Process[:] Performs broker network communications between databases in a Data Guard environment 
  101. ^ Kyte, Thomas; Kuhn, Darl (2014). "5: Oracle Processes". Expert Oracle Database Architecture. SpringerLink : Bücher (3 ed.). Apress. p. 202. ISBN 9781430262992. Retrieved 2016-08-30. Pnnn: Parallel Query Execution Servers [...] Oracle 7.1.6 introduced the parallel query capability into the database. [...] When using parallel query, you see processes named Pnnn. These are the parallel query execution servers themselves. 
  102. ^ "Oracle Database Online Documentation 12c Release 1 (12.1) / Database Administration: F Background Processes". Oracle. 2014. p. 2497. Archived from the original on 13 November 2014. Retrieved 12 November 2014. Process Spawner Process [...] Spawns Oracle background processes after initial instance startup 
  103. ^ Dyke, Julian; Steve Shaw (2006). Pro Oracle database 10g RAC on Linux: installation, administration, and performance. Apress Series. Apress. p. 45. ISBN 978-1-59059-524-4. Retrieved 2011-05-05. In Oracle 10.1, a queue monitor coordinator (QMNC) process [...] dynamically spawns queue monitor slaves (q000 to q009). 
  104. ^ Vallath, Murali (2006). Oracle 10g RAC Grid, Services & Clustering. Digital Press. p. 467. ISBN 9780080492032. Retrieved 2014-04-14. Redo data transmitted from the primary database is received by the remote file server (RFS) process on the standby system, where the RFS process writes the redo data to archived log files or standby redo log files. 
  105. ^ Rich, Bert (2015). "Oracle Database Reference, 11g Release 2 (11.2)". docs.oracle.com. Oracle Corporation. Retrieved 2015-05-04. Performs monitoring management tasks related to Data Guard on behalf of DMON 
  106. ^ Alapati, Sam; Kim, Charles (2008). Oracle Database 11g: New Features for DBAs and Developers. Expert's voice in Oracle. Apress. p. 16. ISBN 9781430204695. Retrieved 2016-06-07. New Oracle Background Processes [...] SMCO: the space management coordinator process is in charge of coordinating the work of space management-related tasks such as space reclamation, for example. 
  107. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. Retrieved 2008-08-13. When a user runs an application program (such as a Pro*C program) or an Oracle tool (such as Enterprise Manager or SQL*Plus), Oracle creates a user process to run the user's application. 
  108. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. Retrieved 2008-08-13. A connection is a communication pathway between a user process and an Oracle instance. 
  109. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. Retrieved 2008-08-13. A session is a specific connection of a user to an Oracle instance through a user process 
  110. ^ Morales, Tony (2008). "V$SESSION". Oracle Database Reference 11g Release 1 (11.1). Oracle. Retrieved 2016-04-07. V$SESSION displays session information for each current session. [...] SID [...] Session identifier 
  111. ^ Burleson, Donald K. (2004). Physical Database Design Using Oracle. Foundations of Database Design. CRC Press. p. 104. ISBN 9780203506233. Retrieved 2016-04-07. [...] Oracle assigns a unique session ID into the v$session table for each individual user logged on to Oracle. 
  112. ^ Rich, Kathy (April 2009). "Oracle Database Reference, 10g Release 2 (10.2)" V$PROCESS. docs.oracle.com. Redwood city, California: Oracle Corporation. Retrieved 2016-10-30. SPID VARCHAR2(12) Operating system process identifier 
  113. ^ Chan, Immanuel (July 2008). "Glossary". Oracle Database Performance Tuning Guide 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-04-29. enqueue[:] This is another term for a lock. 
  114. ^ "Oracle Database Master Glossary: 11g Release 1 (11.1)". Oracle Corporation. Archived from the original on 16 March 2010. Retrieved 2009-04-24. latch[:] A simple, low-level serialization mechanism to protect shared data structures in the System Global Area. 
  115. ^ Ashdown, Lance; Kyte, Tom (2014). "Oracle Database Concepts, 12c Release 1 (12.1): Data Concurrency and Consistency". Oracle Corporation. Retrieved 2015-08-19. 
  116. ^ Strohm, Richard; et al. (October 2008). "Parameter Files". Oracle Database Concepts 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-07-14. Parameter files contain a list of configuration parameters for that instance and database. 
  117. ^ Strohm, Richard; et al. (October 2008). "Initialization Parameter Files and Server Parameter Files". Oracle Database Concepts 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-07-14. 
  118. ^ Morales, Tony; et al. (April 2009). "V$PARAMETER". Oracle Database Reference 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-07-14. V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. 
  119. ^ Morales, Tony; et al. (April 2009). "V$SPPARAMETER". Oracle Database Reference 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-07-14. V$SPPARAMETER displays information about the contents of the server parameter file. 
  120. ^ Debes, Norbert (2010). "9: Introduction to X$ Fixed Tables". Secrets of the Oracle Database. The Expert's voice in Oracle. Berkeley, California: Apress. p. 93. ISBN 9781430219538. Retrieved 2016-10-26. At least a significant part, if not all of the code for the ORACLE DBMS kernel, is written in the C programming language. [...] The basic idea behind V$ views is to expose information in C data structures to database administrators. This is done by mapping V$ views to C data structures through some intermediate layers. X$ tables are one of the intermediate layers. They are the layer closest to C [...] Of course the word table in X$ table has a meaning that is almost entirely different from the meaning in a SQL context. 
  121. ^ Debes, Norbert (2010). "9: Introduction to X$ Fixed Tables". Secrets of the Oracle Database. The Expert's voice in Oracle. Berkeley, California: Apress. pp. 94–96. ISBN 9781430219538. Retrieved 2016-10-26. Many X$ table names follow a strict naming convention, where the first few letters represent a layer or module in the ORACLE kernel. [...] Abbreviations used in X$ Fixed Table Names [:] 
  122. ^ "Oracle x$ tables". Burleson Consulting. Retrieved 2016-10-26. Oracle Kernel Database Layers 
  123. ^ "Oracle X$ Tables". Retrieved 2016-10-26. Updated to Oracle 12.1.0.2 
  124. ^ Bryla, Bob; Thomas, Biju (2006). OCP: Oracle 10g New Features for Administrators Study Guide: Exam 1Z0-040. John Wiley & Sons. p. 95. ISBN 9780782150858. Retrieved 2013-10-10. Oracle 10g includes a [...] scheduling mechanism to automate routine tasks. [...] It is a collection of procedures and functions in the DBMS_SCHEDULER package. The earlier versions of Oracle included the DBMS_JOB program to schedule jobs; this utility is still available in Oracle 10g. 
  125. ^ Ingram, Geoff (2002). High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability. John Wiley & Sons. pp. 354–355. ISBN 9780471430346. Retrieved 2014-01-15. Oracle Resource Manager is [...] designed to ensure that CPU resources can be allocated fairly between groups of users on a single instance [...] 
  126. ^ "Oracle Database Licensing Information, 10g Release 2 (10.2)". Oracle. 2014. Retrieved 2017-06-06. 
  127. ^ Lungu, Ion; Vătuiu, Teodora (2008). Bolunduţ, Ioan-Lucian, ed. "Manageability comparison: Oracle Database 10g and Oracle9i Database" (PDF). Annals of the University of Petroşani, Economics. Petroşani, Romania: Universitas Publishing House. 8 (1): 295–300. ISSN 1582-5949. Archived from the original (PDF) on 6 March 2014. Retrieved 6 March 2014. [...] we performed a basic and common DBA tasks on the two products and measured the time taken and the steps required to complete each task, to assess their relative manageability. 
  128. ^ Wessler, Michael (2002) [2001]. Oracle DBA on Unix and Linux. Kaleidoscope Series. Indianapolis: Sams Publishing. p. 74. ISBN 9780672321580. Retrieved 2016-09-09. Background dump (bdump) files are generated when an Oracle process experiences unexpected problems. 
  129. ^ Alapati, Sam (2006). "The Alert Log File". Expert Oracle Database 10g Administration. Expert's Voice. Apress. p. 111. ISBN 9781430200666. Retrieved 2016-09-09. Every Oracle database has an alert log named alertdb_name.log (where db_name is the name of the database). The alert log captures major changes and events that occur during the running of the Oracle instance, including log switches, any Oracle-related errors, warnings, and other messages. [...] Oracle puts the alert log in the location specified for the BACKGROUND_DUMP_DEST initialization parameter. [...] Commonly, it is located in a directory called bdump, which stands for background dump directory. 
  130. ^ "Locale Languages". Retrieved 2008-02-26. 
  131. ^ "Error Message Languages". Retrieved 2008-02-26. 
  132. ^ Shea, Cathy; et al. (September 2007). "Overview of Globalization Support". Oracle Database Globalization Support Guide 11g Release 1 (11.1). Oracle Corporation. Retrieved 2009-02-16. In the past, Oracle referred to globalization support capabilities as National Language Support (NLS) features. NLS is actually a subset of globalization support. NLS is the ability to choose a national language and store data in a specific character set. Globalization support enables you to develop multilingual applications and software products that can be accessed and run from anywhere in the world simultaneously. 

Bibliography

  • Loney, Kevin (17 December 2008). "Oracle Database 11g The Complete Reference" (1st ed.). McGraw-Hill: 1368. ISBN 0-07-159875-8. Retrieved 2009-09-05. 

External links

  • Overview provided by Oracle Corporation.
  • Oracle Licensing Knowledge Net.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Oracle_Database&oldid=850548647"
This content was retrieved from Wikipedia : http://en.wikipedia.org/wiki/Oracle_database
This page is based on the copyrighted Wikipedia article "Oracle Database"; it is used under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC-BY-SA). You may redistribute it, verbatim or modified, providing that you comply with the terms of the CC-BY-SA