User:Linxj/sandbox

Oracle数据库通常称为Oracle RDBMS 或简称为Oracle, 是甲骨文公司的一款关系型数据库管理系统.

劳伦斯·埃里森和他的朋友，之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司（SDL，Software Development Laboratories）. SDL开发了Oracle软件的最初版本. Oracle的名称来自于埃里森在Ampex工作时参加的一个由中央情报局创建的项目的代码名称.

實體和邏輯結構
一個Oracle資料庫系統是以一個由文數字组成的系統識別碼（SID, Site ID）來做唯一性的區別, 至少包含一个数据库实例，以及相应的存储数据的文件. 一个实例由一个固定的实例化数字标识 (或者称为活动ID: SYS.V_$DATABASE.ACTIVATION#)它包括了一个与存储的数据相交互的操作系统进程集以及内存结构. 典型的进程有PMON（process monitro)，SMON(system monitor). Oracle把一个活动的实例看成是一共享内存区. 在Oracle数据库服务端的内存结构称为SGA（System Global Area). SGA保存了缓存信息如:数据缓冲区，SQL命令，和用户信息. 在数据库数据外，数据库还包括了用来保存事务历史的联机重做日志. 有一些进程可以归档转换联机重做日志为归档日志， 这为数据恢复以及Data Guard物理备库中的数据复制提供了基础.

如果Oracle 管理员配置的Oracle RAC （Real Application Clusters), 那么这时多个实例通常位于不同的服务器上， 并且都连接着同一个中心磁盘阵列. 这种应用情景在性能，可拓展性及冗余上很有优势.  然后，技术技援也变得更为复杂，因此许多站点并不使用RAC.  在10g版本中，网格计算引进了共享资源，这样一个实例可以使用（例如）网格中另一个节点的CPU资源.

Oracle数据库管理系统可以保存并运行自己的存储程序和函数. PL-SQL（Oracle公司的专有的SQL扩展语言），或面向对象语言Java可以调用那些代码对象或者编写这些代码.

存储
Oracle关系型数据库管理系统从逻辑上把数据保存在表空间内，在物理上以数据文件]的形式存储. 表空间可以包含多种类型的内存区段，例如数据区段（Data Segment）、索引区段（Index Segment）等等. 区段相应的由一个或多个扩展（extent）组成. 扩展由相连的数据块组成. 数据块是数据存储的基本单元.

新版本的数据库还包括了一个分区特性，这一特性允许根据不同的键值来分割数据库表. 特定的分区可以很容易的添加或删除有助于大数据集的管理.

分区对大表非常用效， 通过装一张大表分成小分区， 你可以达到以下目的：


 * 备份及恢复的效率更高. 因为分区后的表要比之分前的表小， 这样你在备份及恢复时就可以选择其中的几张分表而不是一张大表.
 * 表内容的管理更为容易. 因为分区后的表数据存储在不几个表分区中， 这令数据的加载及删除更容易了.
 * 数据查询的性能可能提升. 因为我们可能只要其中一个分表， 而不是整张表.

Oracle数据库管理系统通过存储在SYSTEM表空间内的信息来跟踪数据存储. SYSTEM表空间包含了数据字典 — 以及（默认的）索引和集群. 数据字典包含了一个保存了所有数据库中用户对象的信息的表. 从8i版本开始，Oracle开始支持本地表空间管理，即把空间管理信息保存在它们自己的信头的位图中而不是SYSTEM表空间内. 从10g 开始引入了SYSAUX表空间， SYSAUX表空间包含了一些以前位于SYSTEM表间的表.

