Oracle9i数据库体系结构_第1页
Oracle9i数据库体系结构_第2页
Oracle9i数据库体系结构_第3页
Oracle9i数据库体系结构_第4页
Oracle9i数据库体系结构_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle9i数据库体系结构1E_mail:Oracle9i数据库体体系结构构2E_mail:Oracle9i物理结构 3E_mail:SGA(System GlobalArea)Background ProcessesServersUsersData FilesRedo LogFilesControl FilesParameterFileServerParameter File4E_mail:日志文件件(RedoLog Files)Redo Log文件记录录对于数数据库的的所有修修改,用用于数据据库的恢恢复如果对于于日志文文件进行行镜像,则相同同的Redo Log信息被写写入多个个联机的的

2、Redo Log文件中Oracle运运行NOARCHIVELOG时只有历历史日志志,没有有归档日日志5E_mail:日志文件件(RedoLog Files)每个Oracle数据库至至少有两两个Redo Log日志文件件组,每每组有一一个或多多个日志志文件建议对Redo Log文件进行行镜像,以保证证数据库库安全运运行建议使用用四个Redo Log文件组,每组2或3个日志文文件组内Redo Log文件位于于不同磁磁盘Redo Log文件是循循环使用用的6E_mail:ServersUsersData FilesRedo LogFilesDatabaseBuffer CacheSharedPool

3、Redo LogBufferSGA(System GlobalArea)DBWRARCHLGWR日志产生生过程1237E_mail:Redo Log文文件镜像像一个日志志组中Redo Log文件具有有相同的的信息选择合适适的日志志文件大大小组中的成成员同时时被更新新每组应包包含与其其他组中中数目相相同的日日志成员员镜像的Redo Log文件可以以防止Redo Log文件丢失失8E_mail:Oracle9iDatabase(Windows NT)9E_mail:Oracle9iDatabase(Unix)10E_mail:日志切换换当ORACLE从一个Redo Log文件切换换到另一一个日志志

4、文件时时发生日日志切换换当LGWR写满一组组日志文文件时发发生日志志切换DBA可强制日日志切换换数据库关关闭时发发生日志志切换日志切换换时,当当前日志志文件被被赋予一一个新的的日志序序列号,用于标标识其中中的信息息日志切换换时产生生检查点点CKPT(Checkpoint)11E_mail:Redo Log文件组Group1MemberAGroup2MemberAGroup3MemberAGroup1MemberBGroup2MemberBGroup3MemberBGroup1MemberCGroup2MemberCGroup3MemberCLogFile1LogFile2LogFile312E

5、_mail:Oracle9iforUnix日志文件件结构(SunSolaris)redo01.logredo02.logredo03.log三个日志志文件组组,每组组一个日日志成员员13E_mail:Oracle9i日志文件件结构(Windows NT)Redo01.log三个日志志文件组组,每组组一个日日志成员员Redo02.logRedo03.log14E_mail:Oracle9i数据库参参数文件件服务器参参数参数数spfileServerParameter File文本参数数pfileParameterFile15E_mail:控制文件件(ControlFiles)控制文件件是描述述数

6、据库库结构的的二进制制文件控制文件件所有必须须的数据据文件和和日志文文件在控控制文件件中标识识数据库名名存储在在控制文文件中控制文件件用于打打开和存存取数据据库数据库恢恢复所需需的同步步信息存存储在控控制文件件中控制文件件数据库的的物理组组成与控控制文件件中的记记录不同同时,系统则则不能正正常启动动或发生生down机现象16E_mail:控制文件件(Control Files)建议设置置:至少使用用两个控控制文件件,并存放放于不同同磁盘参数Control_Files指明控制制文件控制文件件的镜像像可以在在数据库库创建或或创建完完成后进进行17E_mail:Oracle9iDatabase(Wi

7、ndows NT)18E_mail:Oracle9iDatabase(Unix)19E_mail:Oracle9i逻辑结构 20E_mail:DatabaseTablespaceSegmentDataIndexTempRollbackExtentFreeUsedData BlockPartofPartofOracle9i数据库的的逻辑结结构21E_mail:表空间Oracle表空间类类型数据字典典管理表表空间(Oracle7,8,8i)本地化管管理表空空间(Oracle8i,9i)UniformAutoAllocate22E_mail:Oracle表空间类类型23E_mail:Oracle9i

