Oracle Database

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Oracle Database
DeveloperOracle Corporation
Initial release1979; 47 years ago (1979)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inAssembly language, C, C++[1]
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    TypeMulti-model database
    LicenseProprietary[2]
    Websitewww.oracle.com/database/

    Oracle Database (commonly referred to as Oracle DBMS, Oracle Autonomous Database, or simply as Oracle) is a proprietary multi-model[3] database management system produced and marketed by Oracle Corporation.

    It is a database commonly used for running online transaction processing (OLTP), data warehousing (DW) and mixed (OLTP & DW) database workloads. Oracle Database is available by several service providers on-premises, on-cloud, or as a hybrid cloud installation. It may be run on third party servers as well as on Oracle hardware (Exadata on-premises, on Oracle Cloud or at Cloud at Customer).[4]

    Oracle Database uses SQL for database updating and retrieval.[5]

    History

    [edit | edit source]

    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, later Oracle Corporation. SDL developed the original version of the Oracle software. The name Oracle comes from the code-name of a Central Intelligence Agency-funded project Ellison had worked on while formerly employed by Ampex;[6] the CIA was Oracle's first customer, and allowed the company to use the code name for the new product.[7]

    Ellison wanted his database to be compatible with IBM System R, but that company's Don Chamberlin declined to release its error codes.[8] By 1985 Oracle advertised, however, that "Programs written for SQL/DS or DB2 will run unmodified" on the many non-IBM mainframes, minicomputers, and microcomputers its database supported "Because all versions of ORACLE are identical".[9]

    Releases and versions

    [edit | edit source]

    Oracle products follow a custom release-numbering and -naming convention. The "ai" in the current release, Oracle Database 23ai, stands for "Artificial Intelligence". Previous releases (e.g. Oracle Database 19c, 10g, and Oracle9i Database) have used suffixes of "c", "g", and "i" which stand for "Cloud", "Grid", and "Internet" respectively. Prior to the release of Oracle8i Database, no suffixes featured in Oracle Database naming conventions. There was no v1 of Oracle Database, as Ellison "knew no one would want to buy version 1".[10][8] For some database releases, Oracle also provides an Express Edition (XE) that is free to use.[11][12]

    Oracle Database release numbering has used the following codes:

    Legend:
    Unsupported
    Supported
    Latest version
    LTR = Long-Term Release, IR = Innovation Release
    Oracle
    Database
    Version
    Initial
    Release
    Version
    Initial
    Release
    Date
    Terminal
    Version
    Marquee
    Features
    Latest version: Oracle AI Database 26ai (LTR) 23.26.0 Starting with Release Update 23.26.0, released in October 2025, Oracle Database 23ai is replaced by Oracle AI Database 26ai.

    Applying Release Update 23.26.0 to an existing Oracle Database 23ai deployment converts it to Oracle AI Database 26ai without requiring a separate database upgrade or application re-certification[13]

    Supported: Oracle Database 23ai (LTR) 23.4.0 From Release Update 23.26.0 onward, 23ai is replaced by Oracle AI Database 26ai[14]

    On May 2, 2024, Oracle Database 23ai[15] was released on Oracle Cloud Infrastructure (OCI) as cloud services, including OCI Exadata Database Service, OCI Exadata Database Cloud@Customer, and OCI Base Database Service. It is also available in Always Free Autonomous Database. Oracle Database 23c (previously released in 2023) was renamed to Oracle Database 23ai (23.4) due to the significant additional engineering effort to add features that bring AI capabilities to the data in Oracle Database.

    Oracle Database 23c (23.2 and 23.3) was released in 2023: April 2023 (Linux) Oracle Database Free - Developer Release[16] September 2023 Oracle Database on Base Database Service[17]

    AI Vector Search[18] (includes new Vector data type, Vector indexes, and Vector SQL operators/functions), JSON Relational Duality,[19] JSON Schema Validation, Transactional Microservices Support, OKafka, Operational Property Graphs, Support for SQL/PGQ, Schema Privileges, Developer Role, In-database SQL Firewall, TLS 1.3 Support, Integration with Azure Active Directory OAuth2, True Cache for mid-tier caching, Readable Per-PDB Standby, Globally Distributed Database with active-active RAFT-based replication, Real-time SQL Plan Management, Priority Transactions, SQL Syntax Simplification, Schema Annotations, Data Use Case Domains, Column Value Lock-free Reservations
    Supported: Oracle Database 21c (IR) 21.1.0 December 2020 (cloud)[20]

    August 2021 (Linux)[21]

    Blockchain Tables, Multilingual Engine - JavaScript Execution in the Database, Binary JSON Data Type, Per-PDB Data Guard Physical Standby (aka Multitenant Data Guard), Per-PDB GoldenGate Change Capture, Self-Managing In-Memory, In-Memory Hybrid Columnar Scan, In-Memory Vector Joins with SIMD, Sharding Advisor Tool, Property Graph Visualization Studio, Automatic Materialized Views, Automatic Zone Maps, SQL Macros, Gradual Password Rollover
    Supported: Oracle Database 19c (LTR) 19.1.0 // 12.2.0.3 February 2019 (Exadata)[22]

    April 2019 (Linux)[23]
    June 2019 (cloud)

    Active Data Guard DML Redirection, Automatic Index Creation, Real-Time Statistics Maintenance, SQL Queries on Object Stores, In-Memory for IoT Data Streams, Hybrid Partitioned Tables, Automatic SQL Plan Management, SQL Quarantine, Zero-Downtime Grid Infrastructure Patching, Finer-Granularity Supplemental Logging, Automated PDB Relocation
    Unsupported: Oracle Database 18c (IR) 18.1.0 // 12.2.0.2 February 2018 (cloud, Exadata)[24]

    July 2018 (other)[25]

    18.17.0
    January 2022
    Polymorphic Table Functions, Active Directory Integration, Transparent Application Continuity, Approximate Top-N Query Processing, PDB Snapshot Carousel, Online Merging of Partitions and Subpartitions
    Unsupported: Oracle Database 12c Release 2 12.2.0.1
    March 2017
    August 2016 (cloud)

    March 2017 (on-premises)

    12.2.0.1
    March 2017
    Native Sharding, Zero Data Loss Recovery Appliance, Exadata Cloud Service, Cloud at Customer
    Unsupported: Oracle Database 12c Release 1 12.1.0.1 July 2013[26] 12.1.0.2
    July 2014
    Multitenant architecture, In-Memory Column Store, Native JSON, SQL Pattern Matching, Database Cloud Service
    Unsupported: Oracle Database 11g Release 2 11.2.0.1 September 2009[27] 11.2.0.4
    August 2013
    Edition-Based Redefinition, Data Redaction, Hybrid Columnar Compression, Cluster File System, Golden Gate Replication, Database Appliance
    Unsupported: Oracle Database 11g Release 1 11.1.0.6 September 2007 11.1.0.7
    September 2008
    Active Data Guard, Secure Files, Exadata
    Unsupported: Oracle Database 10g Release 2 10.2.0.1 July 2005[28] 10.2.0.5
    April 2010
    Real Application Testing, Database Vault, Online Indexing, Advanced Compression, Data Guard Fast-Start Failover, Transparent Data Encryption
    Unsupported: Oracle Database 10g Release 1 10.1.0.2 2003 10.1.0.5
    February 2006
    Automated Database Management, Automatic Database Diagnostic Monitor, Grid infrastructure, Oracle ASM, Flashback Database
    Unsupported: Oracle9i Database Release 2 9.2.0.1 2002 9.2.0.8
    April 2007
    Advanced Queuing, Data Mining, Streams, Logical Standby
    Unsupported: Oracle9i Database 9.0.1.0 2001 9.0.1.5
    December 2003
    Oracle Real Application Clusters (RAC), Oracle XML DB
    Unsupported: Oracle8i Database 8.1.5.0 1998 8.1.7.4
    August 2000
    Native internet protocols and Java, Virtual Private Database
    Unsupported: Oracle8 Database 8.0.3 June 1997 8.0.6 Recovery Manager, Partitioning. First version available for Linux.[29]
    Unsupported: Oracle 7.3 7.3.0 February 1996 7.3.4 Object-relational database
    Unsupported: Oracle 7.2 7.2.0 May 1995 Shared Server, XA Transactions, Transparent Application Failover
    Unsupported: Oracle 7.1 7.1.0 May 1994 Parallel SQL Execution. First version available for Windows NT.[30]
    Unsupported: Oracle7 7.0.12 June 1992 Distributed 2-phase commit,[7] PL/SQL stored procedures, triggers, shared cursors, cost-based optimizer
    Unsupported: Oracle 6.2 6.2.0 Oracle Parallel Server
    Unsupported: Oracle v6 6.0.17 1988 6.0.37 Row-level locking, SMP scalability / performance, storing of undo in database,[7] online backup and recovery, B*Tree indexes, PL/SQL executed from compiled programs (C etc.). First version available for Novell Netware 386.[31]
    Unsupported: Oracle v5 5.0.22 (5.1.17) 1985 5.1.22 C2 security certification. Support for distributed database systems[7] and client/server computing. First version available for OS/2. Correlated sub-queries.[32] DOS version supports extended memory.[7]
    Unsupported: Oracle v4 4.1.4.0 1984 4.1.4.4 Multiversion read consistency. Halloween Problem solved. Improved concurrency.[7] First version available for MS-DOS[33][34] and IBM mainframe.[7]
    Unsupported: Oracle v3 3.1.3 1983 Concurrency control, data distribution, and scalability. Re-written in C for portability to other operating systems, including UNIX.[35][7]
    Unsupported: Oracle v2 2.3 1979 First commercially available SQL RDBMS. Basic SQL queries, simple joins[36] and CONNECT BY joins. Atomic role-level SQL statements. Rudimentary concurrency control and database integrity. No query optimizer. Written in assembly language for the PDP-11[7] to run in 128KB of RAM.[37] Ran on PDP-11 and VAX/VMS in PDP-11 compatibility mode.[7]
    Legend:
    Unsupported
    Supported
    Latest version
    LTR = Long-Term Release, IR = Innovation Release

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

    See My Oracle Support (MOS) note Release Schedule of Current Database Releases (Doc ID 742060.1) for the current Oracle Database releases and their patching end dates.

    Patch updates and security alerts

    [edit | edit source]

    Prior to Oracle Database 18c, Oracle Corporation released Critical Patch Updates (CPUs) and Security Patch Updates (SPUs)[38] and Security Alerts to close security vulnerabilities. These releases are issued quarterly; some of these releases have updates issued prior to the next quarterly release.

    Starting with Oracle Database 18c, Oracle Corporation releases Release Updates (RUs) and Release Update Revisions (RURs).[39] RUs usually contain security, regression (bug), optimizer, and functional fixes which may include feature extensions as well. RURs include all fixes from their corresponding RU but only add new security and regression fixes. However, no new optimizer or functional fixes are included.

    Competition

    [edit | edit source]

    In the market for relational databases, Oracle Database competes against commercial products such as IBM Db2 and Microsoft SQL Server.[12] Oracle and IBM tend to battle for the mid-range database market on Unix and Linux platforms, while Microsoft dominates the mid-range database market on Microsoft Windows platforms. However, since they share many of the same customers, Oracle and IBM tend to support each other's products in many middleware and application categories (for example: WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely[citation needed] with Oracle on performance-optimizing server-technologies (for example, Linux on IBM Z). Niche commercial competitors include Teradata (in data warehousing and business intelligence), Software AG's ADABAS, Sybase, and IBM's Informix, among many others.

    In the cloud, Oracle Database competes against the database services of AWS, Microsoft Azure, and Google Cloud Platform.

    Increasingly, the Oracle database products compete against open-source software relational and non-relational database systems such as PostgreSQL, MongoDB, Couchbase, Neo4j, ArangoDB and others. 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.

    Reception

    [edit | edit source]

    The Rosen Electronics Letter in February 1983 stated that Oracle was "the most comprehensive offering we've seen" among databases, with good marketing and substantial installed base encouraging developers to write software for it. The newsletter especially approved of the user interface, noting the "simplicity of setting up 'programs'—queries, data manipulation, updates—without actually programming".[40]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ a b c d e f g h i j Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    40. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]