磁盘文件
Oracle 的文件主要有以下几种类型：
 * 数据及索引文件： 这些文件是物理存储所必需的， 包括了数据字典数据（保存在SYSTEM表空间）， 用户数据以及索引数据. 这些文件可以由用户手动管理，也可以由Oracle来管理（“Oracle-managed files").  注意一个数据文件只能属于一个表空间，然而一个表空间能包含多数数据文件.
 * 重做日志文件： 重做日志文件记录了所有数据库的变化， 当发生实例崩溃时可以用来恢复数据. 需要注意的是这类文件常会被多次保存， 这主要是为了防止磁盘损坏.  这些相同文件隶属于相同的组.
 * Undo 文件： 这类特殊的数据文件， 仅用来记录undo信息， 这些信息可以用来的数据恢复，回滚以及保证读一致性.
 * 归档日志文件： 这些文件实际上是重做日志文件的拷贝，但是它们通常保存到不同的位置里. 这类文件可以用在备库上重新应用数据，或者在发媒介错误时用来做数据恢复.  你们可以将这类文件同时归档到多位置下.
 * 临时文件： 这类特殊的文件仅用来做临时数据的保存（比如在大量排序时或是创建全局时的临时数据）
 * 控制文件： 数据启动时需要用到. 它是一个二进制文件，记录了数据库的物理结构， 重做日志文件的名字及位置， 数据库创建时的时间标签， 当日志的序列号， 检查点等等信息.

在物理层面来看， 数据文件包含了一个或多个数据库， 依不同的数文件可以用不同的块大小.

数据文件可以保存在服务器上的文件系统预先分配的空间中， 或者直接使用裸磁盘， 又或者保存在ASM逻辑卷中.

schema
在大多数性况下的Oracle数据库安装的时都有一起安装 这个schema的传统. 这示例表在安装完成后进行安装， 然后用户可以用用户名 密码 的账号登录到到数据库中. schema的名字来自Oracle最早一个叫Bruce Scott的雇员，他有一只叫Tiger的猫.

Oracle不再强调 schema的使用， 在最近发布的数据库中SCOTT schema很少使用的新特性. Oracle提及到的默认示例库大多数为，HR或OE这两个schema.

其它默认schema包括：
 * (基本数据库内核数构成及功能)
 * (额外的内核构成及功能以及特权账号)
 * (保存与查询优化器执行计划有关的概要信息）
 * ,,  ,  ,  , and   (拓展后的schema 包含了比老  schema更多的数据及结构).

SGA
每一个Oracle 实例都会有一个SGA(System Global Area), SGA是一块共享内存区域， 用来保存数据及控制信息.

当Oracle实例启动时都会给自己分配一个SGA，关闭时释放. SGA的有以下组成，每一成份都有其固定大小并在实例启动时分配好：

当你用Enterprise Manager 或 SQL*Plus 启动数据库时，SGA的信息就是显示出来.
 * 重做日志缓冲区： 保存数据库的重做记录（也就是数据库的修改日志）. 实例近可能快速，高效地向重做日志缓冲区写记录.  重做日志在系统崩溃后用来恢复数据库.
 * 共享池： SGA的这一区域用来保存库缓冲的SQL区数据，以及数据字典的内部信息. 共享池过小的会导致严重的性能下降.
 * Large Pool: 这一可选区域为某些操作提供了一块大内存， 比如备份/还原，服务进程I/O.
 * 数据库缓冲区： 保存从数据文件取到的数据块.
 * 固定缓冲区（Keep Buffer Pool): 这是用来长期保留数据块的特殊数据库缓冲区.
 * 可回收缓冲区（Recycle Buffer Pool): 这是用来短期保留数据块的特殊数据库缓冲区.
 * nK缓冲区(nK Buffer Cache): 这也是一特殊的数据库缓冲区，设计用来保存与默认数据块不同大小的块.
 * Java缓冲区： 用来保存所有与session有关Java代码以及Java虚拟机的数据
 * 串流池(Streams Pool）： 在Oracle串流（streams）技术，用来保存捕获及应用信息.

库缓存区(Library cache）
Oracle的库缓存区保存了共享SQL，构析树及每条唯一SQL表达式的执行计划. 如果多个应用间有多条相同SQL表达式，每个应用都能够访问这个共享缓冲区， 这样就减少了内存需求以及也减少了处理解析与定制执行计划的时间.

数据字典缓冲区
数据字典由表及视图组成，是数据库的结构地图.

Oracle数据库在数据字典里保存了数据库的逻辑及物理结构信息. 这些信息包括：

Oracle实例在解析SQL语句时需要经常访问数据字典. 这种对数据字典的依赖，决定了如果这一操作成为瓶颈将会影响到所有的Oracle用户. 因为这个原因数据库管理员必需保证必需有足够的空间来缓存这类数据. 这部分内存的不足将给系统性能带来巨大的影响. 给数据字典所在的共享池分配足够的内存，就能防止这类特殊性能问题.
 * 用户信息，比如用户权限
 * 数据库表格的一致性约束
 * 数据库表格中所有列的名字及数据类型
 * 各个schema对象的空间分配及使用信息

PGA
Oracle实例中的PGA或PGA内存区用来保存Oracle服务进程的数据及控制信息.

PGA的大小与内容与Oracle服务安装时的选项有关. 这一区域包含了如下组件：
 * 堆栈空间（stack-space）: 用来保存会话（session)的变量，数组等的内存
 * 会话信息(session-information)： 除非使用多线程服务， 否则实例将会话信息保存在PGA中（在多线程服务中，会话信息跑到了SGA中）
 * 私有SQL区（private SQL-area)： 这一区域保存绑定变量及即时缓存信息.
 * 排序区（sorting area): 这一区域用来保存排序及哈希连接（hash-joins）的信息.

