您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第02章 Oracle 9i体系结构
第2讲Oracle9i体系结构2-2提问•回顾–数据模型的三要素中哪一个要素用于描述数据模型的动态特征?–说出数据库、数据库管理系统、数据库系统的区别。–Oracle9i数据库能不能在Linux平台上运行?SQLServer2000能不能?–Oracle9i的产品组成由几部分构成?•引入–从逻辑和物理的角度考虑,Oracle的组成如何?–Oracle数据库如何保证成千上万用户的高性能并发访问?–使用Oracle数据库如何构建数据库应用程序?2-3本节课要讲解的内容•Oracle9i的逻辑结构:表空间、段、区间、数据块、表、其他逻辑对象。•Oracle9i的物理结构:数据文件、控制文件、日志文件、初始化参数文件、其他文件。•Oracle9i的总体结构:内存结构、后台进程、Oracle例程。•Oracle9i的应用架构:多磁盘结构、磁盘映像结构、客户/服务器系统、共享服务器系统、并行数据库系统、分布式数据库系统。2-4Oracle9i数据库的逻辑结构2-5表空间(TableSpace)•表空间是Oracle数据库中数据的逻辑组织单位,通过表空间来组织数据库中的数据。•数据库逻辑上由一个或多个表空间组成,表空间物理上是由一个或多个数据文件组成。•通过使用表空间,Oracle可以有效的控制数据库所占用的磁盘空间,并控制数据库用户的空间配额。•如果一个用户的表空间空间不够用时,可以通过添加数据文件来增加空间配额。•Oracle通过将表空间的联机或脱机来控制数据库数据的可用性,即一个表空间有两种状态:联机和脱机。2-6默认表空间表空间名称说明CWMLITE用于联机分析处理(OLAP)DRSYS用于存放与工作空间设置有关的信息EXAMPLE用于存放例程(Instance)信息INDEX用于存放数据库中的索引信息SYSTEM是每个Oracle数据库都必须具备的部分TEMP用于存储临时表TOOLS用于存放数据库工具软件所需的数据库对象UNDOTBS用于保存回滚段(RollbackSegment)为RBSUSERS用于存放用户私有信息2-7DatafileSegmentBlocksExtentSegmentDatafileSegmentBlocksExtentSegment表空间表空间/文件/段/区间/数据块的示意图2-8段(Segment)、区间(Extent)和数据块•段:数据段、索引段、临时段和回滚段。•段由若干个区间组成。•区间:由连续分配的相邻数据块组成。•数据块:是数据库中最小的、最基本的存储单位。2-9表(Table)及其他逻辑对象•表是用于存放数据的数据库对象。•按照功能的不同,表分为系统表和用户表。•系统表又称数据字典,用于存储管理用户数据和数据库本身的数据,记录数据、口令、数据文件的位置等;用户表就是用于存放用户的数据。•除了表之外,Orac1e9i数据库提供了其他逻辑对象(LogicObject),如高级队列、数组、过程和函数、包、触发器等。2-10Oracle9i数据库的物理结构•物理上,Oracle9i数据库由各种物理文件组成,每个物理文件又由若干个Oracle块组成。物理文件是构成Oracle9i数据库的基础。•Oracle9i数据库的物理文件主要有以下几种:–(1)数据文件(Datafile);–(2)控制文件(Controlfile);–(3)日志文件(Redofile);–(4)初始化参数文件(Parameterfile);–(5)其他Oracle物理文件。2-11各种物理文件关系图2-12数据文件•数据文件就是用来存放数据库数据的物理文件,文件后缀“.DBF”。•数据文件存放的主要内容如下:(1)表中的数据;(2)索引数据;(3)数据字典定义;(4)回滚事务所需信息;(5)存储过程、函数和数据包的代码;(6)用来排序的临时数据。2-13控制文件•控制文件用于记录和维护整个数据库的全局物理结构,它是一个二进制文件,文件后缀为“.CTL”。•控制文件存放了与Oracle9i数据库物理文件有关的关键控制信息,如数据库名和创建时间,物理文件名、大小及存放位置等信息。•控制文件在创建数据库时生成,以后当数据库发生任何物理变化都将被自动更新。•每个数据库包含通常两个或多个控制文件。这几个控制文件的内容上保持一致。2-14日志文件•日志文件用于记录对数据库进行的修改操作和事务操作,文件后缀为“.LOG”。•每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日志写入进程(LGWR)会将数据库发生的变化写入到日志组一,当日志组一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志组二,当日志组二也写满后,产生日志切换,LGWR会将数据库发生的变化再写入日志组一,依次类推。•日志文件分为联机重做日志文件和归档日志文件。归档日志,是当前非活动重做日志的备份,可以使用归档日志进行恢复。2-15日志文件的模式•归档模式Archivclog、非归档模式NoArchivelog•归档模式,将保留所有的重做日志内容。这样数据库可以从所有类型的失败中恢复,是最安全的数据库工作方式。对于非常重要的Oraclc9i数据库应用,比如银行系统等,必须采用归档模式。•非归档模式,不保留以前的重做日志内容,适合于对数据库中数据要求不高的场合。2-16初始化参数文件•初始化参数文件INIT.ORA是一个文本文件,定义了要启动的数据库及内存结构的大约200多项参数信息。启动任何一个数据库之前,Oracle系统都要读取初始化参数文件中的各项参数。•初始化参数文件的主要内容如下:(1)设置内存大小;(2)设置数据库回滚段;(3)设置要使用的数据库和控制文件;(4)设置检查点;(5)设置数据库的控制结构;(6)非强制性后台进程的初始化2-17其他Oracle物理文件•跟踪文件(Tracefile):存放着后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件。•警告文件(Alertfile):由连续的消息和错误组成,可以看到Oracle内部错误、块损坏错误等。•备份文件(Backupfile):包含恢复数据库结构和数据文件所需的副本。•口令文件(Passwordfile):存放用户口令的加密文件。2-18Oracle9i数据库服务器的总体结构•Oracle9i数据库服务器由数据库管理系统和数据库组成。•数据库管理系统由内存结构(PGA和SGA)、后台进程和服务器进程组成。•数据库主要由数据文件、控制文件和日志文件组成。2-19Oracle9i数据库服务器的总体结构图2-20内存结构•内存结构是Oracle存放常用信息和所有运行在该机器上的Oracle程序的内存区域。•Oracle有两种类型的内存结构:–系统全局区SystemGlobalArea,SGA–程序全局区ProgramGlobalArea,PGA2-21系统全局区SGA•系统全局区(SGA),是客户机上的用户进程和服务器上的服务器进程都使用的内存区域。•在Oracle例程中,SGA是所有通信的中心,所有的用户进程和服务器进程都可以访问这部分内存区域,也就是说SGA内的数据是共享的。•在数据库非安装阶段,当创建例程时,分配SGA;当例程关闭时,释放SGA。•SGA分成4部分:数据缓冲区、字典缓冲区、日志缓冲区和SQL共享池。2-22程序全局区(PGA)•PGA是存储区中被单个用户进程使用的内存区域。•每一个连接到Oracle数据库的进程都需要自己的PGA,存放单个进程工作时需要的数据和控制信息,其中包括进程会话变量和数组及不需要与其他进程共享的信息等。•PGA是用户进程私有的,不能共享。PGA内部的不同部分可以相互通信,但与外界没有联系。2-23后台进程•所谓用户进程指在客户机上运行的程序,如客户机上运行的SQLPlus、企业管理器等,用户进程向服务器进程请求信息。•所谓服务器进程指在服务器上运行的程序,接受用户进程发出的请求,根据请求与数据库通信。•Oracle9i数据库支持成千上百用户的并行访问,而且还保证了数据的完整性和高性能,这其中离不开Oracle后台进程的支持。•后台进程帮助用户进程和服务器进程进行通信,无论是否有用户连接数据库它们都在运行,负责数据库的后台管理工作,这也是称之为后台进程的原因。2-24系统全局区SMONARCHLGWRDBWRCKPTRECOPMONQMONOracle9i数据库的后台进程2-25Oracle9i数据库的主要后台进程•系统监视进程(SMON):是在数据库系统启动时执行恢复性工作的强制性进程。•进程监视进程(PMON):用于恢复失败的数据库用户的强制性进程。•数据库写入进程(DBWR):主要管理数据缓冲区和字典缓冲区的内容,它从数据文件读取数据,写入到SGA。•日志写入进程(LGWR):用于将内存中的日志内容分批写入到日志文件中。2-26•归档进程(ARCH):是可选进程,在当数据库服务器以归档模式运行时,将已经写满的联机重做日志文件的内容拷贝到归档日志文件中才发生。•检查点进程(CKPT):是可选进程。用于减少例程恢复时间。•恢复进程(RECO):用于分布式数据库中的失败处理,只有在运行分布式选项时才能使用该进程。•锁进程(LCKn):是可选进程。当用户在并行服务器模式下将出现多个锁进程以确保数据的一致性,这些锁进程有助于数据库通信。•快照进程(SNPn):快照刷新和内部工作队列运行计划的依赖进程。•调度进程(Dnnn):是共享服务器的可选进程。2-27InstanceSGASMONDatafilesControlfilesRedologfilesDatabaseOracle9i实例•1.Oracle实例与数据库2-28•2.Oracle实例的组成InstanceSGARedologbuffercacheSharedpoolDataDict.cacheLibrarycacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControlfilesDatafilesArchivedlogfilesParameterfilePasswordfileRedologfilesDatabaseDatabasebuffercache2-29•多磁盘结构•磁盘映像结构•客户/服务器系统•共享服务器系统•并行(集群)数据库系统•分布式数据库系统•OracleWebServer系统Oracle数据库的应用架构2-30Thankyouverymuch!
本文标题:第02章 Oracle 9i体系结构
链接地址:https://www.777doc.com/doc-14248 .html