8、临时段管管理Oracle9i的缺省临临时表空空间(Default TemporaryTablespace)用于用户户排序时时SQL的Orderby语句使用用,在创创建用户户时指定定用户缺缺省的临临时表空空间。在Oracle9i中,允许许数据库库管理员员重新创创建并设设置系统统临时表表空间,而不使使用系统统表空间间作为排排序、汇汇总等临临时表空空间使用用。如果果系统设设置了系系统缺省省临时表表空间,则用户户不得使使用其他他表空间间作为临临时表空空间使用用。24E_mail:回退段(RollbackSegments)为什么要要设回退退段?回退段是是数据库库的一部部分,是Oracle数据库的的一个重

9、重要参数数,其设设计是否否正确直直接影响响到数据据库的动动态性能能。Rollback段的使用用用于保保存一个个事务的的操作,以便在在某些情情况下回回退或取取消操作作。每个Oracle数据库都都有多个个回退段段回退段的的作用并发操作作时,保保证数据据的读一一致性使用SQL语句rollback回退一个个事务的的操作25E_mail:回退段(RollbackSegments)事务恢复复的需要要回退段操操作举例例由于语句句错误回回退一个个事务回退一个个事务、或回退退事务到到一个保保存点(SavePoint)由于异常常进程中中断而回回退在例程恢恢复中回回退所有有没未完完成的事事务26E_mail:Ora

10、cle9i自动Undo空间管理理在Oracle8i以前的数数据库中中,对于于回退段段的设置置与管理理已一直直是一个个十分复复杂的工工作,其其正确的的设置既既困难又又费时。对于大大的事务务往往产产生回退退段不足足的错误误,或在在RBS表空间回回退段中中消耗过过大。Oracle9i引如了一一个新的的概念,即AutomaticUndoManagement ,Undo空间自动动管理。在Oracle9i中,可以以使用传传统的回回退段,也可以以使用Undo表空间,Oracle9i对Undo空间自动动管理,使回退退段的管管理变的的十分容容易。在Oracle9i中,可以以使用自自动Undo管理代替替回退段段,

11、Oracle9i使用Undo表空间,并对Undo空间自动动管理。27E_mail:Oracle9i自动Undo空间管理理在Oracle8i中,私通通使用手手动管理理Undo空间,使使用在RBS表空间中中创建大大的回退退段的方方法处理理大的事事务,由由于一个个事务只只可以使使用一个个回退段段,当一一个回退退段动态态扩展超超过区最最大值、或超过过数据文文件的允允许扩展展范围时时,将产产生回退退段不足足的错误误,事务务被进行行过程被被终止。在Oracle9i中,一个个事务可可以使用用多个回回退段。使用Oracle9i的Undo空间自动动管理特特点,当当一个回回退段不不足时,Oracle会自动使使用其

12、他他回退段段,不终终止事务务的运行行。在Oracle9i中,数据据库管理理员只需需了解Undo表空间是是否有足足够的空空间即可可。28E_mail:自动Undo空间管理理29E_mail:Oracle9i内存结构构 30E_mail:ServersUsersData FilesRedo LogFilesDatabaseBuffer CacheSharedPoolRedo LogBufferSGA(System GlobalArea)DBWRARCHLGWR系统全局局区SGA31E_mail:ServersUsersData FilesRedo LogFilesDatabaseBuffer Ca

13、cheSharedPoolRedo LogBufferSGADBWRARCHLGWR数据缓冲冲区(DatabaseBuffer Cache)32E_mail:DB数据缓冲冲区Dirtylist.LRUlist.DatafilesData files数据缓冲冲区(DatabaseBufferCache)ServerDBWRSGAFree,Dirty,PinnedServersUsersData FilesRedo LogFilesDatabaseBuffer CacheSharedPoolRedo LogBufferSGADBWRARCHLGWR日志缓冲冲区(Redo LogBuffer)34E

14、_mail:ServersUsersData FilesDatabaseBuffer CacheSharedPoolSGADBWR共享池(SharedGlobal Area)ServersServersUsersUsers35E_mail:Oracle9i实例的进程结结构 36E_mail:Oracle启动时,将分配配系统全全局区SGA并启动Oracle后台进程程(Background Processes)。内存区域域和后台台进程合合称为一一个Oracle实例(Instance)。SGA是由Oracle为一个实实例分配配的一组组共享内内存区区域后台进程程异步地地为所有有的数据据库用户户执行不不

15、同的任任务参数文件件决定了了实例的的特征及及大小不正确的的参数文文件,会会导致实实例启动动失败Oracle数据库的的Instance决定了动动态运行行的数据据库的ORACLE_SIDOracle实实例(Instance)37E_mail:SystemGlobal AreaBackground ProcessesServersUsersData FilesRedo LogFilesControl Files38E_mail:Oracle数据库进进程结构构Oracle可以在多多进程和和单进程程配置下下工作。多进程配配置多个进程程执行Oracle代码的不不同部分分多进程允允许多个个用户同同时使用用单

