ORACLE公司自86年推出版本5开始,系统具有分布数据库处理功用.88年推出版本6,ORACLE RDBMS(V6.0)可带事务处理选项(TPO),提高了事务处理的速度.1992年推出了版本7,在ORACLE RDBMS中可带过程数据库选项(procedural database option)和并行服务器选项(parallel server option),称为ORACLE7数据库管理系统,它释放了开放的关系型系统的真正潜力。ORACLE7的协同开发环境提供了新一代集成的软件生命周期开发环境,可用以实现高生产率、大型事务处理及客户/服务器结构的使用系统。协同开发环境具有可移植性,支持多种数据来源、多种图形用户界面及多媒体、多民族言语、CASE等协同使用系统。
一、ORACLE系统
1.ORACLE产品结构及组成
ORACLE系统是由以RDBMS为核心的一批软件产品构成.
2.ORACLE系统特点
ORACLE公司于1979年,首先推出基于SQL标准的关系数据库产品,可在100多种硬件平台上运转(所括微机、任务站、小型机、中型机和大型机),支持很多种操作系统。用户的ORACLE使用可方便地从一种计算机配置移至另一种计算机配置上。ORACLE的分布式结构可将数据和使用驻留在多台计算机上,而互相间的通信是通明的。1992年6月ORACLE公司推出的ORACLE7协同服务器数据库,使关系数据库技术迈上了新台阶。依据IDG(国际数据集团)1992年全球UNIX数据库市场报告,ORACLE占市场销售量50%。它之所以倍受用户喜爱是由于它有以下突出的特点:
支持大数据库、多用户的高功用的事务处理。ORACLE支持最大数据库,其大小可到几百千兆,可充分利用硬件设备。支持大量用户同时在同一数据上执行各种数据使用,并使数据争用最小,保证数据分歧性。系统维护具有高的功用,ORACLE每天可连续24小时任务,正常的系统操作(后备或一般计算机系统毛病)不会中缀数据库的使用。可控制数据库数据的可用性,可在数据库级或在子数据库级上控制。
ORACLE恪守数据存取言语、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统,保护了用户的投资。美国标准化和技术研讨所(NIST)对ORACLE7 SERVER进行检验,100%地与ANSI/ISO SQL89标准的二级相兼容。
实施安全性控制和完整性控制。ORACLE为限制各监控数据存取提供系统可靠的安全性。ORACLE实施数据完整性,为可接受的数据指定标准。
支持分布式数据库和分布处理。ORACLE为了充分利用计算机系统和网络,允许将处理分为数据库服务器和客户使用程序,所有共享的数据管理由数据库管理系统的计算机处理,而运转数据库使用的任务站集中于解释和显示数据。通过网络连接的计算机环境,ORACLE将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样具有通明性和数据分歧性。
具有可移植性、可兼容性和可连接性。由于ORACLE软件可在许多不同的操作系统上运转,致使ORACLE上所开发的使用可移植到任何操作系统,只需很少修正或不需修正。ORACLE软件同工业标准相兼容,包括许多工业标准的操作系统,所开发使用系统可在任何操作系统上运转。可连接性是指ORALCE允许不同类型的计算机和操作系统通过网络可共享信息。
二、ORACLE数据库系统的体系结构
ORACLE数据库系统为具有管理ORACLE数据库功用的计算机系统。每一个运转的ORACLE数据库与一个ORACLE实例(INSTANCE)相联系。一个ORACLE实例为存取和控制一数据库的软件机制。每一次在数据库服务器上启动一数据库时,称为系统全局区(SYSTEM GLOBAL AREA)的一内存区(简称SGA)被分配,有一个或多个ORACLE进程被启动。该SGA 和 ORACLE进程的结合称为一个ORACLE数据库实例。一个实例的SGA和进程为管理数据库数据、为该数据库一个或多个用户服务而任务。
在ORACLE系统中,首先是实例启动,然后由实例拆卸(MOUNT)一数据库。在松耦合系统中,在具有ORACLE PARALLEL SERVER 选项时,单个数据库可被多个实例拆卸,即多个实例共享同一物理数据库。
ORACLE实例的进程结构和内存结构
进程结构
进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(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 日志写入程序
&nb