动态性能视图
Oracle数据库内的动态性能视图（也叫"固定视图“（fixed views））用来显示来自虚拟表（X$表） 信息，虚拟存储在数据库内存中 .  用户可以通过V$视图（根据它们同义词的前缀命名）来获取数据库的结构及性能信息.

Oracle进程
像Oracle这类关系型数据库都有在后台运行的一组程序， 这些后台程序与监控器产生交互并辅助完成对数据库的操作. 一般说来， 构成操作环境的进程有（使用英文简化命名法命名）：


 * Oracle高级查询(advanced queueing)进程(Qnn)
 * 归档进程（ARCn）
 * 检查点进程（CHKPT） *必需*
 * 任务队列协调进程（CJQn）: 根据任务队列需要动态产生奴隶进程
 * 数据库写进程（DBWn） *必需*
 * 分配器进程(Dnnn): 根据用户数的多少需要多个服务进程
 * Data Guard Broker主监控进程（DMON）
 * 任务队列奴隶进程（Jnnn）
 * 写日志进程（LGWR） *必需*
 * 写日志网络服务进程（LNSn）: 用于Dataguard环境中传输重做日志
 * 逻辑从库协调进程（LSP0）： 用于控制Dataguard中的日志应用（log-application）
 * 媒介恢复进程（MRP）： detached recovery-server process
 * 内存管理进程（MMAN）: 供内部数据库任务使用， 比如自动内存管理
 * 内存监控进程（MMON）： 这个进程用来自动故障检测，自动优化及统计信息统计
 * 内存监控轻进程（light process）（MMNL）： 用于收集并存储AWR（Automatic Workload Repository）数据
 * MMON的后台奴隶进程（比如：Mnnnn：M0000，M0001等）
 * 监控进程的进程（PMON） *必需*
 * 进程产生器（PSP0）： 用于产生Oracle进程
 * 队列监控器协调进程（QMNC）： 用于动态地产生队列监控器奴隶进程
 * 队列监控器进程（QMNn）
 * 恢复进程（RECO）
 * 远程文件服务器进程（RFS）
 * 共度服务器进程(Snnn): 用于服务客户端请求
 * 系统监控进程（SMON） *必需*

用户的进程，连接及会话
在描述最终用户如何与数据库相交互时， Oracle明确区分了不同计算机术语：
 * 用户进程包括对应用软件的调用
 * 一个连接（connection）指的是用户到Oracle实例间的通道
 * 会话（session）由连向Oracle实例的连接构成. 每个会话都会有一会话ID（SID, Session Identifier） . （注意和另一个SID：System Identifier相区别）

并发及锁机制
Oracle 数据库通过锁（也有写作"enqueues")机制，来控制对数据的并发访问. 数据库也使用”闩(latches)“， 闩是一种低水平串行化机制，用来保护SGA中的共享数据结构.