16、进程配配置所有的Oracle代码由一一个进程程执行单进程实实例只允允许单个个用户使使用主要用于于单任务务的机器器上通常使用用的Oracle都是多进进程实例例结构39E_mail:DatabaseBuffer CacheSharedPoolSGAOracle数据库单单进程结结构ORACLERDBMSSERVER应用软件件40E_mail:DatabaseBuffer CacheSharedPoolSGALISTENEROracle数据库多多进程结结构DBWRLGWRDnnnUSERRECOCKPTSMONPMONARCH41E_mail:用户进程程与服务务器进程程42E_mail:Servers

17、UsersData FilesDatabaseBuffer CacheSharedPoolSGADBWRUser与Server进程ServersServersUsersUsers43E_mail:用户进程程与服务务器进程程用户进程程(User Process)在用户运运行应用用程序时时自动产产品产生生系统创建服务务器进程程(ServerProcess)处理用用户进程程的请求求Server进程和User进程通通信并为为所连接接的User进程请求求服务44E_mail:Server进程工作作过程:分析、编编译、执执行用户户的SQL语句确定执行行计划,形成分分析树从磁盘数数据文件件将数据据读入SGA

18、的共享数数据库缓缓冲区将SQL语句的结结果返回回给用户户进程相同的SQL代码只编编译一次次存在SQL优化问题题45E_mail:DBWR进程46E_mail:DBWR进程在存储数数据之前前,服务务器进程程必须将将数据放放入数据据缓冲区区快存中中修改后的的数据块块通过后后台进程程:数数据库库写(DatabaseWriter-DBWR)写回磁盘盘为处理SQL语语句,Server进程使用用了SGA中的的共享内内存47E_mail:DBWR进程DBWR管理Database BufferCache以便user进程总能能找到空空闲的缓缓冲区将所有修修改后的的缓冲区区数据写写入数据据文件使用LRU算法来将将

19、最近使使用过的的块保留留在内存存中通过延迟迟写来优优化磁盘盘I/O读写可以启动动多个数数据写入入进程参数DB_WRITER_PROCESSES决定DBWR启动的个个数进程名称称分别为为DBW0、DBW1、DBWj48E_mail:DBWR进程DBWR在下面情情况将dirty缓冲区写写入磁盘盘:dirty队列达到到一定长长度某个进程程在LRU队列中扫扫描指定定数目的的缓冲区区仍没有有找到空空闲缓冲冲区超时(Time_Out)发生检验点(checkpoint)发生49E_mail:LGWR进程50E_mail:ServersUsersData FilesRedo LogFilesDatabaseB

20、uffer CacheSharedPoolRedo LogBufferSGADBWRARCHLGWR日志产生生过程12351E_mail:LGWR进程LGWR在下面情情况将Redo Log缓冲区的的信息写写入Redo Log文件:发生数据据提交Redo Log缓冲区池池达到总总数的三三分之一一时超时(Time_Out)发生DBWR需为检验验点(checkpoint)清除缓冲冲区块时时52E_mail:LGWR进程每一个例例程(instance)只有一个个Redo Log写进程直到事务务已被写写入redo log文件,提提交确认认才被执执行并发提交交使每次次提交的的平均I/O数小于153E_ma

21、il:PMON与SMONPMONLCKnRECOSMONCKPT54E_mail:ARCH进程归档进程程(ARCH,Archiver Process)在联机Redo Log文件存满满时将它它们存储储到指定定的存储储设备。55E_mail:归档进程程(ARCH)将Redo Log文件写到到磁盘或或磁带机机上用于于介质失失败时的的数据库库恢复ARCH只有当日日志文件件组切换换时才工工作ARCH是可选的的,由参参数LOG_ARCHIVE_START启动ARCH可写到磁磁带或磁磁盘上56E_mail:ServersUsersData FilesRedo LogFilesDatabaseBuffer CacheSharedPoolRedo LogBufferSGADBWRARCHLGWRCKPT进程CKPT57E_mail:检验点在检验点点(checkpoint),DBWR将databasebuffercache中的所有有的dirty缓冲区写写入磁盘盘,以保保证上一一个检验验点以来来修改过过的所有有数据块块都被真真正写到到磁盘。58E_mail:检验点产产生条件件:在每个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论