标题：Oracle系统
简介
Oracle是由甲骨文公司开发出来的，并于1989年正式进入中国市场，成为第一家进入中国的世界软件巨头。当然，当时的Oracle尚名不见经传，由Oracle开发的商用关系型数据库技术即年开始服务于中国用户。1991年7月，Oracle在北京建立独资公司。  Oracle数据库，使积聚了众多领先性的数据库系统，在集群技术、高可用性、商业智能、安全性、系统管理等方面都领跑业界。
与Oracle数据库基本同时期的还有informix数据库系统。两者使用的用户有所侧重。Oracle数据库系统银行业使用较多，informix数据库系统，通讯业使用较多。
Oracle10g、11g，以其Real Application Clusters集群技术，提供了近乎无限的扩充能力，与整体可用性。
Oracle系统一般运行于UNIX平台，其系统构建、运维、集群、容灾和性能往往是非常重要的应用方面。目前的一本技术专著《Oracle大型数据库系统在AIX/UNIX上的实战详解》，该专著以IBM著名的UNIX系统 AIX 平台为主线，以HP-UNIX、Solaris、Linux等为参照，描述了数据库系统 Oracle 10g、Oracle 11g的构架方法、常用管理内容、实施集群的环境要素、集群实施方法等。最后，该书以Sybase ASE系统作为对比，论述了Oracle系统在UNIX上的种种特征。.
概念
由于ORACLE数据库产品是当前数据库技术的典型代表，她的产品除了数据库系统外，还有应用系统、开发工具等。刚接触Oracle的人员都有这样的感觉：Oracle的产品太多，每个产品内容精深，不知道从哪儿开始学才好。为了用少量时间更好地理解和使用oracle 数据库系统，有必要对oracle的一些基本术语及概念进行了解，下面给出一些在管理中经常用到的概念和术语，供初学者快速了解Oracle数据库系统提供方便。
ORACLE7和ORACLE8ORACLE7是一种完全的关系数据库系统，它不支持面向对象。 ORACLE8 则是一个引入面向对象的数据库系统，它既非纯的面向对象的数据库也非纯的关系数据库，它是两者的结合，因此叫做“对象关系数据库”。
ORACLE8 特点ORACLE8 于1997年6月正式发布，它包括了几乎所有的数据库技术，因此被认为是未来企业级主选数据库之一。主要有以下特点： 
1、对象/关系模型 ORACLE8对于对象模型采取较为现实和谨慎的态度，使用了对象/关系模型，即在完全支持传统关系模型的基础上，为对象机制提供了有限的支持。ORACLE8不仅能够处理传统的表结构信息，而且能够管理由C++，Smalltalk 以及其它开发工具生成的多媒体数据类型，如文本，视频，图形，空间对向等。这种做法允许现有软件开发产品与工具软件及ORACLE8应用软件共存，保护了客户的投资。
2、数据库服务器系统的动态可伸缩性 ORACLE8引入了连接存储池(connection polling)和多路复用（multiplexing）机制，提供了对大型对象的支持。当需要支持一些特殊数据类型时，用户可以创建软件插件（catridge ）来实现。ORACLE8采用了高级网络技术，提高共享池和连接管理器来提高系统的可括性，容量可从几 GB 到 几百 TB 字节，可允许10万用户同时并行访问，ORACLE 的数据库中每个表可以容纳 1000列，能满足目前数据库及数据仓库应用的需要。 ORACLE 公司称，ORACLE8可以支持达 512PB的数据量。但目前还未有哪一家用户的数据库的数据量达到这个数量。下面是几种常用数据量的等价关系： 1MB = 1024 KB 1GB = 1Gigabyte Byte = 1024 MB 1TB = 1TeraByte = 1024 GB = 1024*1024MB 1PB = 1PeraByte = 1024 TB = 1024 * 1024 * 1024 MB 1EB = 1ExaByte = 1024 PB = 1024 * 1024 *1024 *1024 MB。 
3、系统的可用性和易用性 ORACLE8提供了灵活多样的数据分区功能，一个分区可以是一个大型表，也可以是索引易于管理的小块，可以根据数据的取值分区。有效地提高了系统操作能力及数据可用性 ，减少I/O 瓶颈。ORACLE8还对并行处理进行了改进，在位图索引，查询，排序，连接和一般索引扫描等操作引入并行处理，提高了单个查询的并行度。ORACLE8通过并行服务器（Parallel Server Option ）来提高系统的可用性。
4、系统的可管理性和数据安全功能 ORACLE8提供了自动备份和恢复功能，改进了对大规模和更加细化的分布式操作系统的支持，如加强了SQL 操作复制的并行性。为了帮助客户有效地管理整个数据库和应用系统，ORACLE还提供了企业管理系统（ORACLE Enterprise Manager），数据库管理员可以从一个集中控制台拖放式图形用户界面管理ORACLE的系统环境。 ORACLE8通过安全服务器中提供的安全服务，加强了ORACLE Web Server 中原有的用户验证和用户管理。
5、面向网络计算 ORACLE8i在 与JAVAVM 及 CORBA ORB 集成后，将成为NCA(网络计算机体结构)的核心部件。NCA是ORACLE 关于分布式对象与网络计算机的战略规划。ORACLE8 对NCA产生了巨大影响，简化了应用软件的化分，推动了瘦型客户机及Web 应用软件的发展。在ORACLE8 FOR NT 中还提共了新产品Web 发布助理（Web Publishing Assistant ORACLE），提供了一种在WORD WIDE WEB上发布数据库信息的简便，有效的方法。
6、对多平台的支持与开放性 网络结构往往含有多个平台，ORACLE8 可以运行于目前所有主流平台上，如 SUN Solarise， Sequent Dynix/PTX，Intel Nt，HP_UX，DEC_UNIX，IBM AIX 和 SP等。ORACLE8 的异构服务为同其它数据源以及使用SQL 和PL/SQL的服务进行通讯提供了必要的基础设施。ORACLE8 继续致力于对开放标准规范SQL3，JDBC，JSQL和CORBA 的支持。
ORACLE8和ORACLE8i在ORACLE8 的后来版本中不断作过多次的完善，出现 ORACLE 8.0.X 版本。然而1998年初发行(推出)的 ORACLE 8I 可以被看作是 ORACLE 8 的功能扩展集。 由于ORACLE 8I 比 ORACLE 8 提供了更多的功能，它除了共同的RDBMS功能外，还提供了许多与INTERNET 有关的能力，最重要的是它将 JAVA 集成为一种内部的数据语言，这种语言可充当或替代品，而且它还集成了一个WEB服务器和开发平台(Web DB )。对ORACLE 8.0.x 来说只到 ORACLE 8.0.5 版本就终止了，接着就推出了 ORACLE8i 8.1.5版本，ORACLE8i 8.1.5版本也经常被称为Release 1；而ORACLE8i 8.1.6版本被称为Release 2；ORACLE8i 8.1.7版本被称为Release 3。
ORACLE8i和ORACLE9i在正式进入21世纪前的2000年年底，ORACLE公司正式发布了ORACLE 9i新数据库系统。原先预料可能会有ORACLE 8i V8.1.8等版本，但ORACLE8i版本只推出8.1.7就被Oracle9i所代替。ORACLE公司和其它的软件公司一样，为了抢占市场，不再愿意在原来版本上再作更多的改进和优化工作，而是直接的推出新产品这样一种策略。ORACLE9i 与ORACLE8i 比较，ORACLE 9i 主要包括下面三大部分：
l 数据库核心（Database ） l 应用服务器（Application Server ） 
l 开发工具集（Developer Suite ） Oracle9i 主要焦点（Oracle9i Focus ）： 
l电子商务智能化（ E-Business Intelligence ）。
l 应用开发（ Applications Development ） 
l 应用主机（ Applications Hosting ）
l 门户与内容（ Portals and Content ）
l 电子商务连续性（ E-Business Continuity ） Oracle9i 为了结合 Internet 市场设计。
Oracle9i适合并胜任市场上所有的苛刻要求。
l Oracle9I实时应用（ Oracle9i Real Application）
l Oracle9I高可用性（Oracle9i High Availability） l Oracle9I 系统管理（ Oracle9i Systems Management ） l Oracle9I 安全（ Oracle9i Security）
Oracle9i 数据库服务（Oracle9i Database Services）：
l 商业智能与数据仓库（ Business Intelligence and Data Warehousing） 
l Oracle9I动态服务（ Oracle9i Dynamic Services）
lOracle9I JAVA 和XML(Oracle9i Java and XML)l 电子商务集成( E-Business Integration)
ORACLE OAS和ORACLE iAS目前的ORACLE公司的iAS 的早期版本是 ORACLE Web Server ，后来第4版改名为ORACLE APPLICATION SERVER ，2000年底前又改名为 ORACLE9i Internet Application Server(ORACLE iAS)。目前的iAS可以与ORACLE8i 或ORACLE9i 结合在一起的综合开发工具。为创建和部署任何基于网络的应用程序提供了一个完整的Internet 平台，iAS包括了门户、事务应用、商业智能工具、无线上网应用和企业集成等。 Oracle Internet Application Server 提供了行业中最全面的中间层产品，包括通信、表示、商业逻辑、数据缓存和系统服务等。
1.通信服务： 基于Apache 的ORACLE HTTP Server，主要包括下面模块： mod_jserv:将对servlet 的HTTP请求分发到Oracle iAS 的Servlet 引擎。 Mod_perl:将perl 程序的HTTP 请求分发到Apache Web Server 的Perl Interpreter。 Mod_ssl:提供基于SSL证书的公共密钥，它被用来在客户端和Apache Server 之间进行加密通信。 Mod_plsql:Oracle 专用模块，用来将HTTP请求传到数据库内的PL/SQL和Java存储过程。
2. 表示服务 提供下面方法进行内容表示： Oracle portal（Oracle 门户） Apache Jserver （Apache Java 服务器） Perl Interpreter( Perl 解释程序 ) Oracle JavaServer Pager(JSP) Oracle PL/SQL Server Pages(PSP) 
3.商业逻辑服务 可提供以下服务组件： Oracle8i JVM( Java 虚拟机) Oracle8i PL/SQL Java 商业组件(BC4J) Form Service Report Service Discoverer Viewer 
4.数据管理服务 Oracle 8i cache 
5.系统服务 Oracle Enterprise Manager(Oracle 企业管理器) Oracle Advanced Security (Oracle 高级安全性) Developer's KITS(开发工具),
包括：l Oracle database client developer's Kit l Oracle XML developer's Kit(XDK) l Oracle LDAP developer's Kit
ORACLE Application R11i
Oracle 公司除了提供完美的数据库系统外，也提供完整的解决方案的套件，即全套应用系统，通常称作 Oracle Application R11i。它是一全面集成的电子商务套件。它包括：
1．数据仓库平台 
Oracle 8i 企业级数据库服务器
Oracle Warehouse Builder(数据仓库构造器) 
2.商业智能工具集 
Oracle Discoverer
Oracle Express产品系列 
Oracle darwin 
3.Oracle 金融服务应用 l 绩效管理 l 客户关系管理l 风险管理
4.ORACLE财务系统基于Internet 的财务管理系统包括下面模块：
商业智能管理
预算管理
合并管理
现金预测管理
员工费用管理 
Oracle 财务分析系统
Oracle 项目管理系统
工作流程管理
预警系统。
ORACLE系统特点
对象/关系模型ORACLE8对于对象模型采取较为现实和谨慎的态度，使用了对象/关系模型，即在完全支持传统关系模型的基础上，为对象机制提供了有限的支持。ORACLE8不仅能够处理传统的表结构信息，而且能够管理由C++，Smalltalk 以及其它开发工具生成的多媒体数据类型，如文本，视频，图形，空间对向等。这种做法允许现有软件开发产品与工具软件及ORACLE8应用软件共存，保护了客户的投资。
数据库服务器系统的动态可伸缩性  ORACLE8引入了连接存储池(connection polling)和多路复用（multiplexing）机制，提供了对大型对象的支持。当需要支持一些特殊数据类型时，用户可以创建软件插件（catridge ）来实现。ORACLE8采用了高级网络技术，提高共享池和连接管理器来提高系统的可括性，容量可从几 GB 到 几百 TB 字节，可允许10万用户同时并行访问，ORACLE 的数据库中每个表可以容纳 1000列，能满足目前数据库及数据仓库应用的需要。 
ORACLE 公司称，ORACLE8可以支持达 512PB的数据量。但目前还未有哪一家用户的数据库的数据量达到这个数量。下面是几种常用数据量的等价关系： 
1MB = 1024 KB 
1GB = 1Gigabyte Byte = 1024 MB 
1TB = 1TeraByte = 1024 GB = 1024*1024MB 
1PB = 1PeraByte = 1024 TB = 1024 * 1024 * 1024 MB 
1EB = 1ExaByte = 1024 PB = 1024 * 1024 *1024 *1024 MB
系统的可用性和易用性ORACLE8提供了灵活多样的数据分区功能，一个分区可以是一个大型表，也可以是索引易于管理的小块，可以根据数据的取值分区。有效地提高了系统操作能力及数据可用性 ，减少I/O 瓶颈。ORACLE8还对并行处理进行了改进，在位图索引，查询，排序，连接和一般索引扫描等操作引入并行处理，提高了单个查询的并行度。ORACLE8通过并行服务器（Parallel Server Option ）来提高系统的可用性。
系统的可管理性和数据安全功能ORACLE8提供了自动备份和恢复功能，改进了对大规模和更加细化的分布式操作系统的支持，如加强了SQL 操作复制的并行性。为了帮助客户有效地管理整个数据库和应用系统，ORACLE还提供了企业管理系统（ORACLE Enterprise Manager），数据库管理员可以从一个集中控制台拖放式图形用户界面管理ORACLE的系统环境。 
ORACLE8通过安全服务器中提供的安全服务，加强了ORACLE Web Server 中原有的用户验证和用户管理。
面向网络计算ORACLE8i在 与JAVA VM 及 CORBA ORB 集成后，将成为NCA(网络计算机体结构)的核心部件。NCA是ORACLE 关于分布式对象与网络计算机的战略规划。ORACLE8 对NCA产生了巨大影响，简化了应用软件的化分，推动了瘦型客户机及Web 应用软件的发展。在ORACLE8 FOR NT 中还提共了新产品Web 发布助理（Web Publishing Assistant ORACLE），提供了一种在WORD WIDE WEB 上发布数据库信息的简便，有效的方法。
对多平台的支持与开放性网络结构往往含有多个平台，ORACLE8 可以运行于目前所有主流平台上，如 
SUN Solarise， Sequent Dynix/PTX，Intel Nt，HP_UX，DEC_UNIX，IBM AIX 和 SP等。ORACLE8 的异构服务为同其它数据源以及使用SQL 和PL/SQL的服务进行通讯提供了必要的基础设施。ORACLE8 继续致力于对开放标准规范SQL3，JDBC，JSQL和CORBA 的支持。
体系结构
ORACLE数据库系统为具有管理ORACLE数据库功能的计算机系统。每一个运行的ORACLE数据库与一个ORACLE实例（INSTANCE）相联系。一个ORACLE实例为存取和控制一数据库的软件机制。每一次在数据库服务器上启动一数据库时，称为系统全局区（SYSTEM GLOBAL AREA）的一内存区（简称SGA）被分配，有一个或多个ORACLE进程被启动。该SGA 和 ORACLE进程的结合称为一个ORACLE数据库实例。一个实例的SGA和进程为管理数据库数据、为该数据库一个或多个用户服务而工作。
在ORACLE系统中，首先是实例启动，然后由实例装配（MOUNT）一数据库。在松耦合系统中，在具有ORACLE PARALLEL SERVER 选项时，单个数据库可被多个实例装配，即多个实例共享同一物理数据库。
进程结构和内存结构
进程是操作系统中的一种机制，它可执行一系列的操作步。进程是由多个线程组成的。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。ORACLE进程的体系结构设计使性能最大。
ORACLE实例有两种类型：单进程实例和多进程实例。
单进程ORACLE（又称单用户ORACLE）是一种数据库系统，一个进程执行全部ORACLE代码。由于ORACLE部分和客户应用程序不能分别以进程执行，所以ORACLE的代码和用户的数据库应用是单个进程执行。
在单进程环境下的ORACLE 实例，仅允许一个用户可存取。例如在MS-DOS上运行ORACLE 。
多进程ORACLE实例（又称多用户ORACLE）使用多个进程来执行ORACLE的不同部分，对于每一个连接的用户都有一个进程。
在多进程系统中，进程分为两类：用户进程和ORACLE进程。当一用户运行一应用程序，如PRO*C程序或一个ORACLE工具（如SQL*PLUS），为用户运行的应用建立一个用户进程。ORACLE进程又分为两类：服务器进程和后台进程。服务器进程用于处理连接到该实例的用户进程的请求。当应用和ORACELE是在同一台机器上运行，而不再通过网络，一般将用户进程和它相应的服务器进程组合成单个的进程，可降低系统开销。然而，当应用和ORACLE运行在不同的机器上时，用户进程经过一个分离服务器进程与ORACLE通信。它可执行下列任务：
对应用所发出的SQL语句进行语法分析和执行。
从磁盘（数据文件）中读入必要的数据块到SGA的共享数据库缓冲区（该块不在缓冲区时），将结果返回给应用程序处理。
系统为了使性能最好和协调多个用户，在多进程系统中使用一些附加进程，称为后台进程。在许多操作系统中，后台进程是在实例启动时自动地建立。一个ORACLE实例可以有许多后台进程，后台进程的名字为：
DBWR 数据库写入程序
LGWR 日志写入程序
ARCH 归档
RECO 恢复 
LCKn 封锁 。