




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 47/47ORACLE系统概述ORACLE公司自86年推出版本5开始,系统具有分布数据库处理功能.88年推出版本6,ORACLE RDBMS(V6.0)可带事务处理选项(TPO),提高了事务处理的速度.1992年推出了版本7,在ORACLE RDBMS中可带过程数据库选项(procedural database option)和并行服务器选项(parallel server option),称为ORACLE7数据库管理系统,它释放了开放的关系型系统的真正潜力。ORACLE7的协同开发环境提供了新一代集成的软件生命周期开发环境,可用以实现高生产率、大型事务处理及客户/服务器结构的应用系统。协同
2、开发环境具有可移植性,支持多种数据来源、多种图形用户界面及多媒体、多民族语言、CASE等协同应用系统。ORACLE系系统ORACLE产产品结构及组组成 ORACLE系系统是由以RRDBMS为为核心的一批批软件产品构构成,其产品品结构轮廓下下图所示:ORACLE*REPORTORACLE*FORMSSQL*PLUS用户编制的程序SQL*CALCSQL*GRAPHICORACLE*REPORTORACLE*FORMSSQL*PLUS用户编制的程序SQL*CALCSQL*GRAPHIC程序接口程序接口(SQL执行程序)ORACLE内核ORACLE内核(RDBMS)操作系统操作系统数据字典DD数据字典
3、DD数据库DBORACLE系系统特点ORACLE公公司于19779年,首先推推出基于SQQL标准的关关系数据库产产品,可在1100多种硬硬件平台上运运行(所括微微机、工作站站、小型机、中中型机和大型型机),支持持很多种操作作系统。用户户的ORACCLE应用可可方便地从一一种计算机配配置移至另一一种计算机配配置上。ORRACLE的的分布式结构构可将数据和和应用驻留在在多台计算机机上,而相互互间的通信是是透明的。11992年66月ORACCLE公司推推出的ORAACLE7协协同服务器数数据库,使关关系数据库技技术迈上了新新台阶。根据据IDG(国国际数据集团团)19922年全球UNNIX数据库库市场
4、报告,OORACLEE占市场销售售量50%。它它之所以倍受受用户喜爱是是因为它有以以下突出的特特点:支持大数据库、多多用户的高性性能的事务处处理。ORAACLE支持持最大数据库库,其大小可可到几百千兆兆,可充分利利用硬件设备备。支持大量量用户同时在在同一数据上上执行各种数数据应用,并并使数据争用用最小,保证证数据一致性性。系统维护护具有高的性性能,ORAACLE每天天可连续244小时工作,正正常的系统操操作(后备或或个别计算机机系统故障)不不会中断数据据库的使用。可可控制数据库库数据的可用用性,可在数数据库级或在在子数据库级级上控制。ORACLE遵遵守数据存取取语言、操作作系统、用户户接口和网
5、络络通信协议的的工业标准。所所以它是一个个开放系统,保保护了用户的的投资。美国国标准化和技技术研究所(NNIST)对对ORACLLE7 SEERVER进进行检验,1100%地与与ANSI/ISO SSQL89标标准的二级相相兼容。实施安全性控制制和完整性控控制。ORAACLE为限限制各监控数数据存取提供供系统可靠的的安全性。OORACLEE实施数据完完整性,为可可接受的数据据指定标准。支持分布式数据据库和分布处处理。ORAACLE为了了充分利用计计算机系统和和网络,允许许将处理分为为数据库服务务器和客户应应用程序,所所有共享的数数据管理由数数据库管理系系统的计算机机处理,而运运行数据库应应用的
6、工作站站集中于解释释和显示数据据。通过网络络连接的计算算机环境,OORACLEE将存放在多多台计算机上上的数据组合合成一个逻辑辑数据库,可可被全部网络络用户存取。分分布式系统像像集中式数据据库一样具有有透明性和数数据一致性。具有可移植性、可可兼容性和可可连接性。由由于ORACCLE软件可可在许多不同同的操作系统统上运行,以以致ORACCLE上所开开发的应用可可移植到任何何操作系统,只只需很少修改改或不需修改改。ORACCLE软件同同工业标准相相兼容,包括括许多工业标标准的操作系系统,所开发发应用系统可可在任何操作作系统上运行行。可连接性性是指ORAALCE允许许不同类型的的计算机和操操作系统通
7、过过网络可共享享信息。ORACLE数数据库系统的的体系结构ORACLE数数据库系统为为具有管理OORACLEE数据库功能能的计算机系系统。每一个个运行的ORRACLE数数据库与一个个ORACLLE实例(IINSTANNCE)相联联系。一个OORACLEE实例为存取取和控制一数数据库的软件件机制。每一一次在数据库库服务器上启启动一数据库库时,称为系系统全局区(SSYSTEMM GLOBBAL ARREA)的一一内存区(简简称SGA)被被分配,有一一个或多个OORACLEE进程被启动动。该SGAA 和 ORRACLE进进程的结合称称为一个ORRACLE数数据库实例。一一个实例的SSGA和进程程为管
8、理数据据库数据、为为该数据库一一个或多个用用户服务而工工作。在ORACLEE系统中,首首先是实例启启动,然后由由实例装配(MMOUNT)一一数据库。在在松耦合系统统中,在具有有ORACLLE PARRALLELL SERVVER 选项项时,单个数数据库可被多多个实例装配配,即多个实实例共享同一一物理数据库库。ORACLE实实例的进程结结构和内存结结构进程结构进程是操作系统统中的一种机机制,它可执执行一系列的的操作步。在在有些操作系系统中使用作作业(JOBB)或任务(TAASK)的术术语。一个进进程通常有它它自己的专用用存储区。OORACLEE进程的体系系结构设计使使性能最大。ORACLE实实例
9、有两种类类型:单进程程实例和多进进程实例。单进程ORACCLE(又称称单用户ORRACLE)是是一种数据库库系统,一个个进程执行全全部ORACCLE代码。由由于ORACCLE部分和和客户应用程程序不能分别别以进程执行行,所以ORRACLE的的代码和用户户的数据库应应用是单个进进程执行。在单进程环境下下的ORACCLE 实例例,仅允许一一个用户可存存取。例如在在MS-DOOS上运行OORACLEE 。多进程ORACCLE实例(又又称多用户OORACLEE)使用多个个进程来执行行ORACLLE的不同部部分,对于每每一个连接的的用户都有一一个进程。在多进程系统中中,进程分为为两类:用户户进程和ORR
10、ACLE进进程。当一用用户运行一应应用程序,如如PRO*CC程序或一个个ORACLLE工具(如如SQL*PPLUS),为为用户运行的的应用建立一一个用户进程程。ORACCLE进程又又分为两类:服务器进程程和后台进程程。服务器进进程用于处理理连接到该实实例的用户进进程的请求。当当应用和ORRACELEE是在同一台台机器上运行行,而不再通通过网络,一一般将用户进进程和它相应应的服务器进进程组合成单单个的进程,可可降低系统开开销。然而,当当应用和ORRACLE运运行在不同的的机器上时,用用户进程经过过一个分离服服务器进程与与ORACLLE通信。它它可执行下列列任务:对应用所发出的的SQL语句句进行语
11、法分分析和执行。从磁盘(数据文文件)中读入入必要的数据据块到SGAA的共享数据据库缓冲区(该该块不在缓冲冲区时)。将结果返回给应应用程序处理理。系统为了使性能能最好和协调调多个用户,在在多进程系统统中使用一些些附加进程,称称为后台进程程。在许多操操作系统中,后后台进程是在在实例启动时时自动地建立立。一个ORRACLE实实例可以有许许多后台进程程,但它们不不是一直存在在。后台进程程的名字为:DBWR 数数据库写入程程序LGWR 日志志写入程序CKPT 检查查点SMON 系统统监控PMON 进进程监控ARCH 归档档RECO 恢复复LCKn 封锁锁Dnnn 调度度进程Snnn 服务务器每个后台进程
12、与与ORACLLE数据库的的不同部分交交互。下面对后台进程程的功能作简简单介绍:DBWR进程:该进程执行行将缓冲区写写入数据文件件,是负责缓缓冲存储区管管理的一个OORACLEE后台进程。当当缓冲区中的的一缓冲区被被修改,它被被标志为“弄脏”,DBWRR的主要任务务是将“弄脏”的缓冲区写写入磁盘,使使缓冲区保持持“干净”。由于缓冲冲存储区的缓缓冲区填入数数据库或被用用户进程弄脏脏,未用的缓缓冲区的数目目减少。当未未用的缓冲区区下降到很少少,以致用户户进程要从磁磁盘读入块到到内存存储区区时无法找到到未用的缓冲冲区时,DBBWR将管理理缓冲存储区区,使用户进进程总可得到到未用的缓冲冲区。ORACL
13、E采采用LRU(LLEAST RECENNTLY UUSED)算算法(最近最最少使用算法法)保持内存存中的数据块块是最近使用用的,使I/O最小。在在下列情况预预示DBWRR 要将弄脏脏的缓冲区写写入磁盘:当一个服务器进进程将一缓冲冲区移入“弄脏”表,该弄脏脏表达到临界界长度时,该该服务进程将将通知DBWWR进行写。该该临界长度是是为参数DBB-BLOCCK-WRIITE-BAATCH的值值的一半。当一个服务器进进程在LRUU表中查找DDB-BLOOCK-MAAX-SCAAN-CNTT缓冲区时,没没有查到未用用的缓冲区,它它停止查找并并通知DBWWR进行写。出现超时(每次次3秒),DDBWR 将
14、将通知本身。当出现检查点时时,LGWRR将通知DBBWR在前两种情况下下,DBWRR将弄脏表中中的块写入磁磁盘,每次可可写的块数由由初始化参数数DB-BLLOCK-WWRITE-BATCHH所指定。如如果弄脏表中中没有该参数数指定块数的的缓冲区,DDBWR从LLUR表中查查找另外一个个弄脏缓冲区区。如果DBWR在在三秒内未活活动,则出现现超时。在这这种情况下DDBWR对LLRU表查找找指定数目的的缓冲区,将将所找到任何何弄脏缓冲区区写入磁盘。每每当出现超时时,DBWRR查找一个新新的缓冲区组组。每次由DDBWR查找找的缓冲区的的数目是为寝寝化参数DBB-BLOCCK-WRIITE-BAATCH
15、的值值的二倍。如如果数据库空空运转,DBBWR最终将将全部缓冲区区存储区写入入磁盘。在出现检查点时时,LGWRR指定一修改改缓冲区表必必须写入到磁磁盘。DBWWR将指定的的缓冲区写入入磁盘。在有些平台上,一一个实例可有有多个DBWWR。在这样样的实例中,一一些块可写入入一磁盘,另另一些块可写写入其它磁盘盘。参数DBB-WRITTERS控制制DBWR进进程个数。LGWR进程:该进程将日日志缓冲区写写入磁盘上的的一个日志文文件,它是负负责管理日志志缓冲区的一一个ORACCLE后台进进程。LGWWR进程将自自上次写入磁磁盘以来的全全部日志项输输出,LGWWR输出:当用户进程提交交一事务时写写入一个提
16、交交记录。每三秒将日志缓缓冲区输出。当日志缓冲区的的1/3已满满时将日志缓缓冲区输出。当DBWR将修修改缓冲区写写入磁盘时则则将日志缓冲冲区输出。LGWR进程同同步地写入到到活动的镜象象在线日志文文件组。如果果组中一个文文件被删除或或不可用,LLGWR可继续地写写入该组的其其它文件。日志缓冲区是一一个循环缓冲冲区。当LGGWR将日志志缓冲区的日日志项写入日日志文件后,服服务器进程可可将新的日志志项写入到该该日志缓冲区区。LGWRR 通常写得得很快,可确确保日志缓冲冲区总有空间间可写入新的的日志项。注意:有时候当当需要更多的的日志缓冲区区时,LWGGR在一个事事务提交前就就将日志项写写出,而这些
17、些日志项仅当当在以后事务务提交后才永永久化。ORACLE使使用快速提交交机制,当用用户发出COOMMIT语语句时,一个个COMMIIT记录立即即放入日志缓缓冲区,但相相应的数据缓缓冲区改变是是被延迟,直直到在更有效效时才将它们们写入数据文文件。当一事事务提交时,被被赋给一个系系统修改号(SSCN),它它同事务日志志项一起记录录在日志中。由由于SCN记记录在日志中中,以致在并并行服务器选选项配置情况况下,恢复操操作可以同步步。CKPT进程:该进程在检检查点出现时时,对全部数数据文件的标标题进行修改改,指示该检检查点。在通通常的情况下下,该任务由由LGWR执执行。然而,如如果检查点明明显地降低系系
18、统性能时,可可使CKPTT进程运行,将将原来由LGGWR进程执执行的检查点点的工作分离离出来,由CCKPT进程程实现。对于于许多应用情情况,CKPPT进程是不不必要的。只只有当数据库库有许多数据据文件,LGGWR在检查查点时明显地地降低性能才才使CKPTT运行。CKKPT进程不不将块写入磁磁盘,该工作作是由DBWWR完成的。初始化参数CHHECKPOOINT-PPROCESSS控制CKKPT进程的的使能或使不不能。缺省时时为FALSSE,即为使使不能。SMON进程:该进程实例例启动时执行行实例恢复,还还负责清理不不再使用的临临时段。在具具有并行服务务器选项的环环境下,SMMON对有故故障CPU
19、或或实例进行实实例恢复。SSMON进程程有规律地被被呼醒,检查查是否需要,或或者其它进程程发现需要时时可以被调用用。PMON进程:该进程在用用户进程出现现故障时执行行进程恢复,负负责清理内存存储区和释放放该进程所使使用的资源。例例:它要重置置活动事务表表的状态,释释放封锁,将将该故障的进进程的ID从从活动进程表表中移去。PPMON还周周期地检查调调度进程(DDISPATTCHER)和和服务器进程程的状态,如如果已死,则则重新启动(不不包括有意删删除的进程)。PMON有规律律地被呼醒,检检查是否需要要,或者其它它进程发现需需要时可以被被调用。RECO进程:该进程是在在具有分布式式选项时所使使用的
20、一个进进程,自动地地解决在分布布式事务中的的故障。一个个结点RECCO后台进程程自动地连接接到包含有悬悬而未决的分分布式事务的的其它数据库库中,RECCO自动地解解决所有的悬悬而不决的事事务。任何相相应于已处理理的悬而不决决的事务的行行将从每一个个数据库的悬悬挂事务表中中删去。当一数据库服务务器的RECCO后台进程程试图建立同同一远程服务务器的通信,如如果远程服务务器是不可用用或者网络连连接不能建立立时,RECCO自动地在在一个时间间间隔之后再次次连接。RECO后台进进程仅当在允允许分布式事事务的系统中中出现,而且且DISTRRIBUTEED TRANNSACTIIONS参数数是大于0。ARC
21、H进程:该进程将已已填满的在线线日志文件拷拷贝到指定的的存储设备。当当日志是为AARCHIVVELOG使使用方式、并并可自动地归归档时ARCCH进程才存存在。LCKn进程:是在具有并并行服务器选选件环境下使使用,可多至至10个进程程(LCK00,LCK11,LCKK9),用于于实例间的封封锁。Dnnn进程(调调度进程):该进程允许许用户进程共共享有限的服服务器进程(SSERVERR PROCCESS)。没没有调度进程程时,每个用用户进程需要要一个专用服服务进程(DDEDICAATEDSEERVER PROCEESS)。对对于多线索服服务器(MUULTI-TTHREADDED SEERVER)可
22、可支持多个用用户进程。如如果在系统中中具有大量用用户,多线索索服务器可支支持大量用户户,尤其在客客户_服务器器环境中。在一个数据库实实例中可建立立多个调度进进程。对每种种网络协议至至少建立一个个调度进程。数数据库管理员员根据操作系系统中每个进进程可连接数数目的限制决决定启动的调调度程序的最最优数,在实实例运行时可可增加或删除除调度进程。多多线索服务器器需要SQLL*NET版版本2或更后后的版本。在在多线索服务务器的配置下下,一个网络络接收器进程程等待客户应应用连接请求求,并将每一一个发送到一一个调度进程程。如果不能能将客户应用用连接到一调调度进程时,网网络接收器进进程将启动一一个专用服务务器进
23、程。该该网络接收器器进程不是OORACLEE实例的组成成部分,它是是处理与ORRACLE有有关的网络进进程的组成部部分。在实例例启动时,该该网络接收器器被打开,为为用户连接到到ORACLLE建立一通通信路径,然然后每一个调调度进程把连连接请求的调调度进程的地地址给予于它它的接收器。当当一个用户进进程作连接请请求时,网络络接收器进程程分析请求并并决定该用户户是否可使用用一调度进程程。如果是,该该网络接收器器进程返回该该调度进程的的地址,之后后用户进程直直接连接到该该调度进程。有有些用户进程程不能调度进进程通信(如如果使用SQQL*NETT以前的版本本的用户),网网络接收器进进程不能将如如此用户连
24、接接到一调度进进程。在这种种情况下,网网络接收器建建立一个专用用服务器进程程,建立一种种合适的连接接。2)、ORACCLE内存结结构ORACLE在在内存存储下下列信息:执行的程序代码码。连接的会话信息息程序执行期间所所需数据和共共享的信息存储在外存储上上的缓冲信息息。ORACLE具具有下列基本本的内存结构构:软件代码区系统全局区,包包括数据库缓缓冲存储区、日日志缓冲区和和共享池.程序全局区,包包括栈区和数数据区.排序区软件代码区用于存储正在执执行的或可以以执行的程序序代码。软件区是只读,可可安装成共享享或非共享。OORACLEE系统程序是是可共享的,以以致多个ORRACLE用用户可存取它它,而
25、不需要要在内存有多多个副本。用用户程序可以以共享也可以以不共享。系统全局区为一组由ORAACLE分配配的共享的内内存结构,可可包含一个数数据库实例的的数据或控制制信息。如果果多个用户同同时连接到同同一实例时,在在实例的SGGA中数据可可为多个用户户所共享,所所以又称为共共享全局区。当当实例起动时时,SGA的的存储自动地地被分配;当当实例关闭时时,该存储被被回收。所有有连接到多进进程数据库实实例的全部用用户可自动地地被分配;当当实例关闭时时,该存储被被回收。所有有连接到多进进程数据库实实例的全部用用户可使用其其SGA中的的信息,但仅仅仅有几个进进程可写入信信息。在SGGA中存储信信息将内存划划分
26、成几个区区:数据库缓缓冲存储区、日日志缓冲区、共共享池、请求求和响应队列列、数据字典典存储区和其其它各种信息息。程序全局区PGA是一个内内存区,包含含单个进程的的数据和控制制信息,所以以又称为进程程全局区(PPROCESSS GLOOBAL AAREA)。排序区排序需要内存空空间,ORAACLE利用用该内存排序序数据,这部部分空间称为为排序区。排排序区存在于于请求排序的的用户进程的的内存中,该该空间的大小小为适就排序序数据量的大大小,可增长长,但受初始始化参数SOORT-ARREA-SIIZER所限限制。ORACLE的的配置方案所有连接到ORRACLE的的用户必须执执行两个代码码模块可存取取一
27、个ORAACLE数据据库实例:应用或ORACCLE工具:一数据库用用户执行一数数据库应用或或一个ORAACLE工具具,可向ORRACLE数数据库发出SSQL语句。ORACLE服服务器程序:负责解释和和处理应用中中的SQL语语句。在多进程实例中中,连接用户户的代码可按按下列三种方方案之一配置置:对于每一个用户户,其数据库库应用程序和和服务器程序序组合成单个个用户进程对于每一个用户户,其数据库库应用是由用用户进程所运运行,并有一一个专用服务务器进程。执执行ORACCLE服务器器的代码。这这样的配置称称为专用服务务器体系结构构执行数据库应用用的进程不同同于执行ORRACLE服服务器代码的的进程,而且
28、且每一个服务务器进程(执执行ORACCLE服务器器代码)可服服务于多个用用户进程,这这样的配置称称为多线索服服务器体系结结构。USER/SEERVER进进程相结合的的结构在这种配置下,数数据库应用和和ORACLLE服务器程程序是在同一一个进程中运运行,该进程程称为用户进进程。这种ORACLLE配置有时时称为单任务务ORACLLE(sinngle_ttask OORACLEE),该配置置适用于这样样的操作系统统,它可在同同一进程中的的数据库应用用和ORACCLE代码之之间维护一个个隔离,该隔隔离是为数据据安全性和完完整性所需。其其中程序接口口(proggram iinterfface)是是负责O
29、RAACLE服务务器代码的隔隔离和保护,在在数据库应用用和ORACCLE用户程程序之间传送送数据。使用专用服务器器进程的系统统结构使用专用服务器器进程的ORRACLE系系统在两台计计算机上运行行。在这种系系统中,在一一计算机上用用户进程执行行数据库应用用,而在另一一台计算机上上的服务器进进程执行相应应的ORACCLE服务器器代码,这两两个进程是分分离的。为每每个用户进程程建立的不同同的服务器进进程称为专用用服务器进程程,因为该服服务器进程仅仅对相连的用用户进程起作作用。这种配配置又称为两两任务ORAACLE。每每一个连接到到ORACLLE的用户进进程有一个相相应的专用服服务进程。这这种系统结构
30、构允许客户应应用是有工作作站上执行,通通过网络与运运行ORACCLE的计算算机通信。当当客户应用和和ORACLLE服务器代代码是在同一一台计算机上上执行时,这这种结构也可可用。多线索服务器的的系统结构多线索服务器配配置允许许多多用户进程共共享很少服务务器进程。在在没有多线索索服务器的配配置中,每一一个用户进程程需要自己的的专用服务器器进程。在具具有多线索服服务器的配置置中,许多用用户进程连接接到调度进程程,由调度进进程将客户请请求发送到一一个共享服务务器进程。多多线索服务器器配置的优点点是降低系统统开销,增加加用户个数。该系统中需要下下列类型的进进程:网络接收器进程程,将用户进进程连接到调调度
31、进程和专专用服务器进进程。一个或多个调度度进程一个或多个共享享服务器进程程其中网络接收器器进程等待新新来的连接请请求,决定每每一用户进程程能否用共享享服务器进程程。如果可以以使用,接收收器进程将一一调度进程的的地址返回给给用户进程。如如果用户进程程请求一专用用服务器,该该接收器进程程将建立一个个专用服务器器进程,将用用户进程连接接到该专用服服务器进程。对对于数据库客客户机所使用用的每种网络络协议至少配配置一个调度度进程,并启启动它。当用户作一次调调用时,调度度进程将请求求放置在SGGA的请求队队列中,由可可用的共享服服务器进程获获取。共享服服务器进程为为完成每一个个用户进程的的请求作所有有必要
32、的数据据库调用。当当服务器完成成请求时,将将结果返回到到调度进程的的队列,然后后由调度进程程将完成的请请求返回给用用户进程。共享服务器进程程:除共享服服务器进程不不是连接指定定的用户进程程外,共享服服务器进程和和专用服务器器进程提供相相同的功能,一一个共享服务务器进程在多多线索服务器器的配置中可可为任何客户户请求服务。一一个共享服务务器进程的SSGA不包含含有与用户相相关的数据,其其信息可为所所有共享服务务器进程存取取,它仅包含含栈空间、进进程指定变量量。所有与会会话有关的信信息是包含有有SGA中。每每一个共享服服务器进程可可存取全部会会话的数据空空间,以致任任何服务进程程可处理任何何会话的请
33、求求。对于每一一个会话的数数据空间是在在SGA中分分配空间。ORACLE根根据请求队列列的长度可动动态地调整共共享服务器进进程。可建立立的共享服务务器进程将请请求放到请求求队列。一个个用户请求是是对数据库的的一次程序接接口调用,为为SQL语句句。在SGAA中请求队列列对实例的全全部调度进程程是公用的。服服务器进程为为新请求检查查公用请求队队列,按先进进先出的原则则从队列检出出一个请求,然然后为完成该该请求对数据据库作必要的的调用。共享享服务器进程程将响应放在在调度进程的的响应队列。每每一个调度进进程在SGAA中有自己的的响应队列,每每个调度进程程负责将完成成的请求回送送给相应的用用户进程。3.
34、ORACLLE运行使用专用服务进进程的ORAACLE的运运行在这种配置下,OORACLEE运行过程如如下:数据库服务器计计算机当前正正在运行ORRACLE(后后台进程)。在一客户工作站站运行一个数数据库应用(为为用户进程),如如SQL*PPLUS。客客户应用使用用SQL*NNET DRRIVER建建立对服务器器的连接。数据库服务器计计算机当前正正运行合适的的SQL*NNET DRRIVER,该该机上接收器器进程检出客客户数据库应应用的连接请请求,并在该该机上为用户户进程建立专专用服务器进进程。用户发出单个SSQL语句。专用服务器进程程接收该语句句,在此处有有两种方法处处理SQL语语句:如果在共
35、享池一一共享SQLL区中包含有有相同SQLL语句时,该该服务器进程程可利用已存存在的共享SSQL区执行行客户的SQQL语句。如果在共享池中中没有一个SSQL区包含含有相同的SSQL语句时时,在共享池池中为该语句句分配一新的的共享SQLL区。在每一种情况,在在会话的PGGA中建立一一个专用SQQL区,专用用服务器进程程检查用户对对查询数据的的存取权限。(6) 如果需需要,服务器器进程从数据据文件中检索索数据块,或或者可使用已已存储在实例例SGA中的的缓冲存储区区的数据块。(7) 服务器器进程执行存存储在共享SSQL区中的的SQL语句句。数据首先先在SGA中中修改,由DDBWR进程程在最有效时时将
36、它写入磁磁盘。LGWWR进程在在在线日志文件件中记录用户户提交请求的的事务。(8)如果请求求成功,服务务器将通过网网络发送一信信息。如果请请求不成功,将将发送相应的的错误信息。(9)在整个过过程中,其它它的后台进程程是运行的,同同时注意需要要干预的条件件。另外,OORACLEE管理其它事事务,防止不不同事务之间间请求同一数数据的竞争。2) 使使用多线索服服务器的ORRACLE的的运行在这种配置下,OORACLEE运行过程如如下:一数据库服务器器计算机运行行使用多线索索服务器配置置的ORACCLE。在一客户工作站站运行一数据据库应用(在在一用户进程程中)。客户户应用合适的的SQL*NNET驱动器
37、器试图建立到到数据库服务务器计算机的的连接。数据库服务器计计算机当前运运行合适的SSQL*NEET驱动器,它它的网络接收收器进程检出出用户进程的的连接请求,并并决定用户进进程如何连接接。如果用户户是使用SQQL*NETT版本2,该该网络接收器器通知用户进进程使用一个个可用的调度度进程的地址址重新连接。用户发出单个SSQL语句调度进程将用户户进程的请求求放入请求队队列,该队列列位于SGAA中,可为所所有调度进程程共享。一个可用共享服服务器检验公公用调度进程程请求队列,并并从队列中检检出下一个SSQL语句。然然后处理该SSQL语句,同同前一(5),(66)和(7)。注注意:会话的的专用SQLL区是
38、建立在在SGA中。一当共享服务器器进程完成SSQL处理,该该进程将结果果放置发入该该请求的调度度进程的响应应队列。调度进程检查它它的响应队列列,并将完成成的请求送回回请求的用户户进程。4.数据库结构构和空间管理理一个ORACLLE数据库是是数据的集合合,被处理成成一个单位。一一个ORACCLE数据库库有一个物理理结构和一个个逻辑结构。物理数据库结构构(physsical databbase sstructture)是是由构成数据据库的操作系系统文件所决决定。每一个个ORACLLE数据库是是由三种类型型的文件组成成:数据文件件、日志文件件和控制文件件。数据库的的文件为数据据库信息提供供真正的物理
39、理存储。逻辑数据库结构构是用户所涉涉及的数据库库结构。一个个ORACLLE数据库的的逻辑结构由由下列因素决决定:一个或多个表空空间数据库模式对象象(即表、视视图、索引、聚聚集、序列、存存储过程)逻辑存储结构如如表空间(ddatasppace)、段段(segmment)和和范围将支配配一个数据库库的物理空间间如何使用。模模式对象(sschemaa objeect)用它它们之间的联联系组成了一一个数据库的的关系设计。物理结构数据文件每一个ORACCLE数据库库有一个或多多个物理的数数据文件(ddata ffile)。一一个数据库的的数据文件包包含全部数据据库数据。逻逻辑数据库结结构(如表、索引引)
40、的数据物理理地存储在数数据库的数据据文件中。数数据文件有下下列特征:一个数据文件仅仅与一个数据据库联系。一旦建立,数据据文件不能改改变大小一个表空间(数数据库存储的的逻辑单位)由由一个或多个个数据文件组组成。 数据据文件中的数数据在需要时时可以读取并并存储在ORRACLE内内存储区中。例例如:用户要要存取数据库库一表的某些些数据,如果果请求信息不不在数据库的的内存存储区区内,则从相相应的数据文文件中读取并并存储在内存存。当修改和和插入新数据据时,不必立立刻写入数据据文件。为了了减少磁盘输输出的总数,提提高性能,数数据存储在内内存,然后由由ORACLLE后台进程程DBWR决决定如何将其其写入到相
41、应应的数据文件件。日志文件每一个数据库有有两个或多个个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。日志文件主要是是保护数据库库以防止故障障。为了防止止日志文件本本身的故障,OORACLEE允许镜象日日志(mirrroredd redoo log),以致可在在不同磁盘上上维护两个或或多个日志副副本。日志文件中的信信息仅在系统统故障或介质质故障恢复数数据库时使用用,这些故障障阻止将数
42、据据库数据写入入到数据库的的数据文件。然然而任何丢失失的数据在下下一次数据库库打开时,OORACLEE自动地应用用日志文件中中的信息来恢恢复数据库数数据文件。控制文件每一ORACLLE数据库有有一个控制文文件(conntrol file),它记录数数据库的物理理结构,包含含下列信息类类型:数据库名;数据库数据文件件和日志文件件的名字和位位置;数据库建立日期期。为了安全起见,允允许控制文件件被镜象。每一次ORACCLE数据库库的实例启动动时,它的控控制文件用于于标识数据库库和日志文件件,当着手数数据库操作时时它们必须被被打开。当数数据库的物理理组成更改时时,ORACCLE自动更更改该数据库库的控
43、制文件件。数据恢复复时,也要使使用控制文件件。逻辑结构数据库逻辑结构构包含表空间间、段、范围围(exteent)、数数据块和模式式对象。表空间一个数据库划分分为一个或多多个逻辑单位位,该逻辑单单位称为表空空间(TABBLESPAACE)。一一个表空间可可将相关的逻逻辑结构组合合在一起。DDBA可利用用表空间作下下列工作:控制数据库数据据的磁盘分配配。将确定的空间份份额分配给数数据库用户。通过使单个表空空间在线或离离线,控制数数据的可用性性。执行部分数据库库后备或恢复复操作。为提高性能,跨跨越设备分配配数据存储。数据库、表空间间和数据文件件之间的关系系如下图所示示: Dataabase SYST
44、EM DATA Tablespace Tablespace SYSTEM DATA Tablespace Tablespace DTATAAFILE11 (2MB) DATAAFILE22 (2MB) DAATAFILLE3 (22MB) Driiver1 DDriverr2。每个数据库可可逻辑划分为为一个或多个个表空间。每一个表空间间是由一个或或多个数据文文件组成,该该表空间物理理地存储表空空间中全部逻逻辑结构的数数据。DBAA可以建立新新的表空间,可可为表空间增增加数据文件件或可删除数数据文件,设设置或更改缺缺省的段存储储位置。每一个ORACCLE数据库库包含有一个个名为SYSSTEM的表
45、表空间,在数数据库建立是是自动建立。在在该表空间中中总包含有整整个数据库的的数据字典表表。最小的数数据库可只需需要SYSTTEM表空间间。该表空间间必须总是在在线。表和存存储的PL/SQL程序序单元(过程程、函数、包包和触发器)的的全部存储数数据是存储在在SYSTEEM表空间中中。如果这些些PL/SQQL对象是为为数据库建的的,DBA在在SYSTEEM表空间中中需要规划这这些对象所需需要的空间。表空间利用增加加数据文件扩扩大表空间,表表空间的大小小为组成该表表空间的数据据文件大小的的和。DBA可以使OORACLEE数据库中任任何表空间(除除SYSTEEM表空间外外)在线(OONLINEE)或离
46、线(OOFFLINNE)。表空空间通常是在在线,以致它它所包含的数数据对数据库库用户是可用用的。当表空空间为离线时时,其数据不不可使用。在在下列情况下下,DBA可可以使其离线线。使部分数据不不可用,而剩剩余的部分允允许正常存取取。执行离线的表表空间后备。为了修改或维维护一应用,使使它和它的一一组表临时不不可用。包含有正在活动动的回滚段的的表空间不能能被离线,仅仅当回滚段不不正在使用时时,该表空间间才可离线。在数据字典中记记录表空间的的状态,在线线还是离线。如如果在数据库库关闭时一表表空间为离线线,那么在下下次数据库装装配和重新打打开后,它仍仍然保持离线线。当出现某些错误误时,一个表表空间可自动
47、动地由在线改改变为离线。通通过使用多个个表空间,将将不同类型的的数据分开,更更方便DBAA来管理数据据库。ORACLE数数据库中一表表空间是由一一个或多个物物理数据文件件组成,一个个数据文件只只可与一个表表空间想联系系。当为一表表空间建立一一数据文件时时,ORACCLE建立该该文件,分配配指定的磁盘盘空间容量。在在数据文件初初时建立后,所所分配的磁盘盘不包含任何何数据。表空空间可以在线线或离线。在在ORACLLE中还允许许单独数据文文件在线或离离线。段、范围和数据据块ORACLE通通过段、范围围和数据块逻逻辑数据结构构可更细地控控制磁盘空间间的使用。段段(SEGMEENT)包含含表空间中一一种
48、指定类型型的逻辑存储储结构,是由由一组范围组组成。在ORRACLE数数据库中有几几种类型的段段:数据段、牵牵引段、回滚滚段和临时段段。数据段:对于每每一个非聚集集的表有一数数据段,表的的所有数据存存放在该段。每每一聚集有一一个数据段,聚聚集中每一个个表的数据存存储在该段中中。索引段:每一个个索引有一索索引段,存储储索引数据。回滚段:是由DDBA建立,用用于临时存储储要撤消的信信息,这些信信息用于生成成读一致性数数据库信息、在在数据库恢复复时使用、回回滚未提交的的事务。临时段:当一个个SQL语句句需要临时工工作区时,由由ORACLLE建立。当当语句执行完完毕,临时段段的范围退回回给系统。ORAC
49、LE对对所有段的空空间分配,以以范围为单位位。范围一个范围(EXXTENT)是是数据库存储储空间分配的的一个逻辑单单位,它由连连续数据块所所组成。每一一个段是由一一个或多个范范围组成。当当一段中间所所有空间已完完全使用时,OORACLEE为该段分配配一个新的范范围。为了维护的目的的,在数据库库的每一段含含有段标题块块(segmment hheaderr blocck)说明段段的特征以及及该段中的范范围目录。数据块数据块(datta bloock)是OORACLEE管理数据文文件中存储空空间的单位,为为数据库使用用的I/O的的最小单位,其其大小可不同同于操作系统统的标准I/O块大小。数据块的格式
50、:公用的变长标题题表目录行目录未用空间行数据模式和模式对象象一个模式(scchema)为模式对象象(scehhma obbject)的一个集合合,每一个数数据库用户对对应一个模式式。模式对象象为直接引用用数据库数据据的逻辑结构构,模式对象象包含如表、视视图、索引、聚聚集、序列、同同义词、数据据库链、过程程和包等结构构。模式对象象是逻辑数据据存储结构,每每一种模式对对象在磁盘上上没有一个相相应文件存储储其信息。一一个模式对象象逻辑地存储储在数据库的的一个表空间间中,每一个个对象的数据据物理地包含含在表空间的的一个或多个个数据文件中中。表表(tablee)为数据库库中数据存储储的基本单位位,其数据
51、按按行、列存储储。每个表具具有一表名和和列的集合。每每一列有一个个列名、数据据类型、宽度度或精度、比比例。一行是是对应单个记记录的列信息息的集合。视图一个视图(viiew)是由由一个或多个个表(或其他他视图)中的的数据的一种种定制的表示示,是用一个个查询定义,所所以可认为是是一个存储的的查询(sttored queryy)或是一个个虚表(viirtuall tablle)。视图图可在使用表表的许多地方方使用。由于视图是由表表导出的,视视图和表存在在许多类似,视视图象表最多多可定义2554列。视图图可以被查询询,而在修改改、插入或删删除时具有一一定的限制,在在视图上执行行的全部操作作真正地影响响
52、视图的基本本表中的数据据,受到基本本表的完整性性约束和触发发器的限制。视图与表不同,一一个视图不分分配任何存储储空间,视图图不真正地包包含数据。由由查询定义的的视图相应于于视图引用表表中的数据。视视图只在数据据字典中存储储其定义。引入视图有下列列好处:。通过限制对表表的行预定义义集合的存取取,为表提供供附加的安全全性。隐藏数据复杂杂性。为用户简化命命令。为基本表的数数据提供另一一种观点。可将应用隔离离基本表定义义的修改。用于不用视图图无法表示的的查询。可用于保存复复杂查询。聚集聚集(clusster)是是存储表数据据的可选择的的方法。一个个聚集是一组组表,将具有有同一公共列列值的行存储储在一起
53、,并并且它们经常常一起使用。这这些公共列构构成聚集码。例例如:EMPP表各DEPPT表共享DDEPTNOO列,所以EEMP表和DDEPT表可可聚集在一起起,聚集码的的列为DEPPTNO列,该该聚集将每个个部门的全部部职工行各该该部门的行物物理地存储在在同一数据块块中。索引索引(indeex)是与表表和聚集相关关的一种选择择结构。索引引是为提高数数据检索的性性能而建立,利利用它可快速速地确定指定定的信息。OORACLEE索引为表数数据提供快速速存取路径。索索引适用于一一范围的行查查询或指定行行的查询。索引可建立在一一表的一列或或多列上,一一旦建立,由由ORACLLE自动维护护和使用,对对用户是完
54、全全透明的。索索引是逻辑地地和物理地独独立于数据,它它们的建立或或删除对表没没有影响,应应用可继续处处理。索引数数据的检索性性能几乎保持持常数,而当当一表上存在在许多索引时时,修改、删删除和插入操操作的性能会会下降。索引有唯一索引引各非唯一索索引。唯一索索引保证表中中没有两行在在定义索引的的列上具有重重复值。ORRACLE在在唯一码上自自动地定义唯唯一索引实施施UNIQUUE完整性约约束。组合索引是在表表的某个列上上所建立的一一索引。组全全索引可加快快SELECCT语句的检检索速度,在在其WHERRE子句中可可引用组合索索引的全部或或主要部分 。所以在定定义中给出列列的次序,将将经常存取的的或
55、选择最多多的列放在首首位。在建立索引时,将将在表空间自自动地建立一一索引段,索索引段空间分分配和保留空空间的使用受受下列方式控控制:索引段范围的分分配常驻该索索引段的存储储参数控制。其数据块中未用用空间可受该该段的PCTTFREE参参数设置所控控制。序列生成器序列生成器(ssequennce geenerattor)产生生序列号。在在多用户环境境下该序列生生成器特别有有用,可生成成各返回序列列号而不需要要磁盘I/OO或事务封锁锁。序列号为ORAACLE整数数,最多可有有38个数字字。一个序列列定义指出一一般信息:序序列的名字、上上升或下降、序序列号之间间间距和其它信信息。对所有有序列的确的的定
56、义以行存存储在SYSSTEM表空空间中的数据据字典表中,所所以所有序列列定义总是可可用。由引用用序列号的SSQL语句使使用序列号,可可生成一个新新的序列号或或使用当前序序列号。一旦旦在用户会话话中的SQLL语句生成一一序列号,该该序列号仅为为该会话可用用。序列号生生成是独立于于表,所以同同一序列生成成器可用于一一个和多个表表。所生成序序列号可用于于生成唯一的的主码。同义词一个同义词(ssynonyym)为任何何表、视图、快快照、序列、过过程、函数或或包的别名,其其定义存储在在数据字典中中。同义词因因安全性和方方便原因而经经常使用,可可用于:可屏蔽对象的名名字及其持有有者。为分布式数据库库的远程
57、对象象提供位置透透明性。为用户简化SQQL语句。有两种同义词:公用和专用用。一个公用用同义词为命命名为PUBBLIC特殊殊用户组所持持有,可为数数据库中每一一个用户所存存取。一个专专用同义词是是包含在指定定用户的模式式中,仅为该该用户和授权权的用户所使使用。杂凑杂凑(hashhing)是是存储表数据据一种可选择择的方法,用用以改进数据据检索的性能能。要使用杂杂凑,就要建建立杂凑聚集集,将表装入入到该聚集。在在骠凑聚集中中的表行根据据杂凑函数的的结果进行物物理学存储和和检索。杂凑凑函数用于生生成一个数值值的分布,该该数值称为杂杂凑值,它是是基于指定的的聚集码值。程序单元程序单元(prrogram
58、m unitt)是指存储储过程、函数数和包(PAACKAGEE)。一个过过程和函数,是是由SQL语语句和PL/SQL语句句组合在一起起,为执行某某一个任务的的一个可执行行单位。一个个过程或函数数可被建立,在在数据库中存存储其编译形形式,可由用用户或数据库库应用所执行行。过程和函函数差别在函函数总返回单单个值给调用用者,而过程程没有值返回回给调用者。包提供相关的过过程、函数、变变量和其它包包结构封装起起来并存贮在在一起的一种种方法,允许许管理者和应应用开发者利利用该方法组组织如此的程程序(rouutine),来提供更多多的功能和提提高性能。数据库链数据库链是一个个命名的对象象,说明从一一数据库到
59、另另一数据库的的一路径(PPATH)。在在分布式数据据库中,对全全局对象名引引用时,数据据库链隐式地地使用。三、数据库和实实例的启动和和关闭一个ORACLLE数据库没没有必要对所所有用户总是是可用,数据据库管理员可可启动数据库库,以致它被被打开。在数数据库打开情情况下,用户户可存取数据据库中的信息息。当数据库库不使用时,DDBA可关闭闭它,关闭后后的数据库,用用户不能存取取其信息。数据库的启动和和关闭是非常常重要的管理理功能,通过过以INTEERNAL连连接到ORAACLE的能能力来保护。以以INTERRNAL 连连接到ORAACLE需要要有下列先决决条件:该用户的操作系系统账号具有有使用IN
60、TTERNALL连接的操作作系统特权。对INTERNNAL数据库库有一口令,该该用户知道其其口令。另外:当用户以以INTERRNAL连接接时,可连接接到专用服务务器,而且是是安全连接。数据库启动 启动动数据库并使使它可用有三三步操作:启动一个实例;装配数据库打开数据库启动一个实例启动一实例的处处理包含分配配一个SGAA(数据库信信息使用的内内存共享区)和和后台进程的的建立。实例例起动的执行行先于该实例例装配一数据据库。如果仅仅启动实例,则则没有数据库库与内存储结结构和进程相相联系。装配一数据库装配数据库是将将一数据库与与已启动的实实例相联。当当实例安装一一数据库之后后,该数据库库保持关闭,仅仅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025茶叶销售代理合同样本
- 八下语文知识点经典常谈要点
- 《实训公共关系学:互动与实践》课件
- 《南京河西策略提报》课件
- 《中国的行政区划解析》课件
- 《探索故宫博物馆》课件
- 教育部新版人教版一年级道德与法治上册第七课《课间十分钟》教学设计市级公开课教案
- 《医学影像学总论》课件
- 北师大版九年级上册1 用树状图或表格求概率表格教学设计
- 三明医学科技职业学院《IP路由与交换技术》2023-2024学年第二学期期末试卷
- 2025年财务管理考试题目分析试题及答案
- 镀银镜子原片行业直播电商战略研究报告
- 统编版2024-2025学年语文三年级下册 期中测试题(含答案)
- 2025-2030中国流量仪表市场产销规模及企业经营发展分析研究报告
- 浙江省嘉兴市2025届高三下学期4月二模试题 地理 含解析
- 农行反洗钱与制裁合规知识竞赛考试题库大全-上下
- 2025年杭州市高三英语4月二模质检考试卷附答案解析
- 养老院安全知识培训课件
- 基础教育教学研究项目结项鉴定审批书
- 中小学生心理健康教育课件
- 2025年03月北京住房公积金管理中心(北京市住房资金管理中心)公开招聘8人笔试历年参考题库考点剖析附解题思路及答案详解
评论
0/150
提交评论