This page allows you to examine the variables generated by the Edit Filter for an individual change.

Variables generated for this change

VariableValue
Whether or not the edit is marked as minor (no longer in use) (minor_edit)
false
Edit count of the user (user_editcount)
null
Name of the user account (user_name)
'148.87.23.16'
Age of the user account (user_age)
0
Groups (including implicit) the user is in (user_groups)
[ 0 => '*' ]
Rights that the user has (user_rights)
[ 0 => 'createaccount', 1 => 'read', 2 => 'edit', 3 => 'createtalk', 4 => 'writeapi', 5 => 'editmyusercss', 6 => 'editmyuserjs', 7 => 'viewmywatchlist', 8 => 'editmywatchlist', 9 => 'viewmyprivateinfo', 10 => 'editmyprivateinfo', 11 => 'editmyoptions', 12 => 'abusefilter-view', 13 => 'abusefilter-log', 14 => 'abusefilter-log-detail', 15 => 'centralauth-merge', 16 => 'vipsscaler-test', 17 => 'ep-bereviewer' ]
Global groups that the user is in (global_user_groups)
[]
Whether or not a user is editing through the mobile interface (user_mobile)
false
Page ID (page_id)
323725
Page namespace (page_namespace)
0
Page title without namespace (page_title)
'Oracle Database'
Full page title (page_prefixedtitle)
'Oracle Database'
Last ten users to contribute to the page (page_recent_contributors)
[ 0 => '148.87.23.16', 1 => 'Ahmfiembra', 2 => '82.20.97.197', 3 => 'Steven feuerstein oracle', 4 => 'Gvenzl', 5 => 'Sbillwp', 6 => '192.197.62.99', 7 => 'Jandalhandler', 8 => 'Simplexity22', 9 => '203.189.159.159' ]
Action (action)
'edit'
Edit summary/reason (summary)
'Removed reference to an Register article that speculates on the motivation behind Oracle's switch between SE and SE2 as it's not based on facts and provides no help to the reader.'
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'{{Use dmy dates|date=April 2015}} {{Infobox software | name = Oracle Database | logo = Oracle logo.svg | screenshot = | caption = | developer = [[Oracle Corporation]] | released = | latest_release_version = <!-- If you update this, remember to also update [[Comparison of relational database management systems]]-->12''c'' Release 2 (12.2.0.1)<ref>{{Cite web |url=https://blogs.oracle.com/UPGRADE/entry/oracle_database_12_2_01 |title=Oracle Database 12.2.0.1 on-prem is now available, too |last=Dietrich |first=Mike |date=1 March 2017 |access-date=3 March 2017}}</ref> | latest_release_date = {{release date and age|df=yes|2017|03|01}} | genre = [[Multi-model database]] | programming language = [[Assembly language]], [[C (programming language)|C]], [[C++]]<ref>{{Cite web |url=http://www.lextrait.com/Vincent/implementations.html |title=The Programming Languages Beacon, v16 |last=Lextrait |first=Vincent |date=March 2016 |access-date=15 December 2016}}</ref> | license = [[Proprietary software|Proprietary]]<ref>[http://www.oracle.com/technetwork/licenses/standard-license-152015.html OTN Standard License]</ref> | website = {{URL|oracle.com/database}} }} '''Oracle Database''' (commonly referred to as '''Oracle RDBMS''' or simply as '''Oracle''') is a [[multi-model database]]<ref>{{Cite web |url=http://download.oracle.com/otndocs/products/spatial/pdf/12c/Multimodel_Database_with_Oracle_Database_12c_Release_2.pdf |title=Multimodel Database with Oracle Database 12c Release 2 |access-date=1 March 2017}}</ref> management system produced and marketed by [[Oracle Corporation]]. It is the world's most popular database for running online transaction processing (OLTP), data warehousing (DW) and mixed (OLTP & DW) database workloads. The latest generation, Oracle Database 12c Release 2 (commonly referred to as 12.2), is available on-prem, on-Cloud, or in a hybrid-Cloud environment. 12.2 may also be deployed on Oracle Engineered Systems (e.g. [[Oracle Exadata|Exadata]]) on-prem, on [[Oracle Cloud|Oracle (public) Cloud]] or (private) Cloud at Customer. ==Physical and logical structures== An Oracle database system—identified by an alphanumeric system identifier or SID<ref>{{cite web | url = http://download.oracle.com/docs/cd/B28359_01/install.111/b32077/glossary.htm?type=popup#BABEBJAG | title = Glossary | accessdate = 2008-11-17 | last = Bhakthavatsalam | first = Namrata | authorlink = |date= August 2008 | work = Oracle Database Client |quote=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. }}</ref>—comprises at least one [[Database|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 [[process (computing)|processes]] and [[Computer data storage|memory]]-structures that interact with the [[Computer data storage|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".<ref> {{cite book | last = McLaughlin | first = Michael | title = Oracle Database 11g & MySQL 5.6 Developer Handbook | url = https://books.google.com/books?id=uaMYNWuckBMC | accessdate = 2012-06-04 | series = Osborne Oracle Press | year = 2011 | publisher = Mark Anthony De Castro & McGraw-Hill Professional | isbn = 9780071768856 | page = 11 | quote = 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. }} </ref> Users of Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds [[cache (computing)|cache]] information such as data-buffers, [[SQL]] commands, and user information. In addition to storage, the database consists of online [[redo log]]s (or logs), which hold [[Database transaction|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 [[replication (computer science)|data replication]] using [[Oracle Data Guard]]. The [[Oracle RAC]] (Real Application Clusters) option uses multiple instances attached to a central [[Disk array|storage array]]. In version 10''g'', [[grid computing]] introduced shared resources where an instance can use [[central processing unit|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 procedure]]s and [[subroutine|functions]] within itself. [[PL/SQL]] (Oracle Corporation's proprietary procedural extension to [[SQL]]), or the object-oriented language [[Java (programming language)|Java]] can invoke such code objects and/or provide the programming structures for writing them. ===Storage=== '''The Oracle RDBMS''' [[data storage device|stores data logically]] in the form of [[tablespace]]s and physically in the form of data [[Computer file|files]] ("[[datafile]]s").<ref> {{cite book |last= Alapati |first= Sam R. |authorlink= |title= Expert Oracle Database 11g Administration |url= https://books.google.com/books?id=tdRes4IdLiIC |accessdate= 2010-07-07 |series= The expert's voice in Oracle |year= 2008 |publisher= [[Apress]] |isbn= 978-1-4302-1015-3 |page= 170 |quote= Oracle databases are logically divided into one or more tablespaces. An Oracle tablespace is a logical entity that contains the physical datafiles. }} </ref> Tablespaces can contain various types of [[memory segmentation|memory segments]], such as Data Segments, Index Segments, etc. Segments in turn comprise one or more [[extent (file systems)|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.<ref> {{cite web |url = http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#i8531 |title = Oracle Database Concepts: 11g Release 2 (11.2) |last1 = Ashdown |first1 = Lance |last2 = Kyte |first2 = Tom |year = 2011 |publisher = Oracle Corporation |accessdate = 2013-07-12 |quote = You can use tablespaces to achieve the following goals: [...] Assign a quota (space allowance or limit) to a database user [...] }} </ref> ====Partitioning==== The [[Partition (database)|partitioning]] feature was introduced in Oracle 8.<ref>{{cite web|title=Oracle 8|url=http://www.orafaq.com/wiki/Oracle_8|website=Oracle FAQs|accessdate=19 January 2015}}</ref> 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 <code>SYSTEM</code> tablespace. The <code>SYSTEM</code> tablespace contains the [[data dictionary]], [[index (database)|indexes]] and [[cluster (computing)|clusters]]. A data dictionary consists of a special collection of [[table (database)|tables]] that contains information about all user-[[object (computer science)|objects]] in the database. Since version 8''i'', the Oracle RDBMS also supports "locally managed" tablespaces that store space management information in bitmaps in their own [[header (computing)|headers]] rather than in the <code>SYSTEM</code> tablespace (as happens with the default "dictionary-managed" tablespaces). Version 10''g'' and later introduced the <code>SYSAUX</code> tablespace, which contains some of the tables formerly stored in the <code>SYSTEM</code> tablespace, along with objects for other tools such as [[Oracle Enterprise Manager|OEM]], which previously required its own tablespace.<ref>{{cite book|last=Alapati|first=Sam R.|title=OCP Oracle Database 10g: New Features for Administrators Exam Guide|year=2004|publisher=McGraw-Hill/Osborne|isbn=0-07-225862-4|pages=18? or 287?}}</ref> ==== 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 [[computer data storage|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".<ref>Oracle Corporation, Oracle Database Concepts 11g Release 1 (11.2), http://download.oracle.com/docs/cd/E11882_01/server.112/e25789/glossary.htm#CHDDFGEC, 2011</ref> At the physical level, [[data file]]s comprise one or more [[block (data storage)|data blocks]], where the [[block (data storage)|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 [[Automatic Storage Management|ASM]] logical volumes.<ref> {{cite web | first = Bob | last = Watkins | authorlink = | title = Look inside ASM disk groups with Oracle 10''g''R2's ASMCMD | url = http://articles.techrepublic.com.com/5100-10878_11-6154262.html | work = techrepublic.com | publisher = ZDNet | ___location = | doi = | date = 30 January 2007 | accessdate = 2009-07-30 | quote = In 10''g'', 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. }} </ref> ===Database schema=== Most Oracle database installations come with a default [[Database schema|schema]] called <code>SCOTT</code>. After the installation process sets up sample tables, the user logs into the database with the username <code>scott</code> and the password <code>tiger</code>. The name of the <code>SCOTT</code> schema originated with Bruce Scott, one of the first employees at Oracle (then Software Development Laboratories), who had a cat named Tiger.<ref>[https://web.archive.org/web/20080116210119/http://www.orafaq.com/faqora.htm#SCOTT#SCOTT Oracle FAQ]</ref> Oracle Corporation now de-emphasizes the <code>SCOTT</code> schema, as it uses few features of more recent Oracle releases. Most {{As of | 2009 | alt = recent}} examples supplied by Oracle Corporation reference the default HR or OE schemas. Other default schemas<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/misc/known_schemas.html |title=Known schemas in Oracle |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref><ref>{{cite web|url=http://abcdba.com/abcdbaserver11gdefaultschema |title=11g Default Schema |publisher=ABCdba.com |accessdate=2010-10-26}}</ref> include: * <code>SYS</code> (essential core database structures and utilities) * <code>SYSTEM</code> (additional core database structures and utilities, and privileged account) * <code>OUTLN</code> (used to store metadata for stored outlines for stable query-optimizer execution plans.<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/tuning/cbo/plan_stability.html |title=Optimizer plan stability definition |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref>) * <code>BI</code>, <code>IX</code>, <code>HR</code>, <code>OE</code>, <code>PM</code>, and <code>SH</code> (expanded sample schemas<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/misc/sample_schemas.html |title=Oracle's sample schemas |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref> containing more data and structures than the older <code>SCOTT</code> schema). ===={{Anchor|BUFFER-POOL}}System Global Area==== {{Main article|System Global Area}} Each Oracle instance uses a [[System Global Area]] or SGA—a [[Shared memory (interprocess communication)|shared-memory]] area—to store its data and control-information.<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle Architecture, System Global Area |publisher=World-class-programme.com |accessdate=2009-12-19}} </ref> 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.<ref>Karlsson André.[http://blog.protractus.se/?page_id=34 "Oracle DB Architecture - The Basics"]{{dead link|date=September 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><link> ====Library cache==== The library cache<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle architecture, the library cache section |publisher=World-class-programme.com |accessdate=2009-12-19}}</ref> 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 [[view (database)|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 [[parsing|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<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle Architecture, data dictionary cache |publisher=World-class-programme.com |accessdate=2009-12-19}}</ref> 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<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle architecture, Program Global Area section |publisher=World-class-programme.com |accessdate=2009-12-19}} </ref><ref> [http://download.oracle.com/docs/cd/B19306_01/mix.102/b14388/gloss-p.htm#index-PGA PGA Definition], Oracle Database Master Glossary </ref> 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)<ref> {{cite web | url = http://nyoug.org/Presentations/2002/vviews.PDF | title = V$ views – don't leave $HOME without them | first = Mike | last = Bell | year = 2002 | publisher = New York Oracle users Group | ___location = | pages = 9–10 | format = PDF | accessdate = 2010-03-09 | quote = X$ tables are fixed tables created in memory at database startup [...] V$ views are created on one or more X$ tables }} </ref> built on the basis of database memory.<ref>{{cite web|url=http://download.oracle.com/docs/cd/E11882_01/server.112/e10820.pdf |title=Overview of the Dynamic Performance Views |first=Morales |last=Tony |authorlink= |date=October 2009 |work=Oracle Database Reference 11g Release 2 (11.2) |publisher=[[Oracle Corporation]] |___location= |pages=8-1 |format=PDF |accessdate=2010-03-09 |quote=V$INDEXED_FIXED_COLUMN displays the columns in dynamic performance tables that are indexed (X$ tables). |display-authors=etal }}{{dead link|date=June 2016|bot=medic}}{{cbignore|bot=medic}} </ref> 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 process|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):<ref>{{cite web|url= http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/process.htm#i16977 |title= Oracle Process architecture concepts |publisher= Download.oracle.com |accessdate= 2009-12-19}}</ref> * [[Oracle Advanced Queuing|advanced queueing]] processes (Qnnn)<ref> {{cite book | last = Antognini | first = Christian | title = Troubleshooting Oracle Performance | url = https://books.google.com/books?id=b3DIkYO2gBQC | accessdate = 2011-05-05 | series = Apress Series | year = 2008 | publisher = Apress | isbn = 978-1-59059-917-4 | page = 71 }} </ref> * 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)<ref name="Apress">{{cite book | last1 = Alapati | first1 = S | chapter = Chapter 14: Using Data Pump export and import | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | publisher = Apress | publication-date = 2005 | series = ITPro collection | page = 598 | isbn = 9781430200666 | accessdate = 2015-08-11 | quote = 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. }}</ref> * Data Pump worker processes (DWnn)<ref name="Apress"/> * dispatcher processes (Dnnn): multiplex server-processes on behalf of users * main Data Guard Broker monitor process (DMON)<ref> {{cite book | last = Carpenter | first = Larry | others = et al. | title = Oracle Data Guard 11g Handbook | year = 2009 | publisher = Oracle Press | isbn = 978-0-07-162111-3 | page = 173 | quote = 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. }} </ref> * job-queue slave processes (Jnnn)<ref> {{cite book | last = Debes | first = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=g1R96D2uO7kC | accessdate = 2011-05-02 | series = Apress series | year = 2009 | publisher = Apress | isbn = 978-1-4302-1952-1 | page = 173 | chapterurl = | quote = The job queue is handled by the job queue coordinator process CJQ0 and job queue slave processes (JNNN). }} </ref> * log-writer process (LGWR) *REQUIRED* * log-write network-server (LNSn):<ref> {{cite book | last1 = Alapati | first1 = Sam | last2 = Kim | first2 = Charles | chapter = 10: Data Guard | title = Oracle Database 11g: New Features for DBAs and Developers | url = https://books.google.com/books?id=14ZH0eZV6G8C | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2007 | pages = 430–431 | isbn = 9781430204695 | accessdate = 2015-11-24 | quote = The optional <tt>net_timeout</tt> parameter to the <tt>log_archive_dest_n</tt> 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. }} </ref> transmits redo logs in Data Guard environments * logical standby coordinator process (LSP0): controls [[Oracle Data Guard|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<ref> [http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 Safaribooksonline.com] {{cite book | last= Niemiec | first= Richard | authorlink = | title= Oracle Database 10g Performance Tuning: Tips & Techniques | url= http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 | accessdate= 2009-08-12 | edition = | series = | volume = | date= 25 June 2007 | origyear = | publisher= Oracle Press | ___location = | isbn= 978-0-07-226305-3 | oclc = | doi = | bibcode = | id = | page= 967 | nopp = | chapter= 1.30. New Background Processes in 10''g'' | chapterurl = | quote= 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. | ref = | laysummary = | laydate = | separator = | postscript = | lastauthoramp= }}</ref> * 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<ref> [http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 Safaribooksonline.com]{{cite book | last= Niemiec | first= Richard | authorlink = | title= Oracle Database 10g Performance Tuning: Tips & Techniques | url= http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 | accessdate= 2009-08-12 | edition = | series = | volume = | date= 25 June 2007 | origyear = | publisher= Oracle Press | ___location = | isbn= 978-0-07-226305-3 | oclc = | doi = | bibcode = | id = | page= 967 | nopp = | chapter= 1.30. New Background Processes in 10''g'' | chapterurl = | quote= M000 These are MMON background slave (m000) processes. }} </ref> * netslave processes (NSVn): [[Oracle Data Guard|Data Guard Broker]] inter-database communication processes<ref> {{cite web | url = http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104 | title = Oracle Database Reference, 11g Release 2 (11.2): Background Processes | last1 = Rich | first1 = Bert | year = 2015 | website = docs.oracle.comOracle Help Center | publisher = Oracle Corporation | access-date = 2015-08-05 | quote = NSVn[:] Data Guard Broker NetSlave Process[:] Performs broker network communications between databases in a Data Guard environment }} </ref> * parallel query execution servers (Pnnn)<ref> {{cite book | last1 = Kyte | first1 = Thomas | last2 = Kuhn | first2 = Darl | chapter = 5: Oracle Processes | title = Expert Oracle Database Architecture | url = https://books.google.com/books?id=3_RUBQAAQBAJ | series = SpringerLink : Bücher | edition = 3 | publisher = Apress | publication-date = 2014 | page = 202 | isbn = 9781430262992 | access-date = 2016-08-30 | quote = 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. }} </ref> * process-monitor process (PMON) *REQUIRED* * process-spawner process (PSP0): spawns Oracle background processes after initial instance startup<ref> {{cite web | url = https://docs.oracle.com/database/121/REFRN/bgprocesses.htm#REFRN104 | title = Oracle Database Online Documentation 12c Release 1 (12.1) / Database Administration: F Background Processes | year = 2014 | publisher = Oracle | page = 2497 | accessdate = 2014-11-12 | quote = Process Spawner Process [...] Spawns Oracle background processes after initial instance startup }} </ref> * queue-monitor coordinator process (QMNC): dynamically spawns queue monitor slaves<ref> {{cite book | last = Dyke | first = Julian | authorlink = |author2=Steve Shaw | title = Pro Oracle database 10g RAC on Linux: installation, administration, and performance | url = https://books.google.com/books?id=GjYTbJTIr54C | accessdate = 2011-05-05 | series = Apress Series | year = 2006 | publisher = Apress | isbn = 978-1-59059-524-4 | page = 45 | quote = In Oracle 10.1, a queue monitor coordinator (QMNC) process [...] dynamically spawns queue monitor slaves (q000 to q009). }} </ref> * queue-monitor processes (QMNn) * recoverer process (RECO) * remote file-server process (RFS): in Oracle Data Guard, a standby recipient of primary redo-logs<ref> {{cite book | last1 = Vallath | first1 = Murali | title = Oracle 10g RAC Grid, Services & Clustering | url = https://books.google.com/books?id=P9H7KRlhx_AC | publisher = Digital Press | publication-date = 2006 | page = 467 | isbn = 9780080492032 | accessdate = 2014-04-14 | quote = 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. }} </ref> * monitor for Data Guard management (RSM0): Data Guard Broker Worker process<ref> {{cite web | url = http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104 | title = Oracle Database Reference, 11g Release 2 (11.2) | last1 = Rich | first1 = Bert | year = 2015 | website = docs.oracle.com | publisher = Oracle Corporation | access-date = 2015-05-04 | quote = Performs monitoring management tasks related to Data Guard on behalf of DMON }} </ref> * shared server processes (Snnn): serve client-requests * space-management coordinator process (SMCO): coordinates space management (from release 11g)<ref> {{cite book | last1 = Alapati | first1 = Sam | last2 = Kim | first2 = Charles | title = Oracle Database 11g: New Features for DBAs and Developers | url = https://books.google.com/books?id=14ZH0eZV6G8C | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2008 | page = 16 | isbn = 9781430204695 | access-date = 2016-06-07 | quote = 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. }} </ref> * system monitor process (SMON) *REQUIRED* ====User processes, connections and sessions==== Oracle Database terminology distinguishes different [[computer science|computer-science]] terms in describing how end-users interact with the database: * user [[process (computing)|processes]] involve the invocation of application software<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote= 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. }}</ref> * a connection refers to the pathway linking a user process to an Oracle instance<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote=A connection is a communication pathway between a user process and an Oracle instance. }}</ref> * [[session (computer science)|sessions]] consist of specific established groups of interactions, with each group involving a client process and an Oracle instance.<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote= A session is a specific connection of a user to an Oracle instance through a user process }} </ref> Each session within an instance has a session identifier – a [[session ID]] or "SID"<ref> {{cite web | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3016.htm | title = V$SESSION | last = Morales | first = Tony | authorlink = | year = 2008 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle | ___location = | access-date = 2016-04-07 | quote = V$SESSION displays session information for each current session. [...] SID [...] Session identifier }} </ref><ref> {{cite book | last1 = Burleson | first1 = Donald K. | author-link1 = | title = Physical Database Design Using Oracle | url = https://books.google.com/books?id=8ivMBQAAQBAJ | series = Foundations of Database Design | publisher = CRC Press | publication-date = 2004 | page = 104 | isbn = 9780203506233 | access-date = 2016-04-07 | quote = [...] Oracle assigns a unique session ID into the v$session table for each individual user logged on to Oracle. }} </ref> (distinct from the Oracle system-identifier SID), and may also have an associated SPID (operating-system process identifier).<ref> {{cite web | url = https://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2022.htm#REFRN30186 | title = Oracle Database Reference, 10g Release 2 (10.2) | last1 = Rich | first1 = Kathy | date = April 2009 | website = docs.oracle.com | publisher = Oracle Corporation | ___location = Redwood city, California | script-title = V$PROCESS | quote = SPID VARCHAR2(12) Operating system process identifier | access-date = 2016-10-30 }} </ref> ===Concurrency and locking=== Oracle databases control simultaneous access to data resources with [[lock (computer science)|locks]] (alternatively documented as "enqueues").<ref> {{cite web | first = Immanuel | last = Chan | title = Glossary | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/glossary.htm?type=popup#sthref1649 | work = Oracle Database Performance Tuning Guide 11g Release 1 (11.1) | publisher = Oracle Corporation |date= July 2008 | accessdate = 2009-04-29 | quote = enqueue[:] This is another term for a lock. }}</ref> The databases also use "latches" – low-level serialization mechanisms to protect shared data structures in the System Global Area.<ref>{{cite web|authorlink= |title=Oracle Database Master Glossary: 11''g'' Release 1 (11.1) |url=http://download.oracle.com/docs/cd/B28359_01/mix.111/b14388/gloss-l.htm |work= |publisher=Oracle Corporation |___location= |doi= |accessdate=2009-04-24 |quote=latch[:] A simple, low-level serialization mechanism to protect shared data structures in the System Global Area. |deadurl=yes |archiveurl=https://web.archive.org/web/20100316015624/http://download.oracle.com/docs/cd/B28359_01/mix.111/b14388/gloss-l.htm |archivedate=16 March 2010 }}</ref> Oracle locks fall into three categories:<ref> {{cite web | url = http://docs.oracle.com/database/121/CNCPT/consist.htm | title = Oracle Database Concepts, 12c Release 1 (12.1): Data Concurrency and Consistency | last1 = Ashdown | first1 = Lance | last2 = Kyte | first2 = Tom | year = 2014 | publisher = Oracle Corporation | access-date = 2015-08-19 }} </ref> * 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.<ref>{{cite web | first = Richard | last = Strohm | authorlink = | title = Parameter Files | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/intro.htm#sthref23 | work = Oracle Database Concepts 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= October 2008 | accessdate = 2009-07-14 | quote = Parameter files contain a list of configuration parameters for that instance and database.|display-authors=etal}} </ref> This file in its ASCII default form ("pfile") normally has a name of the format <code>init<SID-name>.ora</code>. The default binary equivalent server parameter file ("spfile") (dynamically reconfigurable to some extent)<ref>{{cite web | first = Richard | last = Strohm | authorlink = | title = Initialization Parameter Files and Server Parameter Files | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/startup.htm#i9633 | work = Oracle Database Concepts 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= October 2008 | accessdate = 2009-07-14 | quote = |display-authors=etal}}</ref> defaults to the format <code>spfile<SID-name>.ora</code>. Within an SQL-based environment, the views <code>V$PARAMETER</code><ref>{{cite web | first = Tony | last = Morales | authorlink = | title = V$PARAMETER | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2.htm#insertedID85 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= April 2009 | accessdate = 2009-07-14 | quote = V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. |display-authors=etal}}</ref> and <code>V$SPPARAMETER</code><ref>{{cite web | first = Tony | last = Morales | authorlink = | title = V$SPPARAMETER | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3.htm#insertedID41 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= April 2009 | accessdate = 2009-07-14 | quote = V$SPPARAMETER displays information about the contents of the server parameter file. |display-authors=etal}}</ref> give access to reading parameter values. Implementation The Oracle DBMS kernel code depends on [[C (programming language)|C programming]]. Database administrators have limited access to Oracle-internal C structures via V$ views and their underlying X$ "tables".<ref> {{cite book | last1 = Debes | first1 = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=ZxEL-FO4u7wC | series = The Expert's voice in Oracle | chapter = 9: Introduction to X$ Fixed Tables | ___location = Berkeley, California | publisher = Apress | publication-date = 2010 | page = 93 | isbn = 9781430219538 | accessdate = 2016-10-26 | quote = 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. }} </ref> Layers or modules in the kernel (depending on different releases) may include the following (given with their inferred meaning):<ref> {{cite book | last1 = Debes | first1 = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=ZxEL-FO4u7wC | series = The Expert's voice in Oracle | chapter = 9: Introduction to X$ Fixed Tables | ___location = Berkeley, California | publisher = Apress | publication-date = 2010 | pages = 94–96 | isbn = 9781430219538 | accessdate = 2016-10-26 | quote = 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 [:] }} </ref><ref> {{cite web | url = http://www.dba-oracle.com/t_x$_tables.htm | title = Oracle x$ tables | publisher = Burleson Consulting | access-date = 2016-10-26 | quote = Oracle Kernel Database Layers }} </ref><ref> {{cite web | url = http://orabase.org/index.php/2016/01/02/oracle-x-tables/ | title = Oracle X$ Tables | access-date = 2016-10-26 | quote = Updated to Oracle 12.1.0.2 }} </ref> 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.<ref> {{cite book | last1 = Bryla | first1 = Bob | last2 = Thomas | first2 = Biju | authorlink2 = | title = OCP: Oracle 10g New Features for Administrators Study Guide: Exam 1Z0-040 | url = https://books.google.com/books?id=XX8qSa1x0G4C | accessdate = 2013-10-10 | year = 2006 | publisher = John Wiley & Sons | isbn = 9780782150858 | page = 95 | quote = 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. }} </ref> Oracle Resource Manager aims to allocate CPU resources between users and groups of users when such resources become scarce.<ref> {{cite book | last1 = Ingram | first1 = Geoff | author1-link = | title = High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability | url = https://books.google.com/books?id=JD4-pBV6Bf4C | publisher = John Wiley & Sons | publication-date = 2002 | pages = 354–355 | isbn = 9780471430346 | accessdate = 2014-01-15 | quote = Oracle Resource Manager is [...] designed to ensure that CPU resources can be allocated fairly between groups of users on a single instance [...] }} </ref> As of Oracle Release 10.2, Database Resource Manager operates in Enterprise Edition.<ref> {{cite web | url= https://docs.oracle.com/cd/B19306_01/license.102/b14199/editions.htm#DBLIC109 | title= Oracle Database Licensing Information, 10g Release 2 (10.2) | year= 2014 | website= Oracle | access-date= 2017-06-06 }} </ref> 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. <ref> {{cite journal | last1 = Lungu | first1 = Ion | last2 = Vătuiu | first2 = Teodora | editor1-last = Bolunduţ | editor1-first = Ioan-Lucian | title = Manageability comparison: Oracle Database 10g and Oracle9i Database | url = http://www.upet.ro/annals/pdf/Annals-2008-Part1.pdf | journal = Annals of the University of Petroşani, Economics | ___location = Petroşani, Romania | publisher = Universitas Publishing House | publication-date = 2008 | volume = 8 | issue = 1 | pages = 295–300 | issn = 1582-5949 | accessdate = 2014-03-06 | quote = [...] 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. | deadurl = yes | archiveurl = https://web.archive.org/web/20140306042519/http://www.upet.ro/annals/pdf/Annals-2008-Part1.pdf | archivedate = 6 March 2014 | df = dmy-all }} </ref> They performed their tests on a single Pentium CPU (1.7&nbsp;GHz) with 512&nbsp;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 === {{expand section|date=September 2016}} Various file-system structures hold [[logfile|logs]] and [[Tracing (software)|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.<ref> {{cite book | last1 = Wessler | first1 = Michael | orig-year = 2001 | title = Oracle DBA on Unix and Linux | url = https://books.google.com/books?id=Xkbl0Prv83cC | series = Kaleidoscope Series | ___location = Indianapolis | publisher = Sams Publishing | publication-date = 2002 | page = 74 | isbn = 9780672321580 | access-date = 2016-09-09 | quote = Background dump (bdump) files are generated when an Oracle process experiences unexpected problems. }} </ref> Also holds the "alert log".<ref> {{cite book | last1 = Alapati | first1 = Sam | author-link1 = | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = Expert's Voice | chapter = The Alert Log File | publisher = Apress | publication-date = 2006 | page = 111 | isbn = 9781430200666 | access-date = 2016-09-09 | quote = Every Oracle database has an alert log named alert''db_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. }} </ref> * core dump (cdump) destination * user dump (udump) destination ==Network access== [[Oracle Net Services]] allow client or remote applications to access Oracle databases via [[computer networking|network]] [[session (computer science)|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.<ref name="titleLocale Data"> {{cite web |url=http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#i634428 |title=Locale Languages |accessdate=2008-02-26 }}</ref> 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.<ref name="titleMessages Data">{{cite web |url=http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#i634673 | title=Error Message Languages |accessdate=2008-02-26 }}</ref> <!-- could not find list of documentation translations yet--> Oracle Corporation provides database developers with tools and mechanisms for producing internationalized database applications: referred to internally as "Globalization".<ref> {{cite web | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28298/ch1overview.htm#sthref8 | title = Overview of Globalization Support | accessdate = 2009-02-16 | last = Shea | first = Cathy | authorlink = |date= September 2007 | work = Oracle Database Globalization Support Guide 11g Release 1 (11.1) | publisher = [[Oracle Corporation]] | ___location = | pages = | doi = | dateformat = | quote = 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. |display-authors=etal}} </ref> ==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 [[Central Intelligence Agency|CIA]]-funded project Ellison had worked on while formerly employed by [[Ampex]].<ref>{{Cite web|url=https://www.theguardian.com/g2/story/0,3604,215072,00.html|title=Welcome to Larryland|publisher=Guardian|access-date=2009-12-19}}</ref> === Releases and versions === Oracle products follow a custom release-numbering and -naming convention. With the Oracle Database 10''g'' release, Oracle Corporation began using the "10''g''" label in all versions of its major products, although some sources refer to Oracle Applications Release 11''i'' as Oracle 11''i''.{{Clarify|date=August 2011}} 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 10''g'' called Oracle 10''f''. Instead, the letters "i", "g" and "c" stand for "internet", "grid" and "cloud" respectively.<ref name="theregister.co.uk">theregister.co.uk: [https://www.theregister.co.uk/2012/09/20/oracle_openworld_preview_q1_f2012_numbers/ Oracle gears up for infrastructure cloud and 12c database launches • The Register]</ref> Consequently, many simply drop the marketing "g" or "i" suffixes when referring to specific versions of an Oracle product. Major database-related products and some of their versions include: * [[Oracle Fusion Middleware]] 12''c'': a [[Middleware (distributed applications)|middleware]] product; * [[Oracle Fusion Applications]] : a [[cloud|cloud-based]] [[software suite|suite]] of [[business]] applications; * [[Oracle E-Business Suite]] Release 12''c'' : a [[software suite|suite]] of [[business]] applications; * [[JDeveloper|Oracle JDeveloper]] 12''c'': a [[Java (programming language)|Java]] [[integrated development environment]]; There was no v1, as Ellison, "knew no one would want to buy version 1".<ref> {{cite web | title= Larry Ellison Is A Billionaire Today Thanks To The CIA | author= Julie Bort | date= September 29, 2014 | url= http://www.businessinsider.com/the-cia-made-larry-ellison-a-billionaire-2014-9?international=true&r=US&IR=T }} </ref> Oracle's [[Relational database management system|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 * Oracle8''i'' Database Release 1: 8.1.5.0–8.1.5.1 * Oracle8''i'' Database Release 2: 8.1.6.0–8.1.6.3 * Oracle8''i'' Database Release 3: 8.1.7.0–8.1.7.4 * Oracle9''i'' Database Release 1: 9.0.1.0–9.0.1.5 ([[patch (computing)|patchset]] {{As of|2003|alt=as of December 2003}}) * Oracle9''i'' Database Release 2: 9.2.0.1–9.2.0.8 (patchset {{As of|2007|alt=as of April 2007}}) * Oracle Database 10''g'' Release 1: 10.1.0.2–10.1.0.5 (patchset {{As of|2006|alt=as of February 2006}}) * Oracle Database 10''g'' Release 2: 10.2.0.1–10.2.0.5 (patchset {{As of|2010|alt=as of April 2010}})<ref>http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html</ref> * Oracle Database 11''g'' Release 1: 11.1.0.6–11.1.0.7 (patchset {{As of|2008|alt=as of September 2008}}) * Oracle Database 11''g'' Release 2: 11.2.0.1–11.2.0.4 (patchset {{As of|2013|alt=as of August 2013}}) * Oracle Database 12''c'' Release 1: 12.1.0.1 (patchset {{As of|2013|alt=as of June 2013}}) * Oracle Database 12''c'' Release 1: 12.1.0.2 (patchset {{As of|2013|alt=as of July 2014}}) * Oracle Database 12''c'' Release 2: 12.2.0.1 (patchset {{As of|2017|march | lc = on}}<ref> Compare: {{cite web | url = https://technology.amis.nl/2016/09/28/oracle-database-12c-release-2-is-out-just-only-on-the-cloud/ | title = Oracle Database 12c Release 2 is out – just only on the cloud | last = Jellema | first = Lucas | date = 2016-09-28 | publisher = Amis Technology Blog | access-date = 2017-03-23 | quote = The initial availability of Oracle Database 12c Release 2 is through the Exadata Express Cloud Service – starting at $175 per month (for 20 GB data), the full Oracle Database with all database options, fully managed by Oracle. And as Larry Ellison presented in his keynote session at Oracle OpenWorld, 12.2.0.1 will be rolled out across the cloud in steps [...]. }} </ref>) 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 ''[http://docs.oracle.com/cd/B14117_01/server.101/b10739/dba.htm#sthref35 Oracle Database Administrator's Guide]'' offers further information on Oracle Database release numbers. === Patch updates and security alerts === Oracle Corporation releases Critical Patch Updates (CPUs) or Security Patch Updates (SPUs)<ref>{{cite book|url=https://books.google.com/books?id=bnx9_MkBimcC|title=Oracle Data Guard 11gR2 Administration Beginner's Guide|last1=Baransel|first1=Emre|publisher=Packt Publishing Ltd|isbn=9781849687911|publication-date=2013|quote=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.|accessdate=2014-01-15}} </ref> and Security Alerts to close security holes that could be used for data theft. [http://www.oracle.com/technetwork/topics/security/alerts-086861.html Critical Patch Updates (CPUs) and Security Alerts] come out quarterly on the Tuesday closest to 17th day of the month. * [http://www.oracle.com/technetwork/topics/security/securityemail-090378.html Customers may receive release notification by email]. * White Paper: [http://www.oracle.com/us/support/assurance/leveraging-cpu-wp-164638.pdf?ssSourceSiteId=otnen Critical Patch Update Implementation Best Practices] ==Oracle Database product family== Based on licensing and pricing, Oracle Corporation groups its Oracle Database-related product portfolio into the ''Oracle Database product family'', which consists of the following:<ref name="Gelhausen">{{cite web | url = http://www.oracle.com/technetwork/database/oracle-database-editions-wp-12c-1896124.pdf | title = Oracle Database 12''c'' Product Family | last = Gelhausen | first = Jenny | date = August 2015 | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> * Oracle Database editions: variations of the software designed for different scenarios. * Database options: extra cost offers providing additional database functionality. * Oracle data models: database schemas, offering pre-built [[data model]]s with database analytics and [[business intelligence]] capabilities for specific industries. * Management packs: integrated set of [[Oracle Enterprise Manager]] tools for maintaining various aspects of Oracle Database. * Some of Oracle [[computer appliance|engineered systems]], either specifically built for Oracle Database deployment or supporting such capability. * Other related products intended for use with Oracle Database. ===Database editions=== {{As of | 2016}} the latest Oracle Database version (12.1.0.2) comes in two editions:<ref name="Gelhausen"/> * Oracle Database 12''c'' '''Enterprise Edition''' (EE): Oracle Corporation's flagship database product. A fully featured edition of Oracle Database, it also allows purchase of add-on features in the form of Database Options and Management packs and imposes no limitation on server resources available to the database.<ref>[http://www.oracle.com/us/products/database/enterprise-edition/overview/index.html Oracle Database 12c Enterprise Edition]</ref> * Oracle Database 12''c'' '''Standard Edition 2''' (SE2): intended for [[Small and medium-sized enterprises|small- to medium-sized implementations]], this edition comes with Real Application Clusters option included, a reduced set of database features, and the licensing restriction to run on servers or clusters with a maximum of 2 sockets total and capped to use a maximum of 16 [[Simultaneous multithreading|concurrent user threads]].<ref name="BriefSE2">{{cite web | url = http://www.oracle.com/us/products/database/oracle-db-se2-brief-2680836.pdf | title = Brief: Oracle Database Standard Edition 2 | last = Oracle Corporation | first = | date = 2015 | website = Oracle Database 12c Standard Edition 2 | access-date = 17 February 2016 }}</ref> Oracle positions SE2 as a starter edition, stressing complete upward compatibility and ease of upgrade to the more costly Enterprise Edition.<ref name="Gelhausen"/><ref>[https://www.oracle.com/database/standard-edition-two/index.html Oracle Database 12c Standard Edition 2]</ref> Oracle Corporation also makes the following editions available:<ref name=LicMan>[https://docs.oracle.com/database/121/DBLIC/editions.htm Oracle Database Editions]</ref> * Oracle Database '''Express Edition''' 11''g''R2 (Oracle Database XE), a free-to-use entry-level version of Oracle Database 11''g''R2 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. Oracle Database XE is a separate product from the rest of Oracle Database product family. It provides a subset of Standard Edition 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.<ref>[http://www.oracle.com/technetwork/licenses/database-11g-express-license-459621.html Oracle Technology Network Developer License Terms for Oracle Database Express Edition]</ref> Express Edition was first introduced in 2005 with Oracle 10''g'' release with a limitation to a maximum of 4&nbsp;GB of user data.<ref>{{cite web |url = http://www.georeference.org/doc/oracle_express_edition.htm |title = Oracle Express Edition |accessdate = 2013-02-21 |quote = [...] this topic uses Oracle® 10g Express Edition. [...] User data cannot exceed 4 gigabytes in size (in addition to Oracle system data). }}</ref> Oracle 11''g'' Express Edition, released on 24 September 2011,<ref> {{cite book | last = Niemiec | first = Richard | title = Oracle Database 11g Release 2 Performance Tuning Tips & Techniques | url = https://books.google.com/books?id=9gZ2eze4190C | accessdate = 2013-02-20 | series = Osborne [[Oracle Press]] | year = 2012 | publisher = [[McGraw-Hill Professional]] | isbn = 9780071780261 | page = 47 | quote = [...] Oracle 11g Express Edition Released (September 24, 2011). }} </ref> increased user data cap to 11&nbsp;GB.<ref> {{cite news | title = Oracle releases beta for Express Edition of 11g database | first = Chris | last = Kanaracus | authorlink = | url = http://www.computerworld.com/s/article/9215470/Oracle_releases_beta_for_Express_Edition_of_11g_database | newspaper = Computerworld | publisher = Computerworld Inc. | date = 2011-04-04 | accessdate = 2013-02-21 | quote = [...] no more than 11&nbsp;GB of user data can be placed in an XE database, and it can use no more than 1&nbsp;GB of RAM [...] }} </ref> * Oracle Database '''Personal Edition''', a single-user, single-machine development and deployment license, allows use of all database features and extra-cost database options (with the exception of the Oracle RAC option). It is available for purchase for Windows and Linux platforms only and does not include management packs.<ref name=LicMan/> Up to and including Oracle Database 12.1.0.1, Oracle also offered the following:<ref name="Hardie">{{cite web | url = http://www.oracle.com/technetwork/community/database-11g-product-family-technic-133664.pdf | title = Oracle Database 11g Product Family | last = Hardie | first = Willie | date = November 2009 | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> * Standard Edition (SE) ran on single or clustered servers with a maximum capacity of 4 CPU sockets. It was largely the same as the current SE2 offer, including Real Application Clusters option at no additional cost, however allowing twice as much CPU sockets in a server or a cluster. * Standard Edition One (SE1), introduced with Oracle 10''g'', offered the same features as SE and was licensed to run on single servers with a maximum of two 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.<ref name="DBJ">{{cite web | url = http://www.databasejournal.com/features/oracle/is-it-time-to-move-from-oracle-database-standard-edition-2-or-enterprise-edition.html | title = Is It Time to Move from Oracle Database Standard Edition 2 or Enterprise Edition? | last = Colon | first = Eliot Arlo | date = November 19, 2015 | website = Database Journal | access-date = 17 February 2016 }}</ref> Industry journalists and some{{quantify|date=April 2016}} ISVs perceived Oracle's desupport of affordable SE1 and restrictive updates to SE in the form of SE2 (specifically, the introduction of thread throttling and halving the number of licensable CPU sockets without changing price-per-socket) as an attempt to repress customers' efforts to scale SE/SE1 installations up to "enterprise" class by means of [[virtualization]], while at the same time pushing them towards the more expensive Enterprise Edition or to [[Oracle Corporation#Oracle Cloud|Oracle Cloud]] [[cloud database|Database as a service]].<ref name="TheReg1"> {{cite web | url = https://www.theregister.co.uk/2015/09/07/oracle_se2_licensing_clamp_down/ | title = Oracle plugs socket numbers on DIY Standard Edition | last = Clarke | first = Gavin | date = September 7, 2015 | website = The Register | access-date = 17 February 2016 | quote = The change [...] seems intended to stop customers lashing together copies of entry level SE and SE1 before using VMware to scale up to enterprise-class clusters. }} </ref><ref name="TheReg2"> {{cite web | url = https://www.theregister.co.uk/2016/01/20/oracle_se2_isv_update/ | title = Oracle's SE2 update the end for some ISVs, says veteran systems firm | last = Martin | first = Alexander J | date = January 20, 2016 | website = The Register | access-date = 17 February 2016 | quote = [Oracle] noticed the increases in server capabilities and so it has made a move to rectify that [...] [If] the customers are unhappy with it then there's always the cloud option. }} </ref> ===Database options=== Oracle Corporation refers to a number of add-on database features as "database options".<ref name="Gelhausen"/> These aim to enhance and complement existing database functionality to meet customer-specific requirements.<ref name="OTNOptions">{{cite web | url = http://www.oracle.com/technetwork/database/options/index.html | title = Database Options Overview | last = Oracle Corporation | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> All Database Options are only available for Enterprise Edition and offered for an extra cost.<ref name="Gelhausen"/><ref name="TechPrice">{{cite web | url = http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf | title = Oracle Technology Global Price List | last = Oracle Corporation | website = www.oracle.com | access-date = 17 February 2016 }}</ref> An exception to these two rules is Oracle Real Application Clusters option, which comes included with Oracle Database 12''c'' Standard Edition 2 at no additional cost.<ref name=LicMan/> * [http://www.oracle.com/us/products/database/options/active-data-guard/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/advanced-analytics/overview/index.html Oracle Advanced Analytics] allows access to in-database [[Oracle Data Mining|data mining]] algorithms and use of Oracle R Enterprise functionality, an integration with open-source [[R (programming language)|R statistical programming language and environment]]. * [http://www.oracle.com/us/products/database/options/advanced-compression/overview/index.html 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]]. * [http://www.oracle.com/us/products/database/options/advanced-security/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/database-in-memory/overview/index.html Oracle Database In-Memory], an in-memory, [[Column-oriented DBMS|column-oriented]] data store, has been seamlessly integrated{{citation needed|date=July 2016}} 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. Note: data is persisted on disk only in a row format, so no additional storage is required. The product's performance comes through the in-memory columnar format and through the use of [[Vector processor|SIMD vector processing]] (Single Instruction processing Multiple Data values). Database In-Memory features include: ** An In-Memory column store, a new{{when|date=July 2016}} component of the SGA called the In-Memory Area. One can allocate a little or a lot of memory to the In-Memory Area. The larger the In-Memory Area, the greater the number of objects that can be brought into memory in the In-Memory columnar format. Unlike in a pure [[in-memory database]] not all of the data in the Oracle Database requires populating into memory in the columnar format. ** Only objects with the INMEMORY attribute get populated into the In-Memory column store. The INMEMORY attribute can be specified on a tablespace, table, (sub)partition, or materialized view. If it is enabled at the tablespace level, then all tables and materialized views in the tablespace are enabled for In-Memory by default. ** Data is populated into a new In-Memory column store by a set of background processes referred to as worker processes (ora_w001_orcl). Each worker process receives a subset of database blocks from the object to populate into the In-Memory column store. Population is a streaming mechanism, simultaneously columnizing and compressing the data. ** Oracle takes advantage of [[Vector processor|SIMD]] vector processing to scan the data in the columnar format. Instead of evaluating each entry in the column one at a time, SIMD vector processing lets a set of column values be evaluated together in a single CPU instruction. The column format used in the IM column store has been specifically designed{{by whom|date=July 2016}} to maximize the number of column entries that can be loaded into the vector registers on the CPU and evaluated in a single CPU instruction. ** [[Fault tolerance]] for In-Memory Column Store runs on Oracle Engineered Systems ([[Oracle Exadata]], [[Oracle Database Appliance]] and Oracle Supercluster), mirroring the data in memory across RAC nodes. If one RAC node fails, the database simply reads from the other side of the mirror. ** In-Memory Aggregation improves performance of typical analytic queries using efficient in-memory arrays for joins and aggregation.<ref name="IMAggr"> {{cite web | url = http://docs.oracle.com/database/121/TGSQL/tgsql_transform.htm#TGSQL95256 | title = In-Memory Aggregation | last = Oracle Corporation | website = Oracle Help Center | access-date = 17 February 2016 }} </ref>{{qn|date=July 2016}} * [http://www.oracle.com/us/products/database/options/database-vault/overview/index.html 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. * [http://www.oracle.com/us/products/database/label-security-066519.html Oracle Label Security] is a sophisticated and flexible framework for a fine-grained label based [[access control]] (LBAC) implementation. * [http://www.oracle.com/us/products/database/options/multitenant/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/olap/overview/index.html Oracle On-Line Analytical Processing (OLAP)] is [[Oracle OLAP|Oracle implementation]] of [[online analytical processing]]. * [http://www.oracle.com/us/products/database/options/partitioning/overview/index.html Oracle Partitioning] allows [[partition (database)|partitioning]] of tables and indices, where large objects are stored in database as a collection of individual smaller pieces at the same time appearing on application level as a uniform data object. * [http://www.oracle.com/us/products/database/options/rac-one-node/overview/index.html Oracle RAC One Node] is a one-node version of Oracle Real Application Clusters, providing capabilities for database [[failover]] and [[high availability]] in the form of rolling upgrades, online instance migration, application continuity and automated [[quality of service]] management. * [[Oracle RAC|Oracle Real Application Clusters]] (RAC) is the [[computer cluster]] version of Oracle Database. * [[Oracle Real Application Testing]] enable testing of system changes in a simulation of production-level workload and use. * [[Oracle Spatial and Graph]]<ref> {{cite web | url = https://www.oracle.com/database/spatial/index.html | title = Oracle Spatial and Graph | publisher = Oracle | access-date = 2016-07-06 | quote = 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. }} </ref> complements the Oracle Locator feature (available in all editions of Oracle Database<ref> {{cite book | last1 = Kothuri | first1 = Ravikanth | last2 = Godfrind | first2 = Albert | last3 = Beinat | first3 = Euro | chapter = 8: Spatial indexes and operators | title = Pro Oracle Spatial for Oracle Database 11g | url = https://books.google.com/books?id=RA1gBwAAQBAJ | series = Expert's voice in Oracle | publisher = Apress | page = 244 | publication-date = 2012 | isbn = 9781430242888 | access-date = 2016-07-06 | quote = A majority of the functionality of spatial indexes and spatial operators is part of Oracle Locator (included in all editions of the Oracle Database). }} </ref>) with advanced spatial capabilities enabling the development of complex [[geographic information system]]s and includes [[network model|network data model]] and [[Resource Description Framework|RDF]]/[[Web Ontology Language|OWL]] Semantic graphs. * [http://www.oracle.com/us/products/database/options/timesten-cache/overview/index.html 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. ==Supported platforms== Oracle Database 12''c'' is supported on the following OS and architecture combinations: * [[Linux]] on [[x86-64]] (only [[Red Hat Enterprise Linux]], [[Oracle Linux]] and [[SUSE]] distributions are supported<ref>[https://docs.oracle.com/database/121/LTDQI/toc.htm#BABGGEBA Operating System Requirements for x86-64 Linux Platforms]</ref>) * [[Microsoft Windows]] on x86-64 * [[Solaris (operating system)|Oracle Solaris]] on [[SPARC]] and x86-64 * [[IBM AIX]] on [[IBM Power Systems|POWER Systems]] * IBM [[Linux on z Systems]] * [[HP-UX]] on [[Itanium]] 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.<ref> {{cite web |url = http://www.oracle.com/us/products/servers-storage/storage/nas/hybrid-columnar-compression-ds-1405370.pdf |title = Hybrid Columnar Compression And Oracle Storage |last1 = Martin |first1 = Christopher |year = 2011 |publisher = Oracle Corporation |page = 1 |format = PDF |accessdate = 2013-02-07 |quote = 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. |deadurl = yes |archiveurl = https://web.archive.org/web/20130120052930/http://www.oracle.com/us/products/servers-storage/storage/nas/hybrid-columnar-compression-ds-1405370.pdf |archivedate = 20 January 2013 |df = dmy-all }} </ref> ==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 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 [http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/editions.htm#CJACGHEB Oracle's list].{{Original research inline|date=December 2009}} Such "features" may include (for example): * Active Session History (ASH), the collection of data for immediate monitoring of very recent database activity.<ref>{{cite book | last= Alapati | first= Sam R. | authorlink = | title= Expert Oracle database 10g administration | url= https://books.google.com/books?id=xxx0KAwY_ZMC&pg=PA845&lpg=PA845&dq=ASH++Active+Session+History | accessdate= 2009-05-25 | edition = | series = | volume = | origyear = | year= 2005 | publisher= Apress | ___location = | language = | isbn= 978-1-59059-451-3 | oclc = | doi = | bibcode = | id = | page= 845 | nopp = | chapter = | chapterurl = | quote= ... ASH records very recent session activity (within the last five or ten minutes). | ref = | laysummary = | laydate = | separator = | postscript = | lastauthoramp= }}</ref> * Automatic Workload Repository (AWR),<ref>{{cite web|title= Week 6: Automatic Workload Repository|url= http://www.oracle.com/technology/pub/articles/10gdba/week6_10gdba.html |accessdate= 12 July 2007 |deadurl= yes |archiveurl= https://web.archive.org/web/20070809122949/http://www.oracle.com/technology/pub/articles/10gdba/week6_10gdba.html |archivedate= 9 August 2007 }}</ref><ref> {{cite book | last1 = Alapati | first1 = Sam | chapter = 4: Introduction to the Oracle Database 10g Architecture | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = Expert's Voice | publisher = Apress | publication-date = 2006 | page = 142 | isbn = 9781430200666 | accessdate = 2016-02-24 | quote = Automatic Workload Repository (AWR) [-] The AWR plays the role of the 'data warehouse of the database,' and it is the basis for most of Oracle's self-management functionality. The AWR collects and maintains performance statistics for problem-detection and self-tuning purposes. By default, every 60 minutes the database collects statistical information from the SGA and stores it in the AWR, in the form of snapshots. }} </ref> providing monitoring and statistical services to Oracle database installations from Oracle version 10. Prior to the release of Oracle version 10, the Statspack facility<ref> {{cite journal | author = Sai Peck lee | author2=Džemal Zildžić | year = 2006 | title = Oracle Database Workload Performance Measurement and Tuning Toolkit | journal = Issues in Informing Science and Information Technology | volume = 3 | pages = 371–381 | url = http://google.com/scholar?q=cache:uPdNes3VcSAJ:scholar.google.com/ | accessdate = 2010-02-05 | quote = Statspack utility consists of a set of Programming Language/Structured Query Language (PL/SQL) scripts, executed against the database to gather, store data and metrics, and generate reports database activity reports }} {{dead link|date=February 2016}}</ref> provided similar functionality. AWR requires an Oracle Database Pack license.<ref> {{cite web |url= http://www.informationweek.com/software/enterprise-applications/oracle-support-costs-2-savings-strategies/d/d-id/1204331 |title= Oracle Support Costs: 2 Savings Strategies |last= Henschen |first= Doug |author-link= |date= 2014-04-10 |department= Software |website= InformationWeek |publisher= UBM |access-date= 2017-07-20 |quote= It's common for Oracle database administrators to run Automatic Workload Repository (AWR) reports to diagnose database problems, for example, but that tool requires that you have a license for the Oracle Database Pack. }} </ref> * Clusterware * [https://web.archive.org/web/20061016105250/http://www.oracle.com/solutions/business_intelligence/warehouse-builder.html Data Aggregation and Consolidation] * [https://web.archive.org/web/20060921173803/http://www.oracle.com/technology/deploy/availability/htdocs/dataguardoverview.html Data Guard] for [[high availability]] * [https://web.archive.org/web/20080724064649/http://www.oracle.com/technology/products/oracle9i/datasheets/gateways/gateway_rel2_ds.html Generic Connectivity] for connecting to non-Oracle systems. * Data Pump utilities, which aid in importing and exporting data and metadata between databases<ref>{{cite web|url=http://download.oracle.com/docs/cd/B28359_01/server.111/b28319/dp_overview.htm#SUTIL100 |title=Overview of Oracle Data Pump |publisher=Download.oracle.com |accessdate=2009-12-19}}</ref> * SQL*Loader, utility that facilitates high performance data loading. * Database Resource Manager (DRM), which controls the use of computing resources.<ref>{{cite book | last= Greenwald | first= Rick | authorlink = |author2=Robert Stackowiak |author3=Jonathan Stern | others = | title=Oracle Essentials: Oracle Database 11g | origyear = | month = | url = | accessdate = | edition = | series = | volume = |date= November 2007 | publisher= O'Reilly | ___location = | language = | isbn= 978-0-596-51454-9 | oclc = | doi = | id = | page= 184 | chapter = | chapterurl = | quote= The Database Resource Manager (DRM) was first introduced in Oracle 8''i'' [...] to place limits on the amount of computer resources that can be used [...] | ref= }}</ref> * Expression filtering<ref> {{cite book | last1 = Floss | first1 = Kimberly | title = Oracle SQL Tuning & CBO Internals | url = https://books.google.com/books?id=xJ0fLjQFUFcC | series = Oracle In-Focus Series | volume = 16 | ___location = Kittrell, North Carolina | publisher = Rampant TechPress | publication-date = 2004 | page = 234 | isbn = 9780974599335 | access-date = 2017-08-02 | quote = 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. }} </ref> * Fast-start parallel rollback<ref> {{cite book | first1 = Mike | last1 = Ault | author1-link = Mike Ault | first2 = Daniel | last2 = Liu | first3 = Madhu | last3 = Tumma | editor = Don Burleson | title = Oracle Database 10g New Features: Oracle 10g Reference for Advanced Tuning & Administration | url = https://books.google.com/books?id=ufz5-hXw2_UC | accessdate = 2011-11-16 | series = Oracle In-Focus series | year = 2003 | publisher = Rampant TechPress | isbn = 978-0-9740716-0-2 | pages = 51? or 544? | quote = 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 [...] }} </ref> * Fine-grained auditing (FGA) (in Oracle Enterprise Edition)<ref> {{cite web | url= http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#CJACGHEB | title= Feature Availability by Edition | accessdate= 2008-08-19 | authorlink = |date= May 2008 | work= Oracle Database Licensing Information 11g Release 1 (11.1) Part Number B28287-08 | publisher= Oracle Corporation | quote= }} </ref> supplements standard security-auditing features<ref> {{cite web |url = http://www.oracle.com/technology/pub/articles/10gdba/week10_10gdba.html |title= Auditing Tells All |accessdate=2008-08-19 |last= Nanda |first= Arup |authorlink= |work= Oracle Database 10g: The Top 20 Features for DBAs |publisher= Oracle Corporation |quote= ...the standard audit (available in all versions) and the fine-grained audit (available in Oracle 9''i'' and up ... |deadurl= yes |archiveurl= https://web.archive.org/web/20080515203821/http://www.oracle.com/technology/pub/articles/10gdba/week10_10gdba.html |archivedate= 15 May 2008 }} </ref> * [[Oracle Flashback|Flashback]] for selective data recovery and reconstruction<ref>[http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm Oracle.com] {{webarchive|url= https://web.archive.org/web/20061104004637/http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm |date= 4 November 2006 }} </ref> * Heterogeneous Services (HS), providing connectivity to non-Oracle systems and code.<ref> {{cite book | last1 = Laszewski | first1 = Tom | last2 = Williamson | first2 = Jason | chapter = 2: Oracle Tools and Products | title = Oracle Information Integration, Migration, and Consolidation | url = https://books.google.com/books?id=bEnTAOj34zIC | ___location = Birmingham | publisher = Packt Publishing Ltd | publication-date = 2011 | isbn = 9781849682213 | access-date = 2017-06-09 | quote = 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. }} </ref> * [http://www.oracle.com/technology/tech/sql_plus/index.html iSQL*Plus], a web-browser-based [[graphical user interface]] (GUI) for [[Data Manipulation Language|manipulating data]] in an Oracle database (compare [[SQL*Plus]]) * Oracle Data Access Components (ODAC), tools that consist of:<ref> {{cite web | title = Oracle Product Accessibility Status: Database Server Enterprise Edition | url = http://www.orangetechnomind.com/osb-training-in-chennai | work = | publisher = Oracle Corporation | ___location = | page = | pages = | doi = | date = 2 June 2008 | accessdate = 2009-04-14 }}</ref> ** Oracle Data Provider for .NET (ODP.NET)<ref>{{cite web|title= Oracle Data Provider for .NET |url= http://www.oracle.com/technology/tech/windows/odpnet/index.html |work= |publisher= Oracle Corporation |___location= |doi= |accessdate= 2009-05-07 |quote= The Oracle Data Provider for .NET (ODP.NET) features optimized [[ADO.NET]] data access to the Oracle database. |deadurl= yes |archiveurl= https://web.archive.org/web/20080513152622/http://www.oracle.com/technology/tech/windows/odpnet/index.html |archivedate= 13 May 2008 }}</ref> ** 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 * [http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/omf.htm#i1007206 Oracle-managed files] (OMF) – a feature allowing automated naming, creation and deletion of datafiles at the operating-system level. * [https://web.archive.org/web/20051208092120/http://www.oracle.com/technology/deploy/availability/htdocs/rman_overview.htm Recovery Manager] ([[RMAN]]) for [[database dump|database backup]], restoration and [[data recovery|recovery]] * [[SQL*Plus]], a program that allows users to interact with Oracle database(s) via [[SQL]] and [[PL/SQL]] commands on a [[command line interface|command-line]]. Compare [[SQL*Plus|iSQL*Plus]]. * SQLcl, a command-line interface for queries, developed on the basis of [[Oracle SQL Developer]]<ref> {{cite web | url = http://www.oracle.com/technetwork/issue-archive/2015/15-sep/o55sql-dev-2692807.html | title = The Modern Command Line | last1 = Smith | first1 = Jeff | author-link1 = | date = September 2015 | department = Oracle Magazine | website = Oraxcle Technology Network | publisher = Oracle Corporation | access-date = 2016-01-05 | quote = 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. }} </ref> * Universal Connection Pool (UCP), a [[connection pool]] based on Java and supporting [[JDBC]], LDAP, and [[Java EE Connector Architecture|JCA]]<ref> {{cite book | first1 = Rick | last1 = Greenwald | first2 = Robert | last2 = Stackowiak | first3 = Maqsood | last3 = Alam | first4 = Mans | last4 = Bhuller | title = Achieving Extreme Performance with Oracle Exadata | url = https://books.google.com/books?id=HFJzNfWonPQC | accessdate = 2011-10-12 | series = Osborne ORACLE Press Series | year = 2011 | publisher = McGraw-Hill Prof Med/Tech | isbn = 978-0-07-175259-6 | pages = 328? or 432? | quote = 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. }} </ref> * [[Virtual private database|Virtual Private Database]]<ref> "Virtual Private Database" appears listed as a feature available as part of Oracle Enterprise Edition in: {{cite web | url = http://download.oracle.com/docs/cd/E11882_01/license.112/e10594/editions.htm | title = Feature Availability by Edition | author = Manmeet Ahluwalia | date = October 2009 | work = Oracle Database Licensing Information 11g Release 2 (11.2) | publisher = Oracle Corporation | accessdate = 2010-02-09 | display-authors = etal | deadurl = yes | archiveurl = https://web.archive.org/web/20100412152525/http://download.oracle.com/docs/cd/E11882_01/license.112/e10594/editions.htm | archivedate = 12 April 2010 | df = dmy-all }} </ref> (VPD), an implementation of fine-grained access control.<ref> {{Cite book | last = Kate | first = Aniket | last2 = Menezes | first2 = Bernard | last3 = Singh | first3 = Ashish | date = December 2005 | chapter = Security/Privacy Issues in Providing Database as a Service | title = Proceedings of 3rd International Conference on E-Governance, ICEG 2005 | pages = 156–159 | publication-place = Lahore | publisher = Lahore University of Management Sciences | url = http://www.iceg.net/2006/download/E-Governance.pdf | accessdate = 2010-02-09 | quote = 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 polices 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. | postscript = <!--None--> }} </ref> * [[Oracle Application Express]], a no-cost environment for database-oriented software-development<ref> {{cite web |url = http://apex.oracle.com/i/index.html |title = Oracle Application Express 4.1 |work = apex.oracle.com |publisher = Oracle Corporation |accessdate = 2012-01-09 |quote = Oracle Application Express is a no-cost option of the Oracle database. }} </ref> * [http://www.oracle.com/us/products/middleware/data-integration/goldengate/index.html Oracle GoldenGate 11''g''] (distributed real-time data acquisition) * [[Oracle Text]] uses standard SQL to index, search, and analyze text and documents stored in the Oracle database. * Orace JSON Store - Oracle Database supports JavaScript Object Notation (JSON) data natively with relational database features, including transactions, indexing, declarative querying, and views.<ref> {{Cite web | url = https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246 | title = XML DB Developer's Guide|website=docs.oracle.com | language = en-US|access-date=2017-07-13 }} </ref> * Workspace Manager version-enables tables<ref> {{cite book | last1 = Alapati | first1 = Sam | chapter = 6: Oracle Transaction Management | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = ITPro collection | publisher = Apress | publication-date = 2006 | page = 273 | isbn = 9781430200666 | access-date = 2017-08-23 | quote = [...] Oracle provides the Workspace Manager, a feature you can use to version-enable tables, so different users can maintain different versions of the data. }} </ref> using the WMSYS schema.<ref> {{cite book | last1 = Shaul | first1 = Josh | last2 = Ingram | first2 = Aaron | chapter = 4: Managing Default Accounts | title = Practical Oracle Security: Your Unauthorized Guide to Relational Database Security | url = https://books.google.com/books?id=KPohQPM8CEYC | ___location = Rockland, Massachusetts | publisher = Syngress | publication-date = 2011 | page = 99 | isbn = 9780080555669 | access-date = 2017-08-23 | quote = 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. }} </ref> {{Expand list|date=August 2008}} === 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<ref> {{cite web | url=https://docs.oracle.com/database/122/ADJSN/toc.htm | title = Database JSON Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation | access-date = 2017-03-01 }} </ref>, a no-cost component in each edition of the database, provides native support for JSON documents. * [[Oracle Spatial and Graph]] – extra-cost software for managing spatial and ___location data ** Oracle Locator – a freely-available subset of Oracle Spatial and Graph * Oracle XML DB,<ref> {{cite web | url = http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html | title = Oracle XML DB | website = Oracle Technology Network | publisher = Oracle Corporation | access-date = 2016-02-11 | quote = 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. }} </ref> or XDB,<ref> {{cite book | last1 = Mensah | first1 = Kuassi | title = Oracle Database Programming using Java and Web Services | url = https://books.google.com/books?id=T0GvgQYG070C | publisher = Digital Press | publication-date = 2011 | page = 518 | isbn = 9780080525112 | accessdate = 2016-02-11 | quote = The Oracle XML Database (also known as XDB) furnishes a native XMLType data type for managing XML documents directly in the database. }} </ref>, a no-cost component in each edition of the database, provides high-performance technology for storing and retrieving native [[XML]]. * Oracle Text<ref> {{cite web | url = https://docs.oracle.com/database/122/CCAPP/toc.htm | title = Text Application Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation }} </ref>, 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 ''inter''Media" before Oracle 11g) for storing and integrating multimedia data within a database<ref> {{cite web |url = http://www.oracle.com/technetwork/database/database-technologies/multimedia/overview/index.html |title = Oracle Multimedia |website = www.oracle.com |publisher = Oracle Technology Network |accessdate = 2013-12-12 |quote = Oracle Multimedia is a feature that enables Oracle Database to store, manage, and retrieve multimedia data in an integrated manner with other enterprise information. }} </ref> * [[Object-relational database]]<ref> {{cite web | url = https://docs.oracle.com/database/122/ADOBJ/toc.htm | title = Database Object-Relational Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation }} </ref> 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.<ref> {{cite web | url = | title = Oracle Database Concepts, 10g Release 2 (10.2) | last1 = Cyran | first1 = Michele | author-link1 = | date = October 2005 | website = Oracle Help Center | series = Oracle Database Online Documentation, 10g Release 2 (10.2) | publisher = Oracle Corporation | access-date = 2015-11-06 | quote = Oracle Utilities [...] This chapter describes Oracle database utilities for data transfer, data maintenance, and database administration. }} </ref> Utilities included in Oracle database distributions include: * oradebug – interfaces with Oracle session [[tracing (software)|tracing]]<ref> For example: {{cite book | last1 = Allen | first1 = Grant | last2 = Bryla | first2 = Bob | last3 = Kuhn | first3 = Darl | last4 = Allen | first4 = Chris | title = Oracle SQL Recipes: A Problem-Solution Approach | url = https://books.google.com/books?id=k2cONi-RlPYC | publisher = Apress | publication-date = 2009 | series = Expert's voice in Oracle | page = 482 | isbn = 9781430225102 | accessdate = 2015-11-29 | quote = The oradebug utility can be used to enable and disable tracing for a session. }} </ref> ===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.<ref>{{cite book|url=https://books.google.com/books?id=75KT6GdcWbYC|title=Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives|last=Evdoridis|first=Theodoros|last2=Tzouramanis|first2=Theodoros|publisher=IGI Global|year=2007|isbn=9781591408925|editor-last=St. Amant|editor-first=Kirk|series=IGI Global research collection|pages=294–308|chapter=A Generalized Comparison of Open Source and Commercial Database management Systems|quote=Oracle Corporation has started a drive toward wizard-driven environments with a view to enabling non-programmers to produce simple data-driven applications.|accessdate=2013-02-20|editor2-last=Still|editor2-first=Brian}} </ref> 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,<ref>{{cite web|url=https://docs.oracle.com/cd/E37099_01/doc.20/e25066/install.htm#AELIG7017|title=Oracle REST Data Services Installation and Configuration Guide, Release 2.0|last1=Murray|first1=Chuck|year=2016|publisher=Oracle|access-date=2016-08-01|quote=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.}} </ref> providing a REST-based interface to relational data.<ref>Compare: {{cite book|url=https://books.google.com/books?id=q6pPCwAAQBAJ|title=Next Generation Databases|last1=Harrison|first1=Guy|publisher=Apress|isbn=9781484213292|publication-date=2015|page=201|quote=[...] Oracle REST Data Services (ORDS) [...] provides a [[Representational state transfer|REST]]-based interface to data in relational tables.|access-date=2016-08-01}} </ref> Users can also develop their own [[application software|applications]] in [[Java (programming language)|Java]] and in [[PL/SQL]], optionally using tools such as: * [[Oracle Forms]] * [[Oracle JDeveloper]] * [[Oracle Reports]] The Database Upgrade Assistant (DBUA)<ref>{{cite book | last1 = Shaw | first1 = John | last2 = Dyke | first2 = Julian | title = Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance | url = https://books.google.com/books?id=1iidwz4m2uwC | series = Expert's Voice in Oracle | publisher = Apress | publication-date = 2006 | page = 54 | isbn = 9781430202141 | accessdate = 2012-01-22 | quote = 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. }} </ref> provides a GUI for the upgrading of an Oracle database.<ref>{{cite book | last1 = Freeman | first1 = Robert | title = Oracle Database 10g New Features | url = https://books.google.com/books?id=Ev1MKZo8Wq0C | series = Osborne ORACLE Press Series | publisher = McGraw Hill Professional | publication-date = 2004 | page = 4 | isbn = 9780072229479 | accessdate = 2014-01-22 | quote = The DBUA is a GUI that is designed for upgrading your Oracle database [...] }} </ref> JAccelerator (NCOMP) – a native-compilation Java "accelerator", integrates hardware-optimized [[Java (programming language)|Java code]] into an Oracle 10g database.<ref> {{cite book | last = Iyer | first = Venkatasubramaniam | others = et al. | title = Oracle Database Java Developer's Guide: 10g Release 2 (10.2) | url = http://docs.oracle.com/cd/B19306_01/java.102/b14187/chten.htm | accessdate = 2013-07-29 | date = August 2006 | publisher = Oracle USA, Inc | ___location = [[Redwood City]] | chapter = 9 Oracle Database Java Application Performance | quote = Native compilation provides a speed increase ranging from two to ten times the speed of the bytecode interpretation. }} </ref> Oracle's OPatch provides [[Patch (computing)|patch]] management for Oracle databases.<ref>{{cite book | first1 = Darl | last1 = Kuhn | first2 = Charles | last2 = Kim | first3 = Bernard | last3 = Lopuz | title = Linux Recipes for Oracle DBAs | url = https://books.google.com/books?id=oqmW4BwSteoC | accessdate = 2011-12-05 | series = Apress Series | year = 2008 | publisher = Apress | isbn = 978-1-4302-1575-2 | pages = 275? or 501? | quote = 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. }} </ref> The SQLTXPLAIN tool (or SQLT) offers tuning assistance for Oracle [[SQL]] queries.<ref> {{cite book | last1 = Charalambides | first1 = Stelios | title = Oracle SQL Tuning with Oracle SQLTXPLAIN | url = https://books.google.com/books?id=1t_xdN6qivEC | accessdate = 2013-06-17 | year = 2013 | publisher = Apress | isbn = 9781430248101 | page = 1 | quote = [...] fast Oracle SQL tuning with SQLTXPLAIN, or SQLT as it is typically called [...] }} </ref> ==== Testing ==== * '''Oracle Live SQL''' makes available a test environment for Oracle Database users.<ref> {{cite web | url = https://livesql.oracle.com/apex/livesql/file/index.html | title = Live SQL | year = 2016 | website = Oracle live SQL | publisher = Oracle Corporation | access-date = 2016-08-01 | quote = 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. }} </ref> ==== Programming Language APIs ==== Oracle Database can be accessed from many programming languages and environments. These include: * [[Java (programming language)|Java]] via [[Java Database Connectivity|JDBC]], [https://docs.oracle.com/database/122/JSQLJ/title.htm SQLJ] * [[.NET Framework|Microsoft .NET]] via [http://www.oracle.com/technetwork/topics/dotnet/index-085163.html ODP.NET] * [[C (programming language)|C]] and [[C++]] via [http://www.oracle.com/technetwork/database/features/oci/index-090945.html OCI], [http://www.oracle.com/technetwork/database/features/oci/index-090945.html OCCI], [http://www.oracle.com/technetwork/database/windows/index-098976.html Oracle's ODBC Driver], [https://oracle.github.io/odpi/ ODPI-C], [http://vrogier.github.io/ocilib/ OCILIB], [https://docs.oracle.com/database/122/LNPCC/toc.htm Pro*C/C++] * [[Node.js]] via [https://www.npmjs.com/package/oracledb node-oracledb] * [[Python (programming language)|Python]] via [https://oracle.github.io/python-cx_Oracle/index.html cx_Oracle] * [[PHP]] via PHP OCI8, PDO_OCI * [[Go (programming language)|Go]] via [https://github.com/go-goracle/goracle goracle], [https://github.com/rana/ora ora], [https://github.com/mattn/go-oci8 go-oci8] * [[R (programming language)|R]] via [https://cran.r-project.org/web/packages/ROracle/index.html ROracle] * [[Ruby (programming language)|Ruby]] via [https://rubygems.org/gems/ruby-oci8/ ruby-oci8], [https://github.com/kubo/ruby-odpi ruby-odpi] * [[Ruby on Rails]] via the [https://rubygems.org/gems/activerecord-oracle_enhanced-adapter/ Oracle "enhanced" ActiveRecord adapter] * [[Perl]] via [http://search.cpan.org/~mjevans/DBD-Oracle/lib/DBD/Oracle.pm DBD::Oracle] * [[Erlang (programming language)|Erlang]] via [https://github.com/K2InformaticsGmbH/erloci erloci] * [[Rust (programming language)|Rust]] via [https://github.com/kubo/rust-oracle rust-oracle], [https://github.com/rustyhorde/mimir mimir] * [[COBOL]] via [https://docs.oracle.com/database/121/LNPCB/title.htm Pro*COBOL] * [[Fortran|FORTRAN]] via [https://docs.oracle.com/database/122/ZZFOR/writing-Pro-FORTRAN-program.htm#ZZFOR107 Pro*FORTRAN] 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 library|shared libraries]].<ref> {{cite book | last1 = Gupta | first1 = Saurabh | title = Oracle Advanced PL/SQL Developer Professional Guide | url = https://books.google.com/books?id=Zv2m8Bf_HRQC | publisher = Packt Publishing Ltd | publication-date = 2012 | page = 123 | isbn = 9781849687225 | accessdate = 2015-09-04 | quote = 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. }} </ref><ref> {{cite book | last1 = Litchfield | first1 = David | author-link1 = David Litchfield | last2 = Anley | first2 = Chris | last3 = Heasman | first3 = John | last4 = Grindlay | first4 = Bill | chapter = The Oracle Architecture | title = The Database Hacker's Handbook: Defending Database | url = https://books.google.com/books?id=CgQ8PLzCgcQC | ___location = New Delhi | publisher = John Wiley & Sons | publication-date = 2005 | page = 36 | isbn = 9788126506156 | access-date = 2016-02-28 | quote = 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. }} </ref> 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|date=August 2008}} Oracle Corporation has packaged {{As of|2006|alt=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|date=February 2007}} ===Database support options=== Users who have Oracle support contracts can use Oracle's "My Oracle Support" or "MOS"<ref> {{cite book | last1 = Kuhn | first1 = Darl | last2 = Alapati | first2 = Sam | last3 = Nanda | first3 = Arup | title = RMAN Recipes for Oracle Database 12c: A Problem-Solution Approach | url = https://books.google.com/books?id=QUEkAAAAQBAJ | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2013 | page = 534 | isbn = 9781430248361 | accessdate = 2014-07-07 | quote = Search Oracle's My Oracle Support (MOS) web site at http://support.oracle.com. }} </ref> 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''<ref>{{cite web |url=http://www.oracle.com/global/tr/support/051006_ADVANCEDMETALINK_CUSTOMER.pdf |title=Advanced MetaLink |format=PDF |accessdate=2009-12-19 |deadurl=yes |archiveurl=https://www.webcitation.org/5qKWHuy8Z?url=http://www.oracle.com/global/tr/support/051006_ADVANCEDMETALINK_CUSTOMER.pdf |archivedate=8 June 2010 |df=dmy-all }}</ref> 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)<ref>{{cite web | first = Stephen | last = Rea | authorlink = | title = Upgrading Oracle 9.2.0.6 to 10.2.0.3 on AIX 5.2 | url = http://www.uaex.edu/srea/10gR2_upgrade.txt | work = | publisher = University of Arkansas | ___location = | doi = | date = 16 September 2008 | accessdate = 2009-08-11 | quote = 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 10''g'' R2 (10.2.0) PreInstall (AIX) is described in: [https://metalink.oracle.com/metalink/plsql/docs/HCVE_A201DB10R2_aix.htm Oracle.com] }} </ref> 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)<ref>{{cite web|url=http://search.techrepublic.com.com/search/Oracle+Maximum+Availability+Architecture.html |title=oracle maximum availability architecture News and Other Resources &#124; TechRepublic |publisher=Search.techrepublic.com.com |accessdate=2012-07-26}}</ref> guidelines on developing high-availability systems * [[Optimal Flexible Architecture]] (OFA), blueprints for mapping Oracle-database objects to file-systems ===Oracle Certification Program=== {{Main article|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 Group]]s has grown up of users and developers of Oracle databases. They include: * Geographical/regional user groups<ref>{{cite web|url=http://www.morganslibrary.org/usergrps.html |title=Oracle Users Group Groups |publisher=Morganslibrary.org |accessdate=2012-07-26}}</ref> * Independent Oracle Users Group * Industry-centric user groups * [[Oracle Technology Network]] * [http://www.ohsug.org Oracle Health Sciences User Group] * Product-centric user groups * The OakTable Network * [[Usenet newsgroup]]s ==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 SE|SAP]] and [[Teradata]] .<ref>{{Cite web|url=https://www.gartner.com/document/3769150|title=Login Page|website=www.gartner.com|language=en|access-date=2017-12-15}}</ref> ===Competition=== In the market for relational databases, Oracle Database competes against commercial products such as IBM's [[IBM DB2|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]] [[Customer relationship management|CRM]]), and IBM's hardware divisions work closely{{Citation needed|date=February 2010}} 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 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 [[Per-seat license|number of potential seats]] ("named users").<ref> {{cite book |last= Kreines |first= David C. |title= Oracle DBA Pocket Guide |url= https://books.google.com/books?id=4FB1pZetQ-IC |accessdate= 2010-08-10 |series= Pocket References Series |year= 2005 |publisher= O'Reilly Media, Inc. |isbn= 978-0-596-10049-0 |pages = 16? or 145? |quote= Oracle products are currently licensed using two different licensing models: ''Per Named User''. [...] ''Per Processor'' [...] }} </ref> ; Enterprise Edition (DB EE): {{As of|2010|alt=As of July 2010}}, the database that costs the most per machine-processor among Oracle database editions, at $47,500 per processor. The term "per processor" for Enterprise Edition is defined with respect to physical cores and a processor core multiplier (common processors = 0.5*cores). e.g. An 8-processor, 32-core server using Intel Xeon 56XX CPUs would require 16 processor licenses.<ref>{{cite web|title=Oracle Technology Global Price List |url=http://www.oracle.com/corporate/pricing/technology-price-list.pdf |publisher=Oracle Corporation |date=2010-06-14 |accessdate=2010-07-13 |deadurl=yes |archiveurl=https://web.archive.org/web/20100721014320/http://www.oracle.com/corporate/pricing/technology-price-list.pdf |archivedate=21 July 2010 }}</ref><ref>{{cite web|title=Processor Core Factor Table|url=http://www.oracle.com/us/corporate/contracts/processor-core-factor-table-070634.pdf|accessdate=2011-04-08}}</ref> ; Standard Edition (DB SE): Cheaper: it can run on up to four processors but has fewer features than Enterprise Edition—it lacks proper parallelization,<ref>Oracle Database Licensing Information [http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#BABDJGGI Database Editions]</ref> etc.; but remains quite suitable for running medium-sized applications. There are not additional cost for Oracle RAC on the latest Oracle 11g R2 standard edition release. ; Standard ONE (DB SE1 or DB SEO): Sells even more cheaply, but remains limited to two CPUs. Standard Edition ONE sells on a per-seat basis with a five-user minimum. Oracle Corporation usually sells the licenses with an extra 22% cost for support and upgrades (access to My Oracle Support—Oracle Corporation's support site), which customers must renew annually. ; Oracle Express Edition (DB XE)<ref>{{cite web|url=http://www.oracle.com/technetwork/database/express-edition/overview/index.html |title=overview |publisher=Oracle.com |accessdate=2012-07-26}}</ref> (Oracle XE): An addition to the Oracle database product family ([[development stage#Beta|beta]] version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 11&nbsp;GB of user data and to 1&nbsp;GB of memory used by the database (SGA+PGA).<ref>[http://download.oracle.com/docs/cd/E17781_01/install.112/e18802/toc.htm#BABIECJA Licensing Restrictions]</ref> XE uses no more than one CPU and lacks an internal [[Java Virtual Machine|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 [https://web.archive.org/web/20111211031803/https://forums.oracle.com/forums/forum.jspa?forumID=251&start=0 Oracle Discussion Forum] (broken link) only. ==See also== {{Portal|IT|Software|Companies}} * [[Comparison of relational database management systems]] * [[Comparison of object-relational database management systems]] * [[Database management system]] * [[List of relational database management systems]] * [[List of databases using MVCC]] ==References== {{reflist|30em}} ==Bibliography== {{refbegin}} * {{Cite journal | first = Kevin | last = Loney | date = 17 December 2008 | title = Oracle Database 11g The Complete Reference | edition = 1st | publisher = [[McGraw-Hill]] | page = 1368 | isbn = 0-07-159875-8 | url = http://www.mhprofessional.com/product.php?isbn=0071598758 | accessdate = 2009-09-05 | postscript = <!--None--> }} {{refend}} ==External links== {{Commons category|Oracle (database)}} {{wikibooks|Oracle database}} {{Wikiversity|Oracle Database}} * [http://www.oracle.com/technology/software/products/database/oracle10g/ Overview provided by Oracle Corporation]. * [http://omtco.eu/references/oracle/ Oracle Licensing Knowledge Net]. {{Databases}} {{Oracle}} [[Category:Oracle Database]] [[Category:Client-server database management systems]] [[Category:Relational database management systems]] [[Category:Proprietary database management systems]] [[Category:Database engines]]'
New page wikitext, after the edit (new_wikitext)
'{{Use dmy dates|date=April 2015}} {{Infobox software | name = Oracle Database | logo = Oracle logo.svg | screenshot = | caption = | developer = [[Oracle Corporation]] | released = | latest_release_version = <!-- If you update this, remember to also update [[Comparison of relational database management systems]]-->12''c'' Release 2 (12.2.0.1)<ref>{{Cite web |url=https://blogs.oracle.com/UPGRADE/entry/oracle_database_12_2_01 |title=Oracle Database 12.2.0.1 on-prem is now available, too |last=Dietrich |first=Mike |date=1 March 2017 |access-date=3 March 2017}}</ref> | latest_release_date = {{release date and age|df=yes|2017|03|01}} | genre = [[Multi-model database]] | programming language = [[Assembly language]], [[C (programming language)|C]], [[C++]]<ref>{{Cite web |url=http://www.lextrait.com/Vincent/implementations.html |title=The Programming Languages Beacon, v16 |last=Lextrait |first=Vincent |date=March 2016 |access-date=15 December 2016}}</ref> | license = [[Proprietary software|Proprietary]]<ref>[http://www.oracle.com/technetwork/licenses/standard-license-152015.html OTN Standard License]</ref> | website = {{URL|oracle.com/database}} }} '''Oracle Database''' (commonly referred to as '''Oracle RDBMS''' or simply as '''Oracle''') is a [[multi-model database]]<ref>{{Cite web |url=http://download.oracle.com/otndocs/products/spatial/pdf/12c/Multimodel_Database_with_Oracle_Database_12c_Release_2.pdf |title=Multimodel Database with Oracle Database 12c Release 2 |access-date=1 March 2017}}</ref> management system produced and marketed by [[Oracle Corporation]]. It is the world's most popular database for running online transaction processing (OLTP), data warehousing (DW) and mixed (OLTP & DW) database workloads. The latest generation, Oracle Database 12c Release 2 (commonly referred to as 12.2), is available on-prem, on-Cloud, or in a hybrid-Cloud environment. 12.2 may also be deployed on Oracle Engineered Systems (e.g. [[Oracle Exadata|Exadata]]) on-prem, on [[Oracle Cloud|Oracle (public) Cloud]] or (private) Cloud at Customer. ==Physical and logical structures== An Oracle database system—identified by an alphanumeric system identifier or SID<ref>{{cite web | url = http://download.oracle.com/docs/cd/B28359_01/install.111/b32077/glossary.htm?type=popup#BABEBJAG | title = Glossary | accessdate = 2008-11-17 | last = Bhakthavatsalam | first = Namrata | authorlink = |date= August 2008 | work = Oracle Database Client |quote=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. }}</ref>—comprises at least one [[Database|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 [[process (computing)|processes]] and [[Computer data storage|memory]]-structures that interact with the [[Computer data storage|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".<ref> {{cite book | last = McLaughlin | first = Michael | title = Oracle Database 11g & MySQL 5.6 Developer Handbook | url = https://books.google.com/books?id=uaMYNWuckBMC | accessdate = 2012-06-04 | series = Osborne Oracle Press | year = 2011 | publisher = Mark Anthony De Castro & McGraw-Hill Professional | isbn = 9780071768856 | page = 11 | quote = 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. }} </ref> Users of Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds [[cache (computing)|cache]] information such as data-buffers, [[SQL]] commands, and user information. In addition to storage, the database consists of online [[redo log]]s (or logs), which hold [[Database transaction|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 [[replication (computer science)|data replication]] using [[Oracle Data Guard]]. The [[Oracle RAC]] (Real Application Clusters) option uses multiple instances attached to a central [[Disk array|storage array]]. In version 10''g'', [[grid computing]] introduced shared resources where an instance can use [[central processing unit|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 procedure]]s and [[subroutine|functions]] within itself. [[PL/SQL]] (Oracle Corporation's proprietary procedural extension to [[SQL]]), or the object-oriented language [[Java (programming language)|Java]] can invoke such code objects and/or provide the programming structures for writing them. ===Storage=== '''The Oracle RDBMS''' [[data storage device|stores data logically]] in the form of [[tablespace]]s and physically in the form of data [[Computer file|files]] ("[[datafile]]s").<ref> {{cite book |last= Alapati |first= Sam R. |authorlink= |title= Expert Oracle Database 11g Administration |url= https://books.google.com/books?id=tdRes4IdLiIC |accessdate= 2010-07-07 |series= The expert's voice in Oracle |year= 2008 |publisher= [[Apress]] |isbn= 978-1-4302-1015-3 |page= 170 |quote= Oracle databases are logically divided into one or more tablespaces. An Oracle tablespace is a logical entity that contains the physical datafiles. }} </ref> Tablespaces can contain various types of [[memory segmentation|memory segments]], such as Data Segments, Index Segments, etc. Segments in turn comprise one or more [[extent (file systems)|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.<ref> {{cite web |url = http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#i8531 |title = Oracle Database Concepts: 11g Release 2 (11.2) |last1 = Ashdown |first1 = Lance |last2 = Kyte |first2 = Tom |year = 2011 |publisher = Oracle Corporation |accessdate = 2013-07-12 |quote = You can use tablespaces to achieve the following goals: [...] Assign a quota (space allowance or limit) to a database user [...] }} </ref> ====Partitioning==== The [[Partition (database)|partitioning]] feature was introduced in Oracle 8.<ref>{{cite web|title=Oracle 8|url=http://www.orafaq.com/wiki/Oracle_8|website=Oracle FAQs|accessdate=19 January 2015}}</ref> 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 <code>SYSTEM</code> tablespace. The <code>SYSTEM</code> tablespace contains the [[data dictionary]], [[index (database)|indexes]] and [[cluster (computing)|clusters]]. A data dictionary consists of a special collection of [[table (database)|tables]] that contains information about all user-[[object (computer science)|objects]] in the database. Since version 8''i'', the Oracle RDBMS also supports "locally managed" tablespaces that store space management information in bitmaps in their own [[header (computing)|headers]] rather than in the <code>SYSTEM</code> tablespace (as happens with the default "dictionary-managed" tablespaces). Version 10''g'' and later introduced the <code>SYSAUX</code> tablespace, which contains some of the tables formerly stored in the <code>SYSTEM</code> tablespace, along with objects for other tools such as [[Oracle Enterprise Manager|OEM]], which previously required its own tablespace.<ref>{{cite book|last=Alapati|first=Sam R.|title=OCP Oracle Database 10g: New Features for Administrators Exam Guide|year=2004|publisher=McGraw-Hill/Osborne|isbn=0-07-225862-4|pages=18? or 287?}}</ref> ==== 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 [[computer data storage|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".<ref>Oracle Corporation, Oracle Database Concepts 11g Release 1 (11.2), http://download.oracle.com/docs/cd/E11882_01/server.112/e25789/glossary.htm#CHDDFGEC, 2011</ref> At the physical level, [[data file]]s comprise one or more [[block (data storage)|data blocks]], where the [[block (data storage)|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 [[Automatic Storage Management|ASM]] logical volumes.<ref> {{cite web | first = Bob | last = Watkins | authorlink = | title = Look inside ASM disk groups with Oracle 10''g''R2's ASMCMD | url = http://articles.techrepublic.com.com/5100-10878_11-6154262.html | work = techrepublic.com | publisher = ZDNet | ___location = | doi = | date = 30 January 2007 | accessdate = 2009-07-30 | quote = In 10''g'', 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. }} </ref> ===Database schema=== Most Oracle database installations come with a default [[Database schema|schema]] called <code>SCOTT</code>. After the installation process sets up sample tables, the user logs into the database with the username <code>scott</code> and the password <code>tiger</code>. The name of the <code>SCOTT</code> schema originated with Bruce Scott, one of the first employees at Oracle (then Software Development Laboratories), who had a cat named Tiger.<ref>[https://web.archive.org/web/20080116210119/http://www.orafaq.com/faqora.htm#SCOTT#SCOTT Oracle FAQ]</ref> Oracle Corporation now de-emphasizes the <code>SCOTT</code> schema, as it uses few features of more recent Oracle releases. Most {{As of | 2009 | alt = recent}} examples supplied by Oracle Corporation reference the default HR or OE schemas. Other default schemas<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/misc/known_schemas.html |title=Known schemas in Oracle |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref><ref>{{cite web|url=http://abcdba.com/abcdbaserver11gdefaultschema |title=11g Default Schema |publisher=ABCdba.com |accessdate=2010-10-26}}</ref> include: * <code>SYS</code> (essential core database structures and utilities) * <code>SYSTEM</code> (additional core database structures and utilities, and privileged account) * <code>OUTLN</code> (used to store metadata for stored outlines for stable query-optimizer execution plans.<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/tuning/cbo/plan_stability.html |title=Optimizer plan stability definition |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref>) * <code>BI</code>, <code>IX</code>, <code>HR</code>, <code>OE</code>, <code>PM</code>, and <code>SH</code> (expanded sample schemas<ref>{{cite web|url=http://www.adp-gmbh.ch/ora/misc/sample_schemas.html |title=Oracle's sample schemas |publisher=Adp-gmbh.ch |accessdate=2009-12-19}}</ref> containing more data and structures than the older <code>SCOTT</code> schema). ===={{Anchor|BUFFER-POOL}}System Global Area==== {{Main article|System Global Area}} Each Oracle instance uses a [[System Global Area]] or SGA—a [[Shared memory (interprocess communication)|shared-memory]] area—to store its data and control-information.<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle Architecture, System Global Area |publisher=World-class-programme.com |accessdate=2009-12-19}} </ref> 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.<ref>Karlsson André.[http://blog.protractus.se/?page_id=34 "Oracle DB Architecture - The Basics"]{{dead link|date=September 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><link> ====Library cache==== The library cache<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle architecture, the library cache section |publisher=World-class-programme.com |accessdate=2009-12-19}}</ref> 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 [[view (database)|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 [[parsing|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<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle Architecture, data dictionary cache |publisher=World-class-programme.com |accessdate=2009-12-19}}</ref> 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<ref>{{cite web|url=http://www.world-class-programme.com/Oracle-Architecture-2.asp |title=Oracle architecture, Program Global Area section |publisher=World-class-programme.com |accessdate=2009-12-19}} </ref><ref> [http://download.oracle.com/docs/cd/B19306_01/mix.102/b14388/gloss-p.htm#index-PGA PGA Definition], Oracle Database Master Glossary </ref> 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)<ref> {{cite web | url = http://nyoug.org/Presentations/2002/vviews.PDF | title = V$ views – don't leave $HOME without them | first = Mike | last = Bell | year = 2002 | publisher = New York Oracle users Group | ___location = | pages = 9–10 | format = PDF | accessdate = 2010-03-09 | quote = X$ tables are fixed tables created in memory at database startup [...] V$ views are created on one or more X$ tables }} </ref> built on the basis of database memory.<ref>{{cite web|url=http://download.oracle.com/docs/cd/E11882_01/server.112/e10820.pdf |title=Overview of the Dynamic Performance Views |first=Morales |last=Tony |authorlink= |date=October 2009 |work=Oracle Database Reference 11g Release 2 (11.2) |publisher=[[Oracle Corporation]] |___location= |pages=8-1 |format=PDF |accessdate=2010-03-09 |quote=V$INDEXED_FIXED_COLUMN displays the columns in dynamic performance tables that are indexed (X$ tables). |display-authors=etal }}{{dead link|date=June 2016|bot=medic}}{{cbignore|bot=medic}} </ref> 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 process|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):<ref>{{cite web|url= http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/process.htm#i16977 |title= Oracle Process architecture concepts |publisher= Download.oracle.com |accessdate= 2009-12-19}}</ref> * [[Oracle Advanced Queuing|advanced queueing]] processes (Qnnn)<ref> {{cite book | last = Antognini | first = Christian | title = Troubleshooting Oracle Performance | url = https://books.google.com/books?id=b3DIkYO2gBQC | accessdate = 2011-05-05 | series = Apress Series | year = 2008 | publisher = Apress | isbn = 978-1-59059-917-4 | page = 71 }} </ref> * 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)<ref name="Apress">{{cite book | last1 = Alapati | first1 = S | chapter = Chapter 14: Using Data Pump export and import | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | publisher = Apress | publication-date = 2005 | series = ITPro collection | page = 598 | isbn = 9781430200666 | accessdate = 2015-08-11 | quote = 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. }}</ref> * Data Pump worker processes (DWnn)<ref name="Apress"/> * dispatcher processes (Dnnn): multiplex server-processes on behalf of users * main Data Guard Broker monitor process (DMON)<ref> {{cite book | last = Carpenter | first = Larry | others = et al. | title = Oracle Data Guard 11g Handbook | year = 2009 | publisher = Oracle Press | isbn = 978-0-07-162111-3 | page = 173 | quote = 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. }} </ref> * job-queue slave processes (Jnnn)<ref> {{cite book | last = Debes | first = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=g1R96D2uO7kC | accessdate = 2011-05-02 | series = Apress series | year = 2009 | publisher = Apress | isbn = 978-1-4302-1952-1 | page = 173 | chapterurl = | quote = The job queue is handled by the job queue coordinator process CJQ0 and job queue slave processes (JNNN). }} </ref> * log-writer process (LGWR) *REQUIRED* * log-write network-server (LNSn):<ref> {{cite book | last1 = Alapati | first1 = Sam | last2 = Kim | first2 = Charles | chapter = 10: Data Guard | title = Oracle Database 11g: New Features for DBAs and Developers | url = https://books.google.com/books?id=14ZH0eZV6G8C | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2007 | pages = 430–431 | isbn = 9781430204695 | accessdate = 2015-11-24 | quote = The optional <tt>net_timeout</tt> parameter to the <tt>log_archive_dest_n</tt> 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. }} </ref> transmits redo logs in Data Guard environments * logical standby coordinator process (LSP0): controls [[Oracle Data Guard|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<ref> [http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 Safaribooksonline.com] {{cite book | last= Niemiec | first= Richard | authorlink = | title= Oracle Database 10g Performance Tuning: Tips & Techniques | url= http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 | accessdate= 2009-08-12 | edition = | series = | volume = | date= 25 June 2007 | origyear = | publisher= Oracle Press | ___location = | isbn= 978-0-07-226305-3 | oclc = | doi = | bibcode = | id = | page= 967 | nopp = | chapter= 1.30. New Background Processes in 10''g'' | chapterurl = | quote= 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. | ref = | laysummary = | laydate = | separator = | postscript = | lastauthoramp= }}</ref> * 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<ref> [http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 Safaribooksonline.com]{{cite book | last= Niemiec | first= Richard | authorlink = | title= Oracle Database 10g Performance Tuning: Tips & Techniques | url= http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 | accessdate= 2009-08-12 | edition = | series = | volume = | date= 25 June 2007 | origyear = | publisher= Oracle Press | ___location = | isbn= 978-0-07-226305-3 | oclc = | doi = | bibcode = | id = | page= 967 | nopp = | chapter= 1.30. New Background Processes in 10''g'' | chapterurl = | quote= M000 These are MMON background slave (m000) processes. }} </ref> * netslave processes (NSVn): [[Oracle Data Guard|Data Guard Broker]] inter-database communication processes<ref> {{cite web | url = http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104 | title = Oracle Database Reference, 11g Release 2 (11.2): Background Processes | last1 = Rich | first1 = Bert | year = 2015 | website = docs.oracle.comOracle Help Center | publisher = Oracle Corporation | access-date = 2015-08-05 | quote = NSVn[:] Data Guard Broker NetSlave Process[:] Performs broker network communications between databases in a Data Guard environment }} </ref> * parallel query execution servers (Pnnn)<ref> {{cite book | last1 = Kyte | first1 = Thomas | last2 = Kuhn | first2 = Darl | chapter = 5: Oracle Processes | title = Expert Oracle Database Architecture | url = https://books.google.com/books?id=3_RUBQAAQBAJ | series = SpringerLink : Bücher | edition = 3 | publisher = Apress | publication-date = 2014 | page = 202 | isbn = 9781430262992 | access-date = 2016-08-30 | quote = 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. }} </ref> * process-monitor process (PMON) *REQUIRED* * process-spawner process (PSP0): spawns Oracle background processes after initial instance startup<ref> {{cite web | url = https://docs.oracle.com/database/121/REFRN/bgprocesses.htm#REFRN104 | title = Oracle Database Online Documentation 12c Release 1 (12.1) / Database Administration: F Background Processes | year = 2014 | publisher = Oracle | page = 2497 | accessdate = 2014-11-12 | quote = Process Spawner Process [...] Spawns Oracle background processes after initial instance startup }} </ref> * queue-monitor coordinator process (QMNC): dynamically spawns queue monitor slaves<ref> {{cite book | last = Dyke | first = Julian | authorlink = |author2=Steve Shaw | title = Pro Oracle database 10g RAC on Linux: installation, administration, and performance | url = https://books.google.com/books?id=GjYTbJTIr54C | accessdate = 2011-05-05 | series = Apress Series | year = 2006 | publisher = Apress | isbn = 978-1-59059-524-4 | page = 45 | quote = In Oracle 10.1, a queue monitor coordinator (QMNC) process [...] dynamically spawns queue monitor slaves (q000 to q009). }} </ref> * queue-monitor processes (QMNn) * recoverer process (RECO) * remote file-server process (RFS): in Oracle Data Guard, a standby recipient of primary redo-logs<ref> {{cite book | last1 = Vallath | first1 = Murali | title = Oracle 10g RAC Grid, Services & Clustering | url = https://books.google.com/books?id=P9H7KRlhx_AC | publisher = Digital Press | publication-date = 2006 | page = 467 | isbn = 9780080492032 | accessdate = 2014-04-14 | quote = 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. }} </ref> * monitor for Data Guard management (RSM0): Data Guard Broker Worker process<ref> {{cite web | url = http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104 | title = Oracle Database Reference, 11g Release 2 (11.2) | last1 = Rich | first1 = Bert | year = 2015 | website = docs.oracle.com | publisher = Oracle Corporation | access-date = 2015-05-04 | quote = Performs monitoring management tasks related to Data Guard on behalf of DMON }} </ref> * shared server processes (Snnn): serve client-requests * space-management coordinator process (SMCO): coordinates space management (from release 11g)<ref> {{cite book | last1 = Alapati | first1 = Sam | last2 = Kim | first2 = Charles | title = Oracle Database 11g: New Features for DBAs and Developers | url = https://books.google.com/books?id=14ZH0eZV6G8C | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2008 | page = 16 | isbn = 9781430204695 | access-date = 2016-06-07 | quote = 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. }} </ref> * system monitor process (SMON) *REQUIRED* ====User processes, connections and sessions==== Oracle Database terminology distinguishes different [[computer science|computer-science]] terms in describing how end-users interact with the database: * user [[process (computing)|processes]] involve the invocation of application software<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote= 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. }}</ref> * a connection refers to the pathway linking a user process to an Oracle instance<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote=A connection is a communication pathway between a user process and an Oracle instance. }}</ref> * [[session (computer science)|sessions]] consist of specific established groups of interactions, with each group involving a client process and an Oracle instance.<ref>{{cite web | url= http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#sthref1481 | title= Process Architecture | accessdate= 2008-08-13 | last= Cyran | first= Michele |author2=Paul Lane | year= 2005 | work= Oracle Database Concepts | publisher= Oracle Corporation | quote= A session is a specific connection of a user to an Oracle instance through a user process }} </ref> Each session within an instance has a session identifier – a [[session ID]] or "SID"<ref> {{cite web | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3016.htm | title = V$SESSION | last = Morales | first = Tony | authorlink = | year = 2008 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle | ___location = | access-date = 2016-04-07 | quote = V$SESSION displays session information for each current session. [...] SID [...] Session identifier }} </ref><ref> {{cite book | last1 = Burleson | first1 = Donald K. | author-link1 = | title = Physical Database Design Using Oracle | url = https://books.google.com/books?id=8ivMBQAAQBAJ | series = Foundations of Database Design | publisher = CRC Press | publication-date = 2004 | page = 104 | isbn = 9780203506233 | access-date = 2016-04-07 | quote = [...] Oracle assigns a unique session ID into the v$session table for each individual user logged on to Oracle. }} </ref> (distinct from the Oracle system-identifier SID), and may also have an associated SPID (operating-system process identifier).<ref> {{cite web | url = https://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2022.htm#REFRN30186 | title = Oracle Database Reference, 10g Release 2 (10.2) | last1 = Rich | first1 = Kathy | date = April 2009 | website = docs.oracle.com | publisher = Oracle Corporation | ___location = Redwood city, California | script-title = V$PROCESS | quote = SPID VARCHAR2(12) Operating system process identifier | access-date = 2016-10-30 }} </ref> ===Concurrency and locking=== Oracle databases control simultaneous access to data resources with [[lock (computer science)|locks]] (alternatively documented as "enqueues").<ref> {{cite web | first = Immanuel | last = Chan | title = Glossary | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/glossary.htm?type=popup#sthref1649 | work = Oracle Database Performance Tuning Guide 11g Release 1 (11.1) | publisher = Oracle Corporation |date= July 2008 | accessdate = 2009-04-29 | quote = enqueue[:] This is another term for a lock. }}</ref> The databases also use "latches" – low-level serialization mechanisms to protect shared data structures in the System Global Area.<ref>{{cite web|authorlink= |title=Oracle Database Master Glossary: 11''g'' Release 1 (11.1) |url=http://download.oracle.com/docs/cd/B28359_01/mix.111/b14388/gloss-l.htm |work= |publisher=Oracle Corporation |___location= |doi= |accessdate=2009-04-24 |quote=latch[:] A simple, low-level serialization mechanism to protect shared data structures in the System Global Area. |deadurl=yes |archiveurl=https://web.archive.org/web/20100316015624/http://download.oracle.com/docs/cd/B28359_01/mix.111/b14388/gloss-l.htm |archivedate=16 March 2010 }}</ref> Oracle locks fall into three categories:<ref> {{cite web | url = http://docs.oracle.com/database/121/CNCPT/consist.htm | title = Oracle Database Concepts, 12c Release 1 (12.1): Data Concurrency and Consistency | last1 = Ashdown | first1 = Lance | last2 = Kyte | first2 = Tom | year = 2014 | publisher = Oracle Corporation | access-date = 2015-08-19 }} </ref> * 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.<ref>{{cite web | first = Richard | last = Strohm | authorlink = | title = Parameter Files | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/intro.htm#sthref23 | work = Oracle Database Concepts 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= October 2008 | accessdate = 2009-07-14 | quote = Parameter files contain a list of configuration parameters for that instance and database.|display-authors=etal}} </ref> This file in its ASCII default form ("pfile") normally has a name of the format <code>init<SID-name>.ora</code>. The default binary equivalent server parameter file ("spfile") (dynamically reconfigurable to some extent)<ref>{{cite web | first = Richard | last = Strohm | authorlink = | title = Initialization Parameter Files and Server Parameter Files | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/startup.htm#i9633 | work = Oracle Database Concepts 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= October 2008 | accessdate = 2009-07-14 | quote = |display-authors=etal}}</ref> defaults to the format <code>spfile<SID-name>.ora</code>. Within an SQL-based environment, the views <code>V$PARAMETER</code><ref>{{cite web | first = Tony | last = Morales | authorlink = | title = V$PARAMETER | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2.htm#insertedID85 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= April 2009 | accessdate = 2009-07-14 | quote = V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. |display-authors=etal}}</ref> and <code>V$SPPARAMETER</code><ref>{{cite web | first = Tony | last = Morales | authorlink = | title = V$SPPARAMETER | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3.htm#insertedID41 | work = Oracle Database Reference 11g Release 1 (11.1) | publisher = Oracle Corporation | ___location = | page = | pages = | doi = |date= April 2009 | accessdate = 2009-07-14 | quote = V$SPPARAMETER displays information about the contents of the server parameter file. |display-authors=etal}}</ref> give access to reading parameter values. Implementation The Oracle DBMS kernel code depends on [[C (programming language)|C programming]]. Database administrators have limited access to Oracle-internal C structures via V$ views and their underlying X$ "tables".<ref> {{cite book | last1 = Debes | first1 = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=ZxEL-FO4u7wC | series = The Expert's voice in Oracle | chapter = 9: Introduction to X$ Fixed Tables | ___location = Berkeley, California | publisher = Apress | publication-date = 2010 | page = 93 | isbn = 9781430219538 | accessdate = 2016-10-26 | quote = 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. }} </ref> Layers or modules in the kernel (depending on different releases) may include the following (given with their inferred meaning):<ref> {{cite book | last1 = Debes | first1 = Norbert | title = Secrets of the Oracle Database | url = https://books.google.com/books?id=ZxEL-FO4u7wC | series = The Expert's voice in Oracle | chapter = 9: Introduction to X$ Fixed Tables | ___location = Berkeley, California | publisher = Apress | publication-date = 2010 | pages = 94–96 | isbn = 9781430219538 | accessdate = 2016-10-26 | quote = 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 [:] }} </ref><ref> {{cite web | url = http://www.dba-oracle.com/t_x$_tables.htm | title = Oracle x$ tables | publisher = Burleson Consulting | access-date = 2016-10-26 | quote = Oracle Kernel Database Layers }} </ref><ref> {{cite web | url = http://orabase.org/index.php/2016/01/02/oracle-x-tables/ | title = Oracle X$ Tables | access-date = 2016-10-26 | quote = Updated to Oracle 12.1.0.2 }} </ref> 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.<ref> {{cite book | last1 = Bryla | first1 = Bob | last2 = Thomas | first2 = Biju | authorlink2 = | title = OCP: Oracle 10g New Features for Administrators Study Guide: Exam 1Z0-040 | url = https://books.google.com/books?id=XX8qSa1x0G4C | accessdate = 2013-10-10 | year = 2006 | publisher = John Wiley & Sons | isbn = 9780782150858 | page = 95 | quote = 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. }} </ref> Oracle Resource Manager aims to allocate CPU resources between users and groups of users when such resources become scarce.<ref> {{cite book | last1 = Ingram | first1 = Geoff | author1-link = | title = High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability | url = https://books.google.com/books?id=JD4-pBV6Bf4C | publisher = John Wiley & Sons | publication-date = 2002 | pages = 354–355 | isbn = 9780471430346 | accessdate = 2014-01-15 | quote = Oracle Resource Manager is [...] designed to ensure that CPU resources can be allocated fairly between groups of users on a single instance [...] }} </ref> As of Oracle Release 10.2, Database Resource Manager operates in Enterprise Edition.<ref> {{cite web | url= https://docs.oracle.com/cd/B19306_01/license.102/b14199/editions.htm#DBLIC109 | title= Oracle Database Licensing Information, 10g Release 2 (10.2) | year= 2014 | website= Oracle | access-date= 2017-06-06 }} </ref> 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. <ref> {{cite journal | last1 = Lungu | first1 = Ion | last2 = Vătuiu | first2 = Teodora | editor1-last = Bolunduţ | editor1-first = Ioan-Lucian | title = Manageability comparison: Oracle Database 10g and Oracle9i Database | url = http://www.upet.ro/annals/pdf/Annals-2008-Part1.pdf | journal = Annals of the University of Petroşani, Economics | ___location = Petroşani, Romania | publisher = Universitas Publishing House | publication-date = 2008 | volume = 8 | issue = 1 | pages = 295–300 | issn = 1582-5949 | accessdate = 2014-03-06 | quote = [...] 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. | deadurl = yes | archiveurl = https://web.archive.org/web/20140306042519/http://www.upet.ro/annals/pdf/Annals-2008-Part1.pdf | archivedate = 6 March 2014 | df = dmy-all }} </ref> They performed their tests on a single Pentium CPU (1.7&nbsp;GHz) with 512&nbsp;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 === {{expand section|date=September 2016}} Various file-system structures hold [[logfile|logs]] and [[Tracing (software)|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.<ref> {{cite book | last1 = Wessler | first1 = Michael | orig-year = 2001 | title = Oracle DBA on Unix and Linux | url = https://books.google.com/books?id=Xkbl0Prv83cC | series = Kaleidoscope Series | ___location = Indianapolis | publisher = Sams Publishing | publication-date = 2002 | page = 74 | isbn = 9780672321580 | access-date = 2016-09-09 | quote = Background dump (bdump) files are generated when an Oracle process experiences unexpected problems. }} </ref> Also holds the "alert log".<ref> {{cite book | last1 = Alapati | first1 = Sam | author-link1 = | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = Expert's Voice | chapter = The Alert Log File | publisher = Apress | publication-date = 2006 | page = 111 | isbn = 9781430200666 | access-date = 2016-09-09 | quote = Every Oracle database has an alert log named alert''db_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. }} </ref> * core dump (cdump) destination * user dump (udump) destination ==Network access== [[Oracle Net Services]] allow client or remote applications to access Oracle databases via [[computer networking|network]] [[session (computer science)|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.<ref name="titleLocale Data"> {{cite web |url=http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#i634428 |title=Locale Languages |accessdate=2008-02-26 }}</ref> 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.<ref name="titleMessages Data">{{cite web |url=http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#i634673 | title=Error Message Languages |accessdate=2008-02-26 }}</ref> <!-- could not find list of documentation translations yet--> Oracle Corporation provides database developers with tools and mechanisms for producing internationalized database applications: referred to internally as "Globalization".<ref> {{cite web | url = http://download.oracle.com/docs/cd/B28359_01/server.111/b28298/ch1overview.htm#sthref8 | title = Overview of Globalization Support | accessdate = 2009-02-16 | last = Shea | first = Cathy | authorlink = |date= September 2007 | work = Oracle Database Globalization Support Guide 11g Release 1 (11.1) | publisher = [[Oracle Corporation]] | ___location = | pages = | doi = | dateformat = | quote = 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. |display-authors=etal}} </ref> ==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 [[Central Intelligence Agency|CIA]]-funded project Ellison had worked on while formerly employed by [[Ampex]].<ref>{{Cite web|url=https://www.theguardian.com/g2/story/0,3604,215072,00.html|title=Welcome to Larryland|publisher=Guardian|access-date=2009-12-19}}</ref> === Releases and versions === Oracle products follow a custom release-numbering and -naming convention. With the Oracle Database 10''g'' release, Oracle Corporation began using the "10''g''" label in all versions of its major products, although some sources refer to Oracle Applications Release 11''i'' as Oracle 11''i''.{{Clarify|date=August 2011}} 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 10''g'' called Oracle 10''f''. Instead, the letters "i", "g" and "c" stand for "internet", "grid" and "cloud" respectively.<ref name="theregister.co.uk">theregister.co.uk: [https://www.theregister.co.uk/2012/09/20/oracle_openworld_preview_q1_f2012_numbers/ Oracle gears up for infrastructure cloud and 12c database launches • The Register]</ref> Consequently, many simply drop the marketing "g" or "i" suffixes when referring to specific versions of an Oracle product. Major database-related products and some of their versions include: * [[Oracle Fusion Middleware]] 12''c'': a [[Middleware (distributed applications)|middleware]] product; * [[Oracle Fusion Applications]] : a [[cloud|cloud-based]] [[software suite|suite]] of [[business]] applications; * [[Oracle E-Business Suite]] Release 12''c'' : a [[software suite|suite]] of [[business]] applications; * [[JDeveloper|Oracle JDeveloper]] 12''c'': a [[Java (programming language)|Java]] [[integrated development environment]]; There was no v1, as Ellison, "knew no one would want to buy version 1".<ref> {{cite web | title= Larry Ellison Is A Billionaire Today Thanks To The CIA | author= Julie Bort | date= September 29, 2014 | url= http://www.businessinsider.com/the-cia-made-larry-ellison-a-billionaire-2014-9?international=true&r=US&IR=T }} </ref> Oracle's [[Relational database management system|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 * Oracle8''i'' Database Release 1: 8.1.5.0–8.1.5.1 * Oracle8''i'' Database Release 2: 8.1.6.0–8.1.6.3 * Oracle8''i'' Database Release 3: 8.1.7.0–8.1.7.4 * Oracle9''i'' Database Release 1: 9.0.1.0–9.0.1.5 ([[patch (computing)|patchset]] {{As of|2003|alt=as of December 2003}}) * Oracle9''i'' Database Release 2: 9.2.0.1–9.2.0.8 (patchset {{As of|2007|alt=as of April 2007}}) * Oracle Database 10''g'' Release 1: 10.1.0.2–10.1.0.5 (patchset {{As of|2006|alt=as of February 2006}}) * Oracle Database 10''g'' Release 2: 10.2.0.1–10.2.0.5 (patchset {{As of|2010|alt=as of April 2010}})<ref>http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html</ref> * Oracle Database 11''g'' Release 1: 11.1.0.6–11.1.0.7 (patchset {{As of|2008|alt=as of September 2008}}) * Oracle Database 11''g'' Release 2: 11.2.0.1–11.2.0.4 (patchset {{As of|2013|alt=as of August 2013}}) * Oracle Database 12''c'' Release 1: 12.1.0.1 (patchset {{As of|2013|alt=as of June 2013}}) * Oracle Database 12''c'' Release 1: 12.1.0.2 (patchset {{As of|2013|alt=as of July 2014}}) * Oracle Database 12''c'' Release 2: 12.2.0.1 (patchset {{As of|2017|march | lc = on}}<ref> Compare: {{cite web | url = https://technology.amis.nl/2016/09/28/oracle-database-12c-release-2-is-out-just-only-on-the-cloud/ | title = Oracle Database 12c Release 2 is out – just only on the cloud | last = Jellema | first = Lucas | date = 2016-09-28 | publisher = Amis Technology Blog | access-date = 2017-03-23 | quote = The initial availability of Oracle Database 12c Release 2 is through the Exadata Express Cloud Service – starting at $175 per month (for 20 GB data), the full Oracle Database with all database options, fully managed by Oracle. And as Larry Ellison presented in his keynote session at Oracle OpenWorld, 12.2.0.1 will be rolled out across the cloud in steps [...]. }} </ref>) 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 ''[http://docs.oracle.com/cd/B14117_01/server.101/b10739/dba.htm#sthref35 Oracle Database Administrator's Guide]'' offers further information on Oracle Database release numbers. === Patch updates and security alerts === Oracle Corporation releases Critical Patch Updates (CPUs) or Security Patch Updates (SPUs)<ref>{{cite book|url=https://books.google.com/books?id=bnx9_MkBimcC|title=Oracle Data Guard 11gR2 Administration Beginner's Guide|last1=Baransel|first1=Emre|publisher=Packt Publishing Ltd|isbn=9781849687911|publication-date=2013|quote=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.|accessdate=2014-01-15}} </ref> and Security Alerts to close security holes that could be used for data theft. [http://www.oracle.com/technetwork/topics/security/alerts-086861.html Critical Patch Updates (CPUs) and Security Alerts] come out quarterly on the Tuesday closest to 17th day of the month. * [http://www.oracle.com/technetwork/topics/security/securityemail-090378.html Customers may receive release notification by email]. * White Paper: [http://www.oracle.com/us/support/assurance/leveraging-cpu-wp-164638.pdf?ssSourceSiteId=otnen Critical Patch Update Implementation Best Practices] ==Oracle Database product family== Based on licensing and pricing, Oracle Corporation groups its Oracle Database-related product portfolio into the ''Oracle Database product family'', which consists of the following:<ref name="Gelhausen">{{cite web | url = http://www.oracle.com/technetwork/database/oracle-database-editions-wp-12c-1896124.pdf | title = Oracle Database 12''c'' Product Family | last = Gelhausen | first = Jenny | date = August 2015 | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> * Oracle Database editions: variations of the software designed for different scenarios. * Database options: extra cost offers providing additional database functionality. * Oracle data models: database schemas, offering pre-built [[data model]]s with database analytics and [[business intelligence]] capabilities for specific industries. * Management packs: integrated set of [[Oracle Enterprise Manager]] tools for maintaining various aspects of Oracle Database. * Some of Oracle [[computer appliance|engineered systems]], either specifically built for Oracle Database deployment or supporting such capability. * Other related products intended for use with Oracle Database. ===Database editions=== {{As of | 2016}} the latest Oracle Database version (12.1.0.2) comes in two editions:<ref name="Gelhausen"/> * Oracle Database 12''c'' '''Enterprise Edition''' (EE): Oracle Corporation's flagship database product. A fully featured edition of Oracle Database, it also allows purchase of add-on features in the form of Database Options and Management packs and imposes no limitation on server resources available to the database.<ref>[http://www.oracle.com/us/products/database/enterprise-edition/overview/index.html Oracle Database 12c Enterprise Edition]</ref> * Oracle Database 12''c'' '''Standard Edition 2''' (SE2): intended for [[Small and medium-sized enterprises|small- to medium-sized implementations]], this edition comes with Real Application Clusters option included, a reduced set of database features, and the licensing restriction to run on servers or clusters with a maximum of 2 sockets total and capped to use a maximum of 16 [[Simultaneous multithreading|concurrent user threads]].<ref name="BriefSE2">{{cite web | url = http://www.oracle.com/us/products/database/oracle-db-se2-brief-2680836.pdf | title = Brief: Oracle Database Standard Edition 2 | last = Oracle Corporation | first = | date = 2015 | website = Oracle Database 12c Standard Edition 2 | access-date = 17 February 2016 }}</ref> Oracle positions SE2 as a starter edition, stressing complete upward compatibility and ease of upgrade to the more costly Enterprise Edition.<ref name="Gelhausen"/><ref>[https://www.oracle.com/database/standard-edition-two/index.html Oracle Database 12c Standard Edition 2]</ref> Oracle Corporation also makes the following editions available:<ref name=LicMan>[https://docs.oracle.com/database/121/DBLIC/editions.htm Oracle Database Editions]</ref> * Oracle Database '''Express Edition''' 11''g''R2 (Oracle Database XE), a free-to-use entry-level version of Oracle Database 11''g''R2 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. Oracle Database XE is a separate product from the rest of Oracle Database product family. It provides a subset of Standard Edition 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.<ref>[http://www.oracle.com/technetwork/licenses/database-11g-express-license-459621.html Oracle Technology Network Developer License Terms for Oracle Database Express Edition]</ref> Express Edition was first introduced in 2005 with Oracle 10''g'' release with a limitation to a maximum of 4&nbsp;GB of user data.<ref>{{cite web |url = http://www.georeference.org/doc/oracle_express_edition.htm |title = Oracle Express Edition |accessdate = 2013-02-21 |quote = [...] this topic uses Oracle® 10g Express Edition. [...] User data cannot exceed 4 gigabytes in size (in addition to Oracle system data). }}</ref> Oracle 11''g'' Express Edition, released on 24 September 2011,<ref> {{cite book | last = Niemiec | first = Richard | title = Oracle Database 11g Release 2 Performance Tuning Tips & Techniques | url = https://books.google.com/books?id=9gZ2eze4190C | accessdate = 2013-02-20 | series = Osborne [[Oracle Press]] | year = 2012 | publisher = [[McGraw-Hill Professional]] | isbn = 9780071780261 | page = 47 | quote = [...] Oracle 11g Express Edition Released (September 24, 2011). }} </ref> increased user data cap to 11&nbsp;GB.<ref> {{cite news | title = Oracle releases beta for Express Edition of 11g database | first = Chris | last = Kanaracus | authorlink = | url = http://www.computerworld.com/s/article/9215470/Oracle_releases_beta_for_Express_Edition_of_11g_database | newspaper = Computerworld | publisher = Computerworld Inc. | date = 2011-04-04 | accessdate = 2013-02-21 | quote = [...] no more than 11&nbsp;GB of user data can be placed in an XE database, and it can use no more than 1&nbsp;GB of RAM [...] }} </ref> * Oracle Database '''Personal Edition''', a single-user, single-machine development and deployment license, allows use of all database features and extra-cost database options (with the exception of the Oracle RAC option). It is available for purchase for Windows and Linux platforms only and does not include management packs.<ref name=LicMan/> Up to and including Oracle Database 12.1.0.1, Oracle also offered the following:<ref name="Hardie">{{cite web | url = http://www.oracle.com/technetwork/community/database-11g-product-family-technic-133664.pdf | title = Oracle Database 11g Product Family | last = Hardie | first = Willie | date = November 2009 | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> * Standard Edition (SE) ran on single or clustered servers with a maximum capacity of 4 CPU sockets. It was largely the same as the current SE2 offer, including Real Application Clusters option at no additional cost, however allowing twice as much CPU sockets in a server or a cluster. * Standard Edition One (SE1), introduced with Oracle 10''g'', offered the same features as SE and was licensed to run on single servers with a maximum of two 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. ===Database options=== Oracle Corporation refers to a number of add-on database features as "database options".<ref name="Gelhausen"/> These aim to enhance and complement existing database functionality to meet customer-specific requirements.<ref name="OTNOptions">{{cite web | url = http://www.oracle.com/technetwork/database/options/index.html | title = Database Options Overview | last = Oracle Corporation | website = Oracle Technology Network | access-date = 17 February 2016 }}</ref> All Database Options are only available for Enterprise Edition and offered for an extra cost.<ref name="Gelhausen"/><ref name="TechPrice">{{cite web | url = http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf | title = Oracle Technology Global Price List | last = Oracle Corporation | website = www.oracle.com | access-date = 17 February 2016 }}</ref> An exception to these two rules is Oracle Real Application Clusters option, which comes included with Oracle Database 12''c'' Standard Edition 2 at no additional cost.<ref name=LicMan/> * [http://www.oracle.com/us/products/database/options/active-data-guard/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/advanced-analytics/overview/index.html Oracle Advanced Analytics] allows access to in-database [[Oracle Data Mining|data mining]] algorithms and use of Oracle R Enterprise functionality, an integration with open-source [[R (programming language)|R statistical programming language and environment]]. * [http://www.oracle.com/us/products/database/options/advanced-compression/overview/index.html 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]]. * [http://www.oracle.com/us/products/database/options/advanced-security/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/database-in-memory/overview/index.html Oracle Database In-Memory], an in-memory, [[Column-oriented DBMS|column-oriented]] data store, has been seamlessly integrated{{citation needed|date=July 2016}} 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. Note: data is persisted on disk only in a row format, so no additional storage is required. The product's performance comes through the in-memory columnar format and through the use of [[Vector processor|SIMD vector processing]] (Single Instruction processing Multiple Data values). Database In-Memory features include: ** An In-Memory column store, a new{{when|date=July 2016}} component of the SGA called the In-Memory Area. One can allocate a little or a lot of memory to the In-Memory Area. The larger the In-Memory Area, the greater the number of objects that can be brought into memory in the In-Memory columnar format. Unlike in a pure [[in-memory database]] not all of the data in the Oracle Database requires populating into memory in the columnar format. ** Only objects with the INMEMORY attribute get populated into the In-Memory column store. The INMEMORY attribute can be specified on a tablespace, table, (sub)partition, or materialized view. If it is enabled at the tablespace level, then all tables and materialized views in the tablespace are enabled for In-Memory by default. ** Data is populated into a new In-Memory column store by a set of background processes referred to as worker processes (ora_w001_orcl). Each worker process receives a subset of database blocks from the object to populate into the In-Memory column store. Population is a streaming mechanism, simultaneously columnizing and compressing the data. ** Oracle takes advantage of [[Vector processor|SIMD]] vector processing to scan the data in the columnar format. Instead of evaluating each entry in the column one at a time, SIMD vector processing lets a set of column values be evaluated together in a single CPU instruction. The column format used in the IM column store has been specifically designed{{by whom|date=July 2016}} to maximize the number of column entries that can be loaded into the vector registers on the CPU and evaluated in a single CPU instruction. ** [[Fault tolerance]] for In-Memory Column Store runs on Oracle Engineered Systems ([[Oracle Exadata]], [[Oracle Database Appliance]] and Oracle Supercluster), mirroring the data in memory across RAC nodes. If one RAC node fails, the database simply reads from the other side of the mirror. ** In-Memory Aggregation improves performance of typical analytic queries using efficient in-memory arrays for joins and aggregation.<ref name="IMAggr"> {{cite web | url = http://docs.oracle.com/database/121/TGSQL/tgsql_transform.htm#TGSQL95256 | title = In-Memory Aggregation | last = Oracle Corporation | website = Oracle Help Center | access-date = 17 February 2016 }} </ref>{{qn|date=July 2016}} * [http://www.oracle.com/us/products/database/options/database-vault/overview/index.html 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. * [http://www.oracle.com/us/products/database/label-security-066519.html Oracle Label Security] is a sophisticated and flexible framework for a fine-grained label based [[access control]] (LBAC) implementation. * [http://www.oracle.com/us/products/database/options/multitenant/overview/index.html 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. * [http://www.oracle.com/us/products/database/options/olap/overview/index.html Oracle On-Line Analytical Processing (OLAP)] is [[Oracle OLAP|Oracle implementation]] of [[online analytical processing]]. * [http://www.oracle.com/us/products/database/options/partitioning/overview/index.html Oracle Partitioning] allows [[partition (database)|partitioning]] of tables and indices, where large objects are stored in database as a collection of individual smaller pieces at the same time appearing on application level as a uniform data object. * [http://www.oracle.com/us/products/database/options/rac-one-node/overview/index.html Oracle RAC One Node] is a one-node version of Oracle Real Application Clusters, providing capabilities for database [[failover]] and [[high availability]] in the form of rolling upgrades, online instance migration, application continuity and automated [[quality of service]] management. * [[Oracle RAC|Oracle Real Application Clusters]] (RAC) is the [[computer cluster]] version of Oracle Database. * [[Oracle Real Application Testing]] enable testing of system changes in a simulation of production-level workload and use. * [[Oracle Spatial and Graph]]<ref> {{cite web | url = https://www.oracle.com/database/spatial/index.html | title = Oracle Spatial and Graph | publisher = Oracle | access-date = 2016-07-06 | quote = 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. }} </ref> complements the Oracle Locator feature (available in all editions of Oracle Database<ref> {{cite book | last1 = Kothuri | first1 = Ravikanth | last2 = Godfrind | first2 = Albert | last3 = Beinat | first3 = Euro | chapter = 8: Spatial indexes and operators | title = Pro Oracle Spatial for Oracle Database 11g | url = https://books.google.com/books?id=RA1gBwAAQBAJ | series = Expert's voice in Oracle | publisher = Apress | page = 244 | publication-date = 2012 | isbn = 9781430242888 | access-date = 2016-07-06 | quote = A majority of the functionality of spatial indexes and spatial operators is part of Oracle Locator (included in all editions of the Oracle Database). }} </ref>) with advanced spatial capabilities enabling the development of complex [[geographic information system]]s and includes [[network model|network data model]] and [[Resource Description Framework|RDF]]/[[Web Ontology Language|OWL]] Semantic graphs. * [http://www.oracle.com/us/products/database/options/timesten-cache/overview/index.html 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. ==Supported platforms== Oracle Database 12''c'' is supported on the following OS and architecture combinations: * [[Linux]] on [[x86-64]] (only [[Red Hat Enterprise Linux]], [[Oracle Linux]] and [[SUSE]] distributions are supported<ref>[https://docs.oracle.com/database/121/LTDQI/toc.htm#BABGGEBA Operating System Requirements for x86-64 Linux Platforms]</ref>) * [[Microsoft Windows]] on x86-64 * [[Solaris (operating system)|Oracle Solaris]] on [[SPARC]] and x86-64 * [[IBM AIX]] on [[IBM Power Systems|POWER Systems]] * IBM [[Linux on z Systems]] * [[HP-UX]] on [[Itanium]] 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.<ref> {{cite web |url = http://www.oracle.com/us/products/servers-storage/storage/nas/hybrid-columnar-compression-ds-1405370.pdf |title = Hybrid Columnar Compression And Oracle Storage |last1 = Martin |first1 = Christopher |year = 2011 |publisher = Oracle Corporation |page = 1 |format = PDF |accessdate = 2013-02-07 |quote = 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. |deadurl = yes |archiveurl = https://web.archive.org/web/20130120052930/http://www.oracle.com/us/products/servers-storage/storage/nas/hybrid-columnar-compression-ds-1405370.pdf |archivedate = 20 January 2013 |df = dmy-all }} </ref> ==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 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 [http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/editions.htm#CJACGHEB Oracle's list].{{Original research inline|date=December 2009}} Such "features" may include (for example): * Active Session History (ASH), the collection of data for immediate monitoring of very recent database activity.<ref>{{cite book | last= Alapati | first= Sam R. | authorlink = | title= Expert Oracle database 10g administration | url= https://books.google.com/books?id=xxx0KAwY_ZMC&pg=PA845&lpg=PA845&dq=ASH++Active+Session+History | accessdate= 2009-05-25 | edition = | series = | volume = | origyear = | year= 2005 | publisher= Apress | ___location = | language = | isbn= 978-1-59059-451-3 | oclc = | doi = | bibcode = | id = | page= 845 | nopp = | chapter = | chapterurl = | quote= ... ASH records very recent session activity (within the last five or ten minutes). | ref = | laysummary = | laydate = | separator = | postscript = | lastauthoramp= }}</ref> * Automatic Workload Repository (AWR),<ref>{{cite web|title= Week 6: Automatic Workload Repository|url= http://www.oracle.com/technology/pub/articles/10gdba/week6_10gdba.html |accessdate= 12 July 2007 |deadurl= yes |archiveurl= https://web.archive.org/web/20070809122949/http://www.oracle.com/technology/pub/articles/10gdba/week6_10gdba.html |archivedate= 9 August 2007 }}</ref><ref> {{cite book | last1 = Alapati | first1 = Sam | chapter = 4: Introduction to the Oracle Database 10g Architecture | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = Expert's Voice | publisher = Apress | publication-date = 2006 | page = 142 | isbn = 9781430200666 | accessdate = 2016-02-24 | quote = Automatic Workload Repository (AWR) [-] The AWR plays the role of the 'data warehouse of the database,' and it is the basis for most of Oracle's self-management functionality. The AWR collects and maintains performance statistics for problem-detection and self-tuning purposes. By default, every 60 minutes the database collects statistical information from the SGA and stores it in the AWR, in the form of snapshots. }} </ref> providing monitoring and statistical services to Oracle database installations from Oracle version 10. Prior to the release of Oracle version 10, the Statspack facility<ref> {{cite journal | author = Sai Peck lee | author2=Džemal Zildžić | year = 2006 | title = Oracle Database Workload Performance Measurement and Tuning Toolkit | journal = Issues in Informing Science and Information Technology | volume = 3 | pages = 371–381 | url = http://google.com/scholar?q=cache:uPdNes3VcSAJ:scholar.google.com/ | accessdate = 2010-02-05 | quote = Statspack utility consists of a set of Programming Language/Structured Query Language (PL/SQL) scripts, executed against the database to gather, store data and metrics, and generate reports database activity reports }} {{dead link|date=February 2016}}</ref> provided similar functionality. AWR requires an Oracle Database Pack license.<ref> {{cite web |url= http://www.informationweek.com/software/enterprise-applications/oracle-support-costs-2-savings-strategies/d/d-id/1204331 |title= Oracle Support Costs: 2 Savings Strategies |last= Henschen |first= Doug |author-link= |date= 2014-04-10 |department= Software |website= InformationWeek |publisher= UBM |access-date= 2017-07-20 |quote= It's common for Oracle database administrators to run Automatic Workload Repository (AWR) reports to diagnose database problems, for example, but that tool requires that you have a license for the Oracle Database Pack. }} </ref> * Clusterware * [https://web.archive.org/web/20061016105250/http://www.oracle.com/solutions/business_intelligence/warehouse-builder.html Data Aggregation and Consolidation] * [https://web.archive.org/web/20060921173803/http://www.oracle.com/technology/deploy/availability/htdocs/dataguardoverview.html Data Guard] for [[high availability]] * [https://web.archive.org/web/20080724064649/http://www.oracle.com/technology/products/oracle9i/datasheets/gateways/gateway_rel2_ds.html Generic Connectivity] for connecting to non-Oracle systems. * Data Pump utilities, which aid in importing and exporting data and metadata between databases<ref>{{cite web|url=http://download.oracle.com/docs/cd/B28359_01/server.111/b28319/dp_overview.htm#SUTIL100 |title=Overview of Oracle Data Pump |publisher=Download.oracle.com |accessdate=2009-12-19}}</ref> * SQL*Loader, utility that facilitates high performance data loading. * Database Resource Manager (DRM), which controls the use of computing resources.<ref>{{cite book | last= Greenwald | first= Rick | authorlink = |author2=Robert Stackowiak |author3=Jonathan Stern | others = | title=Oracle Essentials: Oracle Database 11g | origyear = | month = | url = | accessdate = | edition = | series = | volume = |date= November 2007 | publisher= O'Reilly | ___location = | language = | isbn= 978-0-596-51454-9 | oclc = | doi = | id = | page= 184 | chapter = | chapterurl = | quote= The Database Resource Manager (DRM) was first introduced in Oracle 8''i'' [...] to place limits on the amount of computer resources that can be used [...] | ref= }}</ref> * Expression filtering<ref> {{cite book | last1 = Floss | first1 = Kimberly | title = Oracle SQL Tuning & CBO Internals | url = https://books.google.com/books?id=xJ0fLjQFUFcC | series = Oracle In-Focus Series | volume = 16 | ___location = Kittrell, North Carolina | publisher = Rampant TechPress | publication-date = 2004 | page = 234 | isbn = 9780974599335 | access-date = 2017-08-02 | quote = 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. }} </ref> * Fast-start parallel rollback<ref> {{cite book | first1 = Mike | last1 = Ault | author1-link = Mike Ault | first2 = Daniel | last2 = Liu | first3 = Madhu | last3 = Tumma | editor = Don Burleson | title = Oracle Database 10g New Features: Oracle 10g Reference for Advanced Tuning & Administration | url = https://books.google.com/books?id=ufz5-hXw2_UC | accessdate = 2011-11-16 | series = Oracle In-Focus series | year = 2003 | publisher = Rampant TechPress | isbn = 978-0-9740716-0-2 | pages = 51? or 544? | quote = 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 [...] }} </ref> * Fine-grained auditing (FGA) (in Oracle Enterprise Edition)<ref> {{cite web | url= http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#CJACGHEB | title= Feature Availability by Edition | accessdate= 2008-08-19 | authorlink = |date= May 2008 | work= Oracle Database Licensing Information 11g Release 1 (11.1) Part Number B28287-08 | publisher= Oracle Corporation | quote= }} </ref> supplements standard security-auditing features<ref> {{cite web |url = http://www.oracle.com/technology/pub/articles/10gdba/week10_10gdba.html |title= Auditing Tells All |accessdate=2008-08-19 |last= Nanda |first= Arup |authorlink= |work= Oracle Database 10g: The Top 20 Features for DBAs |publisher= Oracle Corporation |quote= ...the standard audit (available in all versions) and the fine-grained audit (available in Oracle 9''i'' and up ... |deadurl= yes |archiveurl= https://web.archive.org/web/20080515203821/http://www.oracle.com/technology/pub/articles/10gdba/week10_10gdba.html |archivedate= 15 May 2008 }} </ref> * [[Oracle Flashback|Flashback]] for selective data recovery and reconstruction<ref>[http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm Oracle.com] {{webarchive|url= https://web.archive.org/web/20061104004637/http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm |date= 4 November 2006 }} </ref> * Heterogeneous Services (HS), providing connectivity to non-Oracle systems and code.<ref> {{cite book | last1 = Laszewski | first1 = Tom | last2 = Williamson | first2 = Jason | chapter = 2: Oracle Tools and Products | title = Oracle Information Integration, Migration, and Consolidation | url = https://books.google.com/books?id=bEnTAOj34zIC | ___location = Birmingham | publisher = Packt Publishing Ltd | publication-date = 2011 | isbn = 9781849682213 | access-date = 2017-06-09 | quote = 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. }} </ref> * [http://www.oracle.com/technology/tech/sql_plus/index.html iSQL*Plus], a web-browser-based [[graphical user interface]] (GUI) for [[Data Manipulation Language|manipulating data]] in an Oracle database (compare [[SQL*Plus]]) * Oracle Data Access Components (ODAC), tools that consist of:<ref> {{cite web | title = Oracle Product Accessibility Status: Database Server Enterprise Edition | url = http://www.orangetechnomind.com/osb-training-in-chennai | work = | publisher = Oracle Corporation | ___location = | page = | pages = | doi = | date = 2 June 2008 | accessdate = 2009-04-14 }}</ref> ** Oracle Data Provider for .NET (ODP.NET)<ref>{{cite web|title= Oracle Data Provider for .NET |url= http://www.oracle.com/technology/tech/windows/odpnet/index.html |work= |publisher= Oracle Corporation |___location= |doi= |accessdate= 2009-05-07 |quote= The Oracle Data Provider for .NET (ODP.NET) features optimized [[ADO.NET]] data access to the Oracle database. |deadurl= yes |archiveurl= https://web.archive.org/web/20080513152622/http://www.oracle.com/technology/tech/windows/odpnet/index.html |archivedate= 13 May 2008 }}</ref> ** 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 * [http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/omf.htm#i1007206 Oracle-managed files] (OMF) – a feature allowing automated naming, creation and deletion of datafiles at the operating-system level. * [https://web.archive.org/web/20051208092120/http://www.oracle.com/technology/deploy/availability/htdocs/rman_overview.htm Recovery Manager] ([[RMAN]]) for [[database dump|database backup]], restoration and [[data recovery|recovery]] * [[SQL*Plus]], a program that allows users to interact with Oracle database(s) via [[SQL]] and [[PL/SQL]] commands on a [[command line interface|command-line]]. Compare [[SQL*Plus|iSQL*Plus]]. * SQLcl, a command-line interface for queries, developed on the basis of [[Oracle SQL Developer]]<ref> {{cite web | url = http://www.oracle.com/technetwork/issue-archive/2015/15-sep/o55sql-dev-2692807.html | title = The Modern Command Line | last1 = Smith | first1 = Jeff | author-link1 = | date = September 2015 | department = Oracle Magazine | website = Oraxcle Technology Network | publisher = Oracle Corporation | access-date = 2016-01-05 | quote = 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. }} </ref> * Universal Connection Pool (UCP), a [[connection pool]] based on Java and supporting [[JDBC]], LDAP, and [[Java EE Connector Architecture|JCA]]<ref> {{cite book | first1 = Rick | last1 = Greenwald | first2 = Robert | last2 = Stackowiak | first3 = Maqsood | last3 = Alam | first4 = Mans | last4 = Bhuller | title = Achieving Extreme Performance with Oracle Exadata | url = https://books.google.com/books?id=HFJzNfWonPQC | accessdate = 2011-10-12 | series = Osborne ORACLE Press Series | year = 2011 | publisher = McGraw-Hill Prof Med/Tech | isbn = 978-0-07-175259-6 | pages = 328? or 432? | quote = 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. }} </ref> * [[Virtual private database|Virtual Private Database]]<ref> "Virtual Private Database" appears listed as a feature available as part of Oracle Enterprise Edition in: {{cite web | url = http://download.oracle.com/docs/cd/E11882_01/license.112/e10594/editions.htm | title = Feature Availability by Edition | author = Manmeet Ahluwalia | date = October 2009 | work = Oracle Database Licensing Information 11g Release 2 (11.2) | publisher = Oracle Corporation | accessdate = 2010-02-09 | display-authors = etal | deadurl = yes | archiveurl = https://web.archive.org/web/20100412152525/http://download.oracle.com/docs/cd/E11882_01/license.112/e10594/editions.htm | archivedate = 12 April 2010 | df = dmy-all }} </ref> (VPD), an implementation of fine-grained access control.<ref> {{Cite book | last = Kate | first = Aniket | last2 = Menezes | first2 = Bernard | last3 = Singh | first3 = Ashish | date = December 2005 | chapter = Security/Privacy Issues in Providing Database as a Service | title = Proceedings of 3rd International Conference on E-Governance, ICEG 2005 | pages = 156–159 | publication-place = Lahore | publisher = Lahore University of Management Sciences | url = http://www.iceg.net/2006/download/E-Governance.pdf | accessdate = 2010-02-09 | quote = 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 polices 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. | postscript = <!--None--> }} </ref> * [[Oracle Application Express]], a no-cost environment for database-oriented software-development<ref> {{cite web |url = http://apex.oracle.com/i/index.html |title = Oracle Application Express 4.1 |work = apex.oracle.com |publisher = Oracle Corporation |accessdate = 2012-01-09 |quote = Oracle Application Express is a no-cost option of the Oracle database. }} </ref> * [http://www.oracle.com/us/products/middleware/data-integration/goldengate/index.html Oracle GoldenGate 11''g''] (distributed real-time data acquisition) * [[Oracle Text]] uses standard SQL to index, search, and analyze text and documents stored in the Oracle database. * Orace JSON Store - Oracle Database supports JavaScript Object Notation (JSON) data natively with relational database features, including transactions, indexing, declarative querying, and views.<ref> {{Cite web | url = https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246 | title = XML DB Developer's Guide|website=docs.oracle.com | language = en-US|access-date=2017-07-13 }} </ref> * Workspace Manager version-enables tables<ref> {{cite book | last1 = Alapati | first1 = Sam | chapter = 6: Oracle Transaction Management | title = Expert Oracle Database 10g Administration | url = https://books.google.com/books?id=xxx0KAwY_ZMC | series = ITPro collection | publisher = Apress | publication-date = 2006 | page = 273 | isbn = 9781430200666 | access-date = 2017-08-23 | quote = [...] Oracle provides the Workspace Manager, a feature you can use to version-enable tables, so different users can maintain different versions of the data. }} </ref> using the WMSYS schema.<ref> {{cite book | last1 = Shaul | first1 = Josh | last2 = Ingram | first2 = Aaron | chapter = 4: Managing Default Accounts | title = Practical Oracle Security: Your Unauthorized Guide to Relational Database Security | url = https://books.google.com/books?id=KPohQPM8CEYC | ___location = Rockland, Massachusetts | publisher = Syngress | publication-date = 2011 | page = 99 | isbn = 9780080555669 | access-date = 2017-08-23 | quote = 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. }} </ref> {{Expand list|date=August 2008}} === 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<ref> {{cite web | url=https://docs.oracle.com/database/122/ADJSN/toc.htm | title = Database JSON Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation | access-date = 2017-03-01 }} </ref>, a no-cost component in each edition of the database, provides native support for JSON documents. * [[Oracle Spatial and Graph]] – extra-cost software for managing spatial and ___location data ** Oracle Locator – a freely-available subset of Oracle Spatial and Graph * Oracle XML DB,<ref> {{cite web | url = http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html | title = Oracle XML DB | website = Oracle Technology Network | publisher = Oracle Corporation | access-date = 2016-02-11 | quote = 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. }} </ref> or XDB,<ref> {{cite book | last1 = Mensah | first1 = Kuassi | title = Oracle Database Programming using Java and Web Services | url = https://books.google.com/books?id=T0GvgQYG070C | publisher = Digital Press | publication-date = 2011 | page = 518 | isbn = 9780080525112 | accessdate = 2016-02-11 | quote = The Oracle XML Database (also known as XDB) furnishes a native XMLType data type for managing XML documents directly in the database. }} </ref>, a no-cost component in each edition of the database, provides high-performance technology for storing and retrieving native [[XML]]. * Oracle Text<ref> {{cite web | url = https://docs.oracle.com/database/122/CCAPP/toc.htm | title = Text Application Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation }} </ref>, 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 ''inter''Media" before Oracle 11g) for storing and integrating multimedia data within a database<ref> {{cite web |url = http://www.oracle.com/technetwork/database/database-technologies/multimedia/overview/index.html |title = Oracle Multimedia |website = www.oracle.com |publisher = Oracle Technology Network |accessdate = 2013-12-12 |quote = Oracle Multimedia is a feature that enables Oracle Database to store, manage, and retrieve multimedia data in an integrated manner with other enterprise information. }} </ref> * [[Object-relational database]]<ref> {{cite web | url = https://docs.oracle.com/database/122/ADOBJ/toc.htm | title = Database Object-Relational Developer's Guide | website = Oracle Database Documentation | publisher = Oracle Corporation }} </ref> 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.<ref> {{cite web | url = | title = Oracle Database Concepts, 10g Release 2 (10.2) | last1 = Cyran | first1 = Michele | author-link1 = | date = October 2005 | website = Oracle Help Center | series = Oracle Database Online Documentation, 10g Release 2 (10.2) | publisher = Oracle Corporation | access-date = 2015-11-06 | quote = Oracle Utilities [...] This chapter describes Oracle database utilities for data transfer, data maintenance, and database administration. }} </ref> Utilities included in Oracle database distributions include: * oradebug – interfaces with Oracle session [[tracing (software)|tracing]]<ref> For example: {{cite book | last1 = Allen | first1 = Grant | last2 = Bryla | first2 = Bob | last3 = Kuhn | first3 = Darl | last4 = Allen | first4 = Chris | title = Oracle SQL Recipes: A Problem-Solution Approach | url = https://books.google.com/books?id=k2cONi-RlPYC | publisher = Apress | publication-date = 2009 | series = Expert's voice in Oracle | page = 482 | isbn = 9781430225102 | accessdate = 2015-11-29 | quote = The oradebug utility can be used to enable and disable tracing for a session. }} </ref> ===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.<ref>{{cite book|url=https://books.google.com/books?id=75KT6GdcWbYC|title=Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives|last=Evdoridis|first=Theodoros|last2=Tzouramanis|first2=Theodoros|publisher=IGI Global|year=2007|isbn=9781591408925|editor-last=St. Amant|editor-first=Kirk|series=IGI Global research collection|pages=294–308|chapter=A Generalized Comparison of Open Source and Commercial Database management Systems|quote=Oracle Corporation has started a drive toward wizard-driven environments with a view to enabling non-programmers to produce simple data-driven applications.|accessdate=2013-02-20|editor2-last=Still|editor2-first=Brian}} </ref> 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,<ref>{{cite web|url=https://docs.oracle.com/cd/E37099_01/doc.20/e25066/install.htm#AELIG7017|title=Oracle REST Data Services Installation and Configuration Guide, Release 2.0|last1=Murray|first1=Chuck|year=2016|publisher=Oracle|access-date=2016-08-01|quote=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.}} </ref> providing a REST-based interface to relational data.<ref>Compare: {{cite book|url=https://books.google.com/books?id=q6pPCwAAQBAJ|title=Next Generation Databases|last1=Harrison|first1=Guy|publisher=Apress|isbn=9781484213292|publication-date=2015|page=201|quote=[...] Oracle REST Data Services (ORDS) [...] provides a [[Representational state transfer|REST]]-based interface to data in relational tables.|access-date=2016-08-01}} </ref> Users can also develop their own [[application software|applications]] in [[Java (programming language)|Java]] and in [[PL/SQL]], optionally using tools such as: * [[Oracle Forms]] * [[Oracle JDeveloper]] * [[Oracle Reports]] The Database Upgrade Assistant (DBUA)<ref>{{cite book | last1 = Shaw | first1 = John | last2 = Dyke | first2 = Julian | title = Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance | url = https://books.google.com/books?id=1iidwz4m2uwC | series = Expert's Voice in Oracle | publisher = Apress | publication-date = 2006 | page = 54 | isbn = 9781430202141 | accessdate = 2012-01-22 | quote = 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. }} </ref> provides a GUI for the upgrading of an Oracle database.<ref>{{cite book | last1 = Freeman | first1 = Robert | title = Oracle Database 10g New Features | url = https://books.google.com/books?id=Ev1MKZo8Wq0C | series = Osborne ORACLE Press Series | publisher = McGraw Hill Professional | publication-date = 2004 | page = 4 | isbn = 9780072229479 | accessdate = 2014-01-22 | quote = The DBUA is a GUI that is designed for upgrading your Oracle database [...] }} </ref> JAccelerator (NCOMP) – a native-compilation Java "accelerator", integrates hardware-optimized [[Java (programming language)|Java code]] into an Oracle 10g database.<ref> {{cite book | last = Iyer | first = Venkatasubramaniam | others = et al. | title = Oracle Database Java Developer's Guide: 10g Release 2 (10.2) | url = http://docs.oracle.com/cd/B19306_01/java.102/b14187/chten.htm | accessdate = 2013-07-29 | date = August 2006 | publisher = Oracle USA, Inc | ___location = [[Redwood City]] | chapter = 9 Oracle Database Java Application Performance | quote = Native compilation provides a speed increase ranging from two to ten times the speed of the bytecode interpretation. }} </ref> Oracle's OPatch provides [[Patch (computing)|patch]] management for Oracle databases.<ref>{{cite book | first1 = Darl | last1 = Kuhn | first2 = Charles | last2 = Kim | first3 = Bernard | last3 = Lopuz | title = Linux Recipes for Oracle DBAs | url = https://books.google.com/books?id=oqmW4BwSteoC | accessdate = 2011-12-05 | series = Apress Series | year = 2008 | publisher = Apress | isbn = 978-1-4302-1575-2 | pages = 275? or 501? | quote = 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. }} </ref> The SQLTXPLAIN tool (or SQLT) offers tuning assistance for Oracle [[SQL]] queries.<ref> {{cite book | last1 = Charalambides | first1 = Stelios | title = Oracle SQL Tuning with Oracle SQLTXPLAIN | url = https://books.google.com/books?id=1t_xdN6qivEC | accessdate = 2013-06-17 | year = 2013 | publisher = Apress | isbn = 9781430248101 | page = 1 | quote = [...] fast Oracle SQL tuning with SQLTXPLAIN, or SQLT as it is typically called [...] }} </ref> ==== Testing ==== * '''Oracle Live SQL''' makes available a test environment for Oracle Database users.<ref> {{cite web | url = https://livesql.oracle.com/apex/livesql/file/index.html | title = Live SQL | year = 2016 | website = Oracle live SQL | publisher = Oracle Corporation | access-date = 2016-08-01 | quote = 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. }} </ref> ==== Programming Language APIs ==== Oracle Database can be accessed from many programming languages and environments. These include: * [[Java (programming language)|Java]] via [[Java Database Connectivity|JDBC]], [https://docs.oracle.com/database/122/JSQLJ/title.htm SQLJ] * [[.NET Framework|Microsoft .NET]] via [http://www.oracle.com/technetwork/topics/dotnet/index-085163.html ODP.NET] * [[C (programming language)|C]] and [[C++]] via [http://www.oracle.com/technetwork/database/features/oci/index-090945.html OCI], [http://www.oracle.com/technetwork/database/features/oci/index-090945.html OCCI], [http://www.oracle.com/technetwork/database/windows/index-098976.html Oracle's ODBC Driver], [https://oracle.github.io/odpi/ ODPI-C], [http://vrogier.github.io/ocilib/ OCILIB], [https://docs.oracle.com/database/122/LNPCC/toc.htm Pro*C/C++] * [[Node.js]] via [https://www.npmjs.com/package/oracledb node-oracledb] * [[Python (programming language)|Python]] via [https://oracle.github.io/python-cx_Oracle/index.html cx_Oracle] * [[PHP]] via PHP OCI8, PDO_OCI * [[Go (programming language)|Go]] via [https://github.com/go-goracle/goracle goracle], [https://github.com/rana/ora ora], [https://github.com/mattn/go-oci8 go-oci8] * [[R (programming language)|R]] via [https://cran.r-project.org/web/packages/ROracle/index.html ROracle] * [[Ruby (programming language)|Ruby]] via [https://rubygems.org/gems/ruby-oci8/ ruby-oci8], [https://github.com/kubo/ruby-odpi ruby-odpi] * [[Ruby on Rails]] via the [https://rubygems.org/gems/activerecord-oracle_enhanced-adapter/ Oracle "enhanced" ActiveRecord adapter] * [[Perl]] via [http://search.cpan.org/~mjevans/DBD-Oracle/lib/DBD/Oracle.pm DBD::Oracle] * [[Erlang (programming language)|Erlang]] via [https://github.com/K2InformaticsGmbH/erloci erloci] * [[Rust (programming language)|Rust]] via [https://github.com/kubo/rust-oracle rust-oracle], [https://github.com/rustyhorde/mimir mimir] * [[COBOL]] via [https://docs.oracle.com/database/121/LNPCB/title.htm Pro*COBOL] * [[Fortran|FORTRAN]] via [https://docs.oracle.com/database/122/ZZFOR/writing-Pro-FORTRAN-program.htm#ZZFOR107 Pro*FORTRAN] 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 library|shared libraries]].<ref> {{cite book | last1 = Gupta | first1 = Saurabh | title = Oracle Advanced PL/SQL Developer Professional Guide | url = https://books.google.com/books?id=Zv2m8Bf_HRQC | publisher = Packt Publishing Ltd | publication-date = 2012 | page = 123 | isbn = 9781849687225 | accessdate = 2015-09-04 | quote = 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. }} </ref><ref> {{cite book | last1 = Litchfield | first1 = David | author-link1 = David Litchfield | last2 = Anley | first2 = Chris | last3 = Heasman | first3 = John | last4 = Grindlay | first4 = Bill | chapter = The Oracle Architecture | title = The Database Hacker's Handbook: Defending Database | url = https://books.google.com/books?id=CgQ8PLzCgcQC | ___location = New Delhi | publisher = John Wiley & Sons | publication-date = 2005 | page = 36 | isbn = 9788126506156 | access-date = 2016-02-28 | quote = 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. }} </ref> 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|date=August 2008}} Oracle Corporation has packaged {{As of|2006|alt=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|date=February 2007}} ===Database support options=== Users who have Oracle support contracts can use Oracle's "My Oracle Support" or "MOS"<ref> {{cite book | last1 = Kuhn | first1 = Darl | last2 = Alapati | first2 = Sam | last3 = Nanda | first3 = Arup | title = RMAN Recipes for Oracle Database 12c: A Problem-Solution Approach | url = https://books.google.com/books?id=QUEkAAAAQBAJ | series = Expert's voice in Oracle | publisher = Apress | publication-date = 2013 | page = 534 | isbn = 9781430248361 | accessdate = 2014-07-07 | quote = Search Oracle's My Oracle Support (MOS) web site at http://support.oracle.com. }} </ref> 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''<ref>{{cite web |url=http://www.oracle.com/global/tr/support/051006_ADVANCEDMETALINK_CUSTOMER.pdf |title=Advanced MetaLink |format=PDF |accessdate=2009-12-19 |deadurl=yes |archiveurl=https://www.webcitation.org/5qKWHuy8Z?url=http://www.oracle.com/global/tr/support/051006_ADVANCEDMETALINK_CUSTOMER.pdf |archivedate=8 June 2010 |df=dmy-all }}</ref> 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)<ref>{{cite web | first = Stephen | last = Rea | authorlink = | title = Upgrading Oracle 9.2.0.6 to 10.2.0.3 on AIX 5.2 | url = http://www.uaex.edu/srea/10gR2_upgrade.txt | work = | publisher = University of Arkansas | ___location = | doi = | date = 16 September 2008 | accessdate = 2009-08-11 | quote = 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 10''g'' R2 (10.2.0) PreInstall (AIX) is described in: [https://metalink.oracle.com/metalink/plsql/docs/HCVE_A201DB10R2_aix.htm Oracle.com] }} </ref> 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)<ref>{{cite web|url=http://search.techrepublic.com.com/search/Oracle+Maximum+Availability+Architecture.html |title=oracle maximum availability architecture News and Other Resources &#124; TechRepublic |publisher=Search.techrepublic.com.com |accessdate=2012-07-26}}</ref> guidelines on developing high-availability systems * [[Optimal Flexible Architecture]] (OFA), blueprints for mapping Oracle-database objects to file-systems ===Oracle Certification Program=== {{Main article|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 Group]]s has grown up of users and developers of Oracle databases. They include: * Geographical/regional user groups<ref>{{cite web|url=http://www.morganslibrary.org/usergrps.html |title=Oracle Users Group Groups |publisher=Morganslibrary.org |accessdate=2012-07-26}}</ref> * Independent Oracle Users Group * Industry-centric user groups * [[Oracle Technology Network]] * [http://www.ohsug.org Oracle Health Sciences User Group] * Product-centric user groups * The OakTable Network * [[Usenet newsgroup]]s ==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 SE|SAP]] and [[Teradata]] .<ref>{{Cite web|url=https://www.gartner.com/document/3769150|title=Login Page|website=www.gartner.com|language=en|access-date=2017-12-15}}</ref> ===Competition=== In the market for relational databases, Oracle Database competes against commercial products such as IBM's [[IBM DB2|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]] [[Customer relationship management|CRM]]), and IBM's hardware divisions work closely{{Citation needed|date=February 2010}} 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 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 [[Per-seat license|number of potential seats]] ("named users").<ref> {{cite book |last= Kreines |first= David C. |title= Oracle DBA Pocket Guide |url= https://books.google.com/books?id=4FB1pZetQ-IC |accessdate= 2010-08-10 |series= Pocket References Series |year= 2005 |publisher= O'Reilly Media, Inc. |isbn= 978-0-596-10049-0 |pages = 16? or 145? |quote= Oracle products are currently licensed using two different licensing models: ''Per Named User''. [...] ''Per Processor'' [...] }} </ref> ; Enterprise Edition (DB EE): {{As of|2010|alt=As of July 2010}}, the database that costs the most per machine-processor among Oracle database editions, at $47,500 per processor. The term "per processor" for Enterprise Edition is defined with respect to physical cores and a processor core multiplier (common processors = 0.5*cores). e.g. An 8-processor, 32-core server using Intel Xeon 56XX CPUs would require 16 processor licenses.<ref>{{cite web|title=Oracle Technology Global Price List |url=http://www.oracle.com/corporate/pricing/technology-price-list.pdf |publisher=Oracle Corporation |date=2010-06-14 |accessdate=2010-07-13 |deadurl=yes |archiveurl=https://web.archive.org/web/20100721014320/http://www.oracle.com/corporate/pricing/technology-price-list.pdf |archivedate=21 July 2010 }}</ref><ref>{{cite web|title=Processor Core Factor Table|url=http://www.oracle.com/us/corporate/contracts/processor-core-factor-table-070634.pdf|accessdate=2011-04-08}}</ref> ; Standard Edition (DB SE): Cheaper: it can run on up to four processors but has fewer features than Enterprise Edition—it lacks proper parallelization,<ref>Oracle Database Licensing Information [http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#BABDJGGI Database Editions]</ref> etc.; but remains quite suitable for running medium-sized applications. There are not additional cost for Oracle RAC on the latest Oracle 11g R2 standard edition release. ; Standard ONE (DB SE1 or DB SEO): Sells even more cheaply, but remains limited to two CPUs. Standard Edition ONE sells on a per-seat basis with a five-user minimum. Oracle Corporation usually sells the licenses with an extra 22% cost for support and upgrades (access to My Oracle Support—Oracle Corporation's support site), which customers must renew annually. ; Oracle Express Edition (DB XE)<ref>{{cite web|url=http://www.oracle.com/technetwork/database/express-edition/overview/index.html |title=overview |publisher=Oracle.com |accessdate=2012-07-26}}</ref> (Oracle XE): An addition to the Oracle database product family ([[development stage#Beta|beta]] version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 11&nbsp;GB of user data and to 1&nbsp;GB of memory used by the database (SGA+PGA).<ref>[http://download.oracle.com/docs/cd/E17781_01/install.112/e18802/toc.htm#BABIECJA Licensing Restrictions]</ref> XE uses no more than one CPU and lacks an internal [[Java Virtual Machine|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 [https://web.archive.org/web/20111211031803/https://forums.oracle.com/forums/forum.jspa?forumID=251&start=0 Oracle Discussion Forum] (broken link) only. ==See also== {{Portal|IT|Software|Companies}} * [[Comparison of relational database management systems]] * [[Comparison of object-relational database management systems]] * [[Database management system]] * [[List of relational database management systems]] * [[List of databases using MVCC]] ==References== {{reflist|30em}} ==Bibliography== {{refbegin}} * {{Cite journal | first = Kevin | last = Loney | date = 17 December 2008 | title = Oracle Database 11g The Complete Reference | edition = 1st | publisher = [[McGraw-Hill]] | page = 1368 | isbn = 0-07-159875-8 | url = http://www.mhprofessional.com/product.php?isbn=0071598758 | accessdate = 2009-09-05 | postscript = <!--None--> }} {{refend}} ==External links== {{Commons category|Oracle (database)}} {{wikibooks|Oracle database}} {{Wikiversity|Oracle Database}} * [http://www.oracle.com/technology/software/products/database/oracle10g/ Overview provided by Oracle Corporation]. * [http://omtco.eu/references/oracle/ Oracle Licensing Knowledge Net]. {{Databases}} {{Oracle}} [[Category:Oracle Database]] [[Category:Client-server database management systems]] [[Category:Relational database management systems]] [[Category:Proprietary database management systems]] [[Category:Database engines]]'
Unified diff of changes made by edit (edit_diff)
'@@ -834,33 +834,5 @@ * Standard Edition (SE) ran on single or clustered servers with a maximum capacity of 4 CPU sockets. It was largely the same as the current SE2 offer, including Real Application Clusters option at no additional cost, however allowing twice as much CPU sockets in a server or a cluster. * Standard Edition One (SE1), introduced with Oracle 10''g'', offered the same features as SE and was licensed to run on single servers with a maximum of two 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.<ref name="DBJ">{{cite web - | url = http://www.databasejournal.com/features/oracle/is-it-time-to-move-from-oracle-database-standard-edition-2-or-enterprise-edition.html - | title = Is It Time to Move from Oracle Database Standard Edition 2 or Enterprise Edition? - | last = Colon - | first = Eliot Arlo - | date = November 19, 2015 - | website = Database Journal - | access-date = 17 February 2016 }}</ref> Industry journalists and some{{quantify|date=April 2016}} ISVs perceived Oracle's desupport of affordable SE1 and restrictive updates to SE in the form of SE2 (specifically, the introduction of thread throttling and halving the number of licensable CPU sockets without changing price-per-socket) as an attempt to repress customers' efforts to scale SE/SE1 installations up to "enterprise" class by means of [[virtualization]], while at the same time pushing them towards the more expensive Enterprise Edition or to [[Oracle Corporation#Oracle Cloud|Oracle Cloud]] [[cloud database|Database as a service]].<ref name="TheReg1"> -{{cite web - | url = https://www.theregister.co.uk/2015/09/07/oracle_se2_licensing_clamp_down/ - | title = Oracle plugs socket numbers on DIY Standard Edition - | last = Clarke - | first = Gavin - | date = September 7, 2015 - | website = The Register - | access-date = 17 February 2016 - | quote = The change [...] seems intended to stop customers lashing together copies of entry level SE and SE1 before using VMware to scale up to enterprise-class clusters. -}} -</ref><ref name="TheReg2"> -{{cite web - | url = https://www.theregister.co.uk/2016/01/20/oracle_se2_isv_update/ - | title = Oracle's SE2 update the end for some ISVs, says veteran systems firm - | last = Martin - | first = Alexander J - | date = January 20, 2016 - | website = The Register - | access-date = 17 February 2016 - | quote = [Oracle] noticed the increases in server capabilities and so it has made a move to rectify that [...] [If] the customers are unhappy with it then there's always the cloud option. }} -</ref> +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. ===Database options=== '
New page size (new_size)
120784
Old page size (old_size)
122783
Size change in edit (edit_delta)
-1999
Lines added in edit (added_lines)
[ 0 => '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.' ]
Lines removed in edit (removed_lines)
[ 0 => '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.<ref name="DBJ">{{cite web', 1 => ' | url = http://www.databasejournal.com/features/oracle/is-it-time-to-move-from-oracle-database-standard-edition-2-or-enterprise-edition.html', 2 => ' | title = Is It Time to Move from Oracle Database Standard Edition 2 or Enterprise Edition?', 3 => ' | last = Colon', 4 => ' | first = Eliot Arlo', 5 => ' | date = November 19, 2015', 6 => ' | website = Database Journal', 7 => ' | access-date = 17 February 2016 }}</ref> Industry journalists and some{{quantify|date=April 2016}} ISVs perceived Oracle's desupport of affordable SE1 and restrictive updates to SE in the form of SE2 (specifically, the introduction of thread throttling and halving the number of licensable CPU sockets without changing price-per-socket) as an attempt to repress customers' efforts to scale SE/SE1 installations up to "enterprise" class by means of [[virtualization]], while at the same time pushing them towards the more expensive Enterprise Edition or to [[Oracle Corporation#Oracle Cloud|Oracle Cloud]] [[cloud database|Database as a service]].<ref name="TheReg1">', 8 => '{{cite web', 9 => ' | url = https://www.theregister.co.uk/2015/09/07/oracle_se2_licensing_clamp_down/', 10 => ' | title = Oracle plugs socket numbers on DIY Standard Edition', 11 => ' | last = Clarke', 12 => ' | first = Gavin', 13 => ' | date = September 7, 2015', 14 => ' | website = The Register', 15 => ' | access-date = 17 February 2016', 16 => ' | quote = The change [...] seems intended to stop customers lashing together copies of entry level SE and SE1 before using VMware to scale up to enterprise-class clusters.', 17 => '}}', 18 => '</ref><ref name="TheReg2">', 19 => '{{cite web', 20 => ' | url = https://www.theregister.co.uk/2016/01/20/oracle_se2_isv_update/', 21 => ' | title = Oracle's SE2 update the end for some ISVs, says veteran systems firm', 22 => ' | last = Martin', 23 => ' | first = Alexander J', 24 => ' | date = January 20, 2016', 25 => ' | website = The Register', 26 => ' | access-date = 17 February 2016', 27 => ' | quote = [Oracle] noticed the increases in server capabilities and so it has made a move to rectify that [...] [If] the customers are unhappy with it then there's always the cloud option. }}', 28 => '</ref>' ]
Whether or not the change was made through a Tor exit node (tor_exit_node)
0
Unix timestamp of change (timestamp)
1513375054