配置
Oralce数据库有很多不同意义的参数可以被管理员使用， 管理员调整这些参数来调优数据库. 这个参数文件默认以ASCII文本（“pfile”）保存，通常以 命名. 默认的二进制服务器参数文件("spfile") (在某种程度上可以动态配置）， 这个文件的默认格式是 . 在SQL的环境， 可以利用视图 及  访问读取这些参数.

Internationalization
Oracle 数据库有着63个语不同的语言版本， 这些版本包括了像英式英文，美式英文这种地区的差异. 不同的日期名，简写及时间符号（A.M. 及A.D.）， 不同的排序方法.

Oracle公司还把数据库的报错信息翻译成了以下不同的语言： 阿拉伯语，加泰兰语，汉语，捷克语， 丹麦语，荷兰语，英语，芬兰语，法语，德语，希腊语，希伯来语，匈牙利语，意大利语， 日语， 韩语，挪威语，波兰语，罗马尼亚语，俄语，斯洛伐克语，西班牙语，瑞士语，泰语及土耳其语.

Oracle为数据库的开发人员提供各种工具及机制，帮助他们开发出全球化的数据库应用. 这种技术称为“全球化“.

Corporate/technical timeline

 * 1977: Larry Ellison 与他的朋友成立软件开发实验室（SDL） friends founded Software Development Laboratories (SDL).
 * 1978: 用汇编语言写的第一版Oracle，运行在PDP-11机上RSX系统下， 有128K内存. 实现了Oracle系统代码与用户代码的分离.  Oracle的V1版从来没有正式发布过.
 * 1979： 软件开发实验室将公司名改成 ”Relational Software，Inc."(RSI) 并且引入了Oracle V2 做为其早期的关系型数据库系统， 这一系统通常称为第一个商用版本. 这一版本的数据库不支持数据库事务， 但是实现了基本的SQL功能， 比如表的查询，连接等. （RSI 从来没有发布过版本1--取而代之它叫其第一版为“版本2”， 这是一种“营销噱头”）
 * 1982 RSI 又改回了它的名字，也就是现在的 Oracle公司， 这与它的旗舰产品相近.
 * 1983: 发布Oracle 第3版， 这一版本用C语主重写了程序， 并且开始支持 及 的事务功能. 这一版本拓展了操作系统支持，从数字VAX/VMS系统到Unix环境都可以.
 * 1984: Oracle发布版本Oracle 4， 这一版本开始支持读一致性.
 * 1985： 发布了Oracle 5， 这一版本支持C/S模式，这是20世纪中期网络变的越来越普及的一个标志.
 * 1986： Oracle 5.1 开始支持分布式查询.
 * 1988： Oracle 关系型数据库 版本6 发布， 开始支持在Oracle From v3 中嵌入PL/SQL代码，（Oracle 6 还不能装PL/SQL保存到数据库中）， 低级锁， 及热备
 * 1989: Oracle 公司进入应用软件］］ 市场. 并开发了基于Oracle关系型数据库的[[ERP(Enterprise Resource Planning)产品， （后来这变成了Oracle E-business Suit］］的一部分）.
 * 1990： Oracle relase 8 发布？？
 * 1990: the release of Oracle Applications release 8
 * 1992： Oracle 7 出现， 并支持引用完整性， 存储过程， 触发器等.
 * 1997： Oracle 版本8发布， 这一版本开始支持面向对象软件开发及多媒体应用.
 * 1999: Oracle 8i发布， 这一版针对网络，提供了更好的互联网数据库（8i的"i"就代表互联网-Internet）. Oracle 8i数据库还带了一个本地的Java虚拟机（JVM）（Oracle JVM， 又称为"Aurora").
 * 2000： Oracle 的电子商务套件11i（E-Business Suite 11） 开创了集成企业应用软件的先河.
 * 2001: Oracle9i的发布带来了400多项新特性， 这其中包括了读写XML文档的能力. 9i还提供了Oracle RAC（Real Application Clusters）选项， 做为计算机集群数据库， 取代了Oracle 并行服务器（OPS）.
 * 2002: Oracle 9i Release2（9.2.0） 发布.
 * 2003: 发布Oracle 10g, 开始支持正则表达式. （这里的g代表网格（Grid）； 这是为了强调网格计算的10g已经进入市场）
 * 2005: Oracle 10.2.0.1 或者Oracle10g Release （10gR2）出现收购了i-flex.
 * 2007: Oracle 10g release 2 在TPC-H 3000GB的测试中打破了世界纪录.
 * 2007: Oracle 在Linux平台及Windows平台上，发布了Oracle11g
 * 2008: 收购BEA公司
 * 2010: 收购Sun公司
 * 2011: 收购网页内容管理系统FatWire软件公司
 * 2013: Oracle 针对浏览器及服务器Java的50多个漏洞， 发布了一个大型安全更新.

重要的补丁更新（CPUs）及安全警告
重要的补丁更新（CPUs）及安全警告在每季度靠近当月17号的星期二发布 这些补丁的目的在于关闭可能发生数据泄露的漏洞.
 * 你可以通过Email获取发布信息.
 * 白皮书: Critical Patch Update Implementation Best Practices

版本号的命名
Oracle 的产品遵循一套自己的发布版本号及命名传统. 随着Oracle关系型数据库 Oracle10g的发布，它的就开始在它所有主要产品中使用"10g"的标签，尽管有些资源指向的是Oracle 应用程序 Release 11 i 也就是 Oracle 11 i. 这里的后缀"i","g" 或者"c"并不像软件行业一般含义表示小版本号，比如，在Oracle 10g之后并不会有Oraclef这种版本. 这些字母的真正含义是 i： 网络（internet）， g： 网格（grid）， c：云（cloud）. 因此在提到Oracle产品的时候通常会省去后面的"g"或者"i"后缀.

数据库相关的主要产品及它们的版本包括：
 * Oracle Application Server 10g (也称为 "Oracle AS 10 g")： 中间件产品;
 * Oracle Applications Release 11 i （也就是 Oracle 电子商务套件, Oracle 金融及 Oracle11i）: 商务就秀的软件套件;
 * Oracle Developer Suite 10g (9.0.4);
 * Oracle Jdeveloper 10g: 一个Java集成开发环境；


 * Oracle v5
 * Oracle v6
 * Oracle7: 7.0.16–7.3.4
 * Oracle8 Database: 8.0.3–8.0.6
 * Oracle8i Database Release 1: 8.1.5.0–8.1.5.1
 * Oracle8i Database Release 2: 8.1.6.0–8.1.6.3
 * Oracle8i Database Release 3: 8.1.7.0–8.1.7.4
 * Oracle9i Database Release 1: 9.0.1.0–9.0.1.5 (补丁集 )
 * Oracle9i Database Release 2: 9.2.0.1–9.2.0.8 (补丁集)
 * Oracle Database 10g Release 1: 10.1.0.2–10.1.0.5 (补丁集)
 * Oracle Database 10g Release 2: 10.2.0.1–10.2.0.5 (补丁集)
 * Oracle Database 11g Release 1: 11.1.0.6–11.1.0.7 (补丁集)
 * Oracle Database 11g Release 2: 11.2.0.1–11.2.0.3 (补丁集)

版本号命名遵循如下规则：主要版本.维护版本.应用服务版本.组件指定.平台指定. 举个例子， "10.2.0.1 for 64-bit Solris" 指： Oracle的第10主要版本， 维护等级为2， Oracle应用服务 （OracleAS） 0， 1级，对应平台为Solaris 64-bit.

这一文档提供了Oracle发布版本进一步信息Oracle Database Administrator's Guide

市场版本
除了以上提到的这些Oracle版本，Oracle公司还将其产品根据不同的市场要求及授权跟踪目的将产品细分成不同的“版本”（不要将其市场“版本”与像Oracle11.2这样的内部实际版本混淆）. 以下结果大致按降序排列：
 * 企业版 （EE） 包括了与'标准版'相比，拥有更多的特性， 尤其在性能及安全领域. Oracle 按照基础用户数最或者处理器数量授权， 通常适用于有4个或4个以上CPU的服务器.  企业版没有内存上的限制， 而且能够使用Oracle RAC软件.
 * 标准版 （SE）有数据库的基本功能. Oracle 按照基础用户数最或者处理器数量授权， 通常适用于有一个到四个CPU的服务器.  如果CPU的数量超过4个用户必需更换到企业版的授权. 标准版也没有内存的限制，使用Oracle RAC不需要额外的收费.
 * 标准版1， （SE1 或者叫SEO） 在Oracle 10 g， 的时候引入这种版本， Oracle公司给它的市场定位是用于于一个或两个CPU的系统上. 这个版本也没有内存限制.
 * Express 版


 * Express 版 （"Oracle Database XE"）
 * 第一个Express 版在2005年引进， 可以在Windows及Linux上免费安装Oracle 10 g. 这一版使用150MB内存，4GB用户数据文件 并且只能用一个CPU.  尽管它能够安装在有任何内存的服务器上，但最多只能使用1GB.  使用这一版本无法得Oracle的直接支持， 仅能能从Oracle论坛获取技术支持.


 * Oracle 11g Express 版， Oracle公司在2011年9月24日释出， 支持达11GB的用户数据.
 * Oracle 数据库精简版， ， 主要运行在移动设备上. 运行在移动设备上的嵌入式 移动数据库可以与服务器数据库相同步. 支持的平台包括win32, Windows CE, PalmsOS及EPOC， 并且集成了Oracle的高级查询（AQ） 机制， 数据与Oracle企业版的同步， 支持纯Java开发(通过JDBC驱动） ，原生支持原生支持嵌入式SQLJ及Java存储过程.  使用Oracle精简版数据库的第三方商业软件有Jargon Software的ForceField 移动订单输入应用.

操作系统平台
在2001 oracle9i发布之前， oracle公司的数据库产品对各种平台有着广泛的支持. 之后， Oracle公司支持的平台变少以巩固其产品.

在2011年11月， Oracle11g(11.2.0.2.0)支持以下的操作系统及硬件平台：


 * zLinux64
 * Microsoft Windows (32-bit)
 * Microsoft Windows (x64)
 * Linux x86
 * Linux x86-64
 * Solaris (SPARC) (64-bit)
 * Solaris (x86-64)
 * HP-UX Itanium
 * HP-UX PA-RISC (64-bit)
 * AIX (PPC64)

在2011年， 发布了一套可用的Oracle 数据库设备， 这套设备基于2台SunFire X86服务器， 使用直接连接存储， 它预先装配， 预先调优并具备高可用.

有些企业版的Oracle 数据库运行在特殊的支持Oracle数据库的硬件上， 这些硬件可以用来可以实现Hybrid Columnar Compression技术以支持更高效的数据存储.

Oracle 产品

 * Oracle 数据库防火墙 通过分析网络上的数据库流量来预防诸如SQL 注入的攻击analyzes database traffic on a network to prevent threats such as SQL injection.

数据库选件
Oracle 公司将一些与数据库核心功能有关的拓展叫数据库据选件(database options). such options include:
 * Active Data Guard (11g中Datagarud的物理备库功能的拓展. )
 * Advanced Compression (压缩表格备份及重作日志)
 * Advanced Security (为网络中的及存储上的数据添加加密功能)
 * Content database (为非约构化的信息提供一个集中化的数据源)
 * Data Mining ( ODM) (在已有数据中挖掘数据模式)
 * Database Vault (强化数据访问的安全性)
 * In-Memory Database Cache (使用了 TimesTen 技术)
 * Label Security (加强低水平安全)
 * Management Packs (various). For example:
 * Oracle 数据库修改管理包 (跟踪及管理schema的改变)
 * Oracle Answers (点对点的分析及报告)
 * Oracle Application Express, 一个0成本的面向数据库的软个把开发环境
 * Oracle GoldenGate 11g (分布实时数据同步)
 * Oracle OLAP (添加分析处理功能)
 * Oracle Programmer (provides programmatic access to Oracle databases via precompilers, interfaces and bindings)
 * Oracle Real Application Testing (new at version 11g)—including Database Replay (for testing workloads) and SQL Performance Analyzer (SPA) (for preserving SQL efficiency in changing environments)
 * Oracle Spatial and Graph (includes 2D,3D and Raster geospatial data types, indexes, and spatial analytics and data models used in business applications and geographic information systems (GIS)) as well as Worldwide Web Consortium Resource Description Framework (RDF) graph management and analysis
 * Oracle Text (standard SQL to index, search, and analyze text and documents stored in the Oracle database)
 * Oracle XML DB (Is a no-cost option in the database and provides a high-performance, native XML storage and retrieval technology.)
 * Oracle Warehouse Builder (in various forms and sub-options)
 * Partitioning (granularizes tables and indexes for efficiency)
 * Real Application Clusters (RAC) (coordinates multiple database servers, together accessing the same database)
 * Records database (a records management application)
 * Transparent Gateway for connecting to non-Oracle systems. Offers optimized solution, with more functionality and better performance than Oracle Generic Connectivity.
 * Total Recall (optimizes long-term storage of historical data)

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

Suites
In addition to its RDBMS, Oracle Corporation has released several related suites of tools and applications relating to implementations of Oracle databases. For example:
 * Oracle Application Server, a J2EE-based application server, aids in developing and deploying applications which utilise Internet technologies and a browser.
 * Oracle Collaboration Suite contains messaging, groupware and collaboration applications.
 * Oracle Developer Suite contains software development tools, including JDeveloper.
 * Oracle E-Business Suite collects together applications for enterprise resource planning (including Oracle Financials), customer relationship management and human resources management (Oracle HR).
 * Oracle Enterprise Manager (OEM) used by database administrators (DBAs) to manage the DBMS, and in version 10g, a web-based rewrite of OEM called "Oracle Enterprise Manager Database Control". Oracle Corporation has dubbed the super-Enterprise-Manager used to manage a grid of multiple DBMS and Application Servers "Oracle Enterprise Manager Grid Control".
 * Oracle Programmer/2000, a bundling of interfaces for 3GL programming languages, marketed with Oracle7 and Oracle8.
 * Oracle WebCenter Suite

Database "features"
Apart from the clearly defined database options, Oracle databases may include many semi-autonomous software sub-systems, which Oracle Corporation sometimes refers to as "features" in a sense subtly different from the normal usage of the word. For example, Oracle Data Guard counts officially as a "feature", but the command-stack within SQL*Plus, though a usability feature, does not appear in the list of "features" in Oracle's list. Such "features" may include (for example):


 * Active Session History (ASH), the collection of data for immediate monitoring of very recent database activity.
 * Automatic Workload Repository (AWR), providing monitoring services to Oracle database installations from Oracle version 10. Prior to the release of Oracle version 10, the Statspack facility provided similar functionality.
 * Clusterware
 * Data Aggregation and Consolidation
 * Data Guard for high availability
 * Generic Connectivity for connecting to non-Oracle systems.
 * Data Pump utilities, which aid in importing and exporting data and metadata between databases
 * Database Resource Manager (DRM), which controls the use of computing resources.
 * Fast-start parallel rollback
 * Fine-grained auditing (FGA) (in Oracle Enterprise Edition) supplements standard security-auditing features
 * Flashback for selective data recovery and reconstruction
 * iSQL*Plus, a web-browser-based graphical user interface (GUI) for Oracle database data-manipulation (compare SQL*Plus)
 * Oracle Data Access Components (ODAC), tools which consist of:
 * Oracle Data Provider for .NET (ODP.NET)
 * Oracle Developer Tools (ODT) for Visual Studio
 * Oracle Providers for ASP.NET
 * Oracle Database Extensions for .NET
 * Oracle Provider for OLE DB
 * Oracle Objects for OLE
 * Oracle Services for Microsoft Transaction Server
 * Oracle-managed files (OMF) -- a feature allowing automated naming, creation and deletion of datafiles at the operating-system level.
 * Recovery Manager (rman) for database backup, restoration and recovery
 * SQL*Plus, a program that allows users to interact with Oracle database(s) via SQL and PL/SQL commands on a command-line. Compare iSQL*Plus.
 * Universal Connection Pool (UCP), a connection pool based on Java and supporting JDBC, LDAP, and JCA
 * Virtual Private Database (VPD), an implementation of fine-grained access control.

Standalone tools
Users can develop their own applications in Java and PL/SQL using tools such as:
 * Oracle Forms
 * Oracle JDeveloper
 * Oracle Reports

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

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

Oracle's OPatch provides patch management for Oracle databases.

Other databases marketed by Oracle Corporation
By acquiring other technology in the database field, Oracle Corporation can also offer:


 * TimesTen, a memory-resident database that can cache transactions and synchronize data with a centralized Oracle database server. It functions as a real-time infrastructure software product intended for the management of low-latency, high-volume data, of events and of transactions.
 * BerkeleyDB, a simple, high-performance, embedded database
 * Oracle Rdb, a legacy relational database for the OpenVMS operating-system
 * MySQL a relational database purchased as part of Oracle Corporation's takeover of its immediate previous owner, Sun Microsystems
 * Oracle NoSQL Database, a scalable, distributed key-value NoSQL database

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

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

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

Database-related guidelines
Oracle Corporation also endorses certain practices and conventions as enhancing the use of its database products. These include:
 * Oracle Maximum Availability Architecture (MAA) guidelines on developing high-availability systems
 * Optimal Flexible Architecture (OFA), blueprints for mapping Oracle-database objects to file-systems

Oracle Certification Program
The Oracle Certification Program, a professional certification program, includes the administration of Oracle Databases as one of its main certification paths. It contains three levels:


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

User groups
A variety of official (Oracle-sponsored) and unofficial Oracle User Groups has grown up of users and developers of Oracle databases. They include:
 * Geographical/regional user groups
 * Independent Oracle Users Group
 * Industry-centric user groups
 * Oracle Technology Network
 * Product-centric user groups
 * The OakTable Network
 * Usenet newsgroups

Competition
In the market for relational databases, Oracle Database competes against commercial products such as IBM's DB2 UDB and Microsoft SQL Server. Oracle and IBM tend to battle for the mid-range database market on UNIX and Linux platforms, while Microsoft dominates the mid-range database market on Microsoft Windows platforms. However, since they share many of the same customers, Oracle and IBM tend to support each other's products in many middleware and application categories (for example: WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely with Oracle on performance-optimizing server-technologies (for example, Linux on zSeries). The two companies have a relationship perhaps best described as "coopetition". Niche commercial competitors include Teradata (in data warehousing and business intelligence), Software AG's ADABAS, Sybase, and IBM's Informix, among many others.

In 2007, competition with SAP AG occasioned litigation from Oracle Corporation.

Increasingly, the Oracle database products compete against such open-source software relational database systems as PostgreSQL, Firebird, and MySQL. Oracle acquired Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better against open source alternatives, and acquired Sun Microsystems, owner of MySQL, in 2010. Database products licensed as open source are, by the legal terms of the Open Source Definition, free to distribute and free of royalty or other licensing fees.

Pricing
Oracle Corporation offers term licensing for all Oracle products. It bases the list price for a term-license on a specific percentage of the perpetual license price. Prospective purchasers can obtain licenses based either on the number of processors in their target server machines or on the number of potential seats ("named users").


 * Enterprise Edition (DB EE):, the database that costs the most per machine-processor among Oracle database editions, at $47,500 per processor. The term "per processor" for Enterprise Edition is defined with respect to physical cores and a processor core multiplier (common processors = 0.5*cores).  e.g. An 8-processor, 32-core server using Intel Xeon 56XX CPUs would require 16 processor licenses.
 * Standard Edition (DB SE): Cheaper: it can run on up to four processors but has fewer features than Enterprise Edition—it lacks proper parallelization, etc.; but remains quite suitable for running medium-sized applications. 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 need to renew annually.
 * Oracle Express Edition (DB XE) (Oracle XE): An addition to the Oracle database product family (beta version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 11 GB of user data and to 1 GB of memory used by the database (SGA+PGA). XE will use no more than one CPU and lacks an internal JVM. XE runs only on Windows and on Linux, not on AIX, Solaris, HP-UX and the other operating systems available for other editions. Support is via a free Oracle Discussion Forum only.

As computers running Oracle often have many multi-core processors (resulting in many cores, all to be licensed), the software price can rise into the hundreds of thousands of dollars. The total cost of ownership often exceeds this, as large Oracle installations usually require experienced and trained database administrators to do the set-up properly. Furthermore, further components must be licensed and paid for, for instance the Enterprise Options used with the databases. Many licensing pitfalls let even rise the costs of ownership. Because of the product's large installed base and available training courses, Oracle specialists in some areas have become a more abundant resource than those for more exotic databases. Oracle frequently provides special training offers for database-administrators.

On Linux, Oracle's certified configurations include Oracle's own Oracle Linux and other commercial Linux distributions (Red Hat Enterprise Linux 3, 4 and 5, SuSE SLES 8, 9, 10 and 11, Asianux) which can cost in a range from a few hundred to a few thousand USD per year (depending on processor architecture and the support package purchased).

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