资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE1第一章第一章Oracle数据数据库的体系的体系结构和构和组成部分成部分Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE2学学习目的目的描述描述Oracle的架构和的架构和组成部分成部分描述数据描述数据库服服务器的器的组件件描述描述Oracle处理以下操作的步理以下操作的步骤:Queries(查询)DML statements(数据操数据操纵语言言)COMMITs(提交提交)Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE3概概览 Database(数据库数据库)Instance(实例实例)SGARedo logbufferData buffercacheShared poolData dict.cacheLibrarycache PMON DBW0SMON LGWRCKPTOthersUserprocessServerprocessPGAControl filesData files Redo logfilesArchived log filesParameterfilePasswordfileCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE4Oracle Instance(Oracle实例例)一个一个Oracle 实例实例:是一个访问数据库的方式是一个访问数据库的方式在数据库打开的时候,实例必须打开,并且一个实例在数据库打开的时候,实例必须打开,并且一个实例只能对应一个数据库只能对应一个数据库后端进程后端进程后端进程后端进程内存结构内存结构内存结构内存结构Instance(实例实例)SGARedo logbufferData buffercacheShared pool PMON DBW0SMON LGWRCKPTOthersCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE5Oracle Database Files(Oracle 数据数据库文件文件)PasswordfileParameterfileArchivedlog filesControl filesData files Redo logfilesDatabaseCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE6一个一个 SQL 语句句处理理一个使用者使用以下一个使用者使用以下进程程连接到一个接到一个Oracle的的实例例:使用者使用者进程程(User Process)服服务器器进程程(Server Process)在在sql语句的句的处理理过程中,根据程中,根据sql语句的句的类型,有相型,有相应的的Oracle的的组成部分参加成部分参加进来来返回行的返回行的查询(Queries)记录改改变的的DML语句句为确保交易能确保交易能够恢复而恢复而进行的提交行的提交(Commit)有一些有一些Oracle的的组成部分不参加成部分不参加SQL语句的句的处理理Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE7连接到一个接到一个Oracle的的实例例(Instance)ServerUserClientClientUserServerOracle serverOracle serverServerServerUserServerApplication serverApplication serverBrowserBrowserUser process(一个一个connect)Server process(一个一个statement)User process(一个一个connect)Server process(一个一个statement)User process(一个一个connect)Server process(一个一个statement)Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE8处理一个理一个查询(Queries)解析解析(Parse):在在SGA里面搜索相同的里面搜索相同的语句句检查语法,法,对象的名称及象的名称及权限限在解析的在解析的过程中程中锁住住对象象建立及存建立及存储执行行计划划(execution plan)执行行(Execute):鉴别被被选择的行的行提取提取(Fetch):返回行到用返回行到用户的的进程程Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE9共享池共享池(Shared Pool)库缓存存(library cache)包含包含SQL语句的文本,句的文本,执行代行代码及及执行行计划划数据字典数据字典缓存存(data dictionary cache)包含表,列及包含表,列及对象定象定义和和权限限共享池的大小由初始化的参数共享池的大小由初始化的参数SHARED_POOL_SIZE来决定来决定Shared poolDatadictionarycacheLibrarycacheCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE10数据数据库高速高速缓冲区冲区(Database Buffer Cache)存放最近用到的数据存放最近用到的数据库的的块一个一个buffer的大小等于数据的大小等于数据库的的块的大小的大小(DB_BLOCK_SIZE)Buffer的数量由初始化的参数的数量由初始化的参数 DB_BLOCK_BUFFERS来定来定义 Data buffercacheCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE11程序全局区域程序全局区域Program Global Area (PGA)服服务器器进程私有的内存区域,非共享程私有的内存区域,非共享只有服只有服务器器进程才可以程才可以对其其进行写的操作行写的操作包含包含:排序的区域排序的区域(Sort Area)会会话的信息的信息(Session information)指指针的状的状态(Cursor state)堆堆栈空空间(Stack space)ServerprocessPGACopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE12处理一个理一个 DML 语句句SGARedo logbufferData buffercacheShared poolDatabase11234UPDATE emp .UserprocessServerprocessControl filesData files Redo logfilesCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE13重做日志重做日志缓冲区冲区(REDO LOG BUFFER)记录服服务器器对数据数据库做的更改做的更改,及数据更改的位置及数据更改的位置大小由初始化参数大小由初始化参数log_buffer指定指定此内存区域可以循此内存区域可以循环使用使用对redo log buffer的使用是的使用是顺序串行的序串行的Redo logbufferCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE14回撤段回撤段(Undo Segment)DML statementDML statement(update emp set )(update emp set )旧值旧值旧值旧值(Old image)(Old image)新值新值新值新值(New image)(New image)Undo segmentUndo segmentTableTableCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE15处理一个理一个COMMITDatabaseInstance LGWRSGARedo logbufferData buffercacheShared pool1234UserprocessServerprocessControl filesData files Redo logfilesCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE16日志写入日志写入进程程 (LGWR)当以下条件当以下条件满足的足的时候候LGWR进行写的操作行写的操作 :有一个有一个commit的操作的操作redo log buffer 的的1/3已已满的的时候候有超有超过1 MB的重做日志的重做日志项目的目的时候候在在DBW0 进程写之前程写之前DatabaseInstanceLGWRSGARedo logbufferData buffercacheShared poolControl filesData files Redo logfilesCopyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE17其他的后台其他的后台进程程其它几个必其它几个必须的后端的后端进程程:数据数据库写写进程程-Database Writer (DBW0)进程程监控控进程程-Process Monitor (PMON)系系统监控控进程程-System Monitor (SMON)检查点点进程程-Checkpoint (CKPT)归档档进程程(ARC0) 一般是用于生一般是用于生产数据数据,只当数据只当数据库配置配置为归档模式档模式时才有才有Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE18数据数据库写写进程程-Database Writer (DBW0)在下列的情况下在下列的情况下DBWR将将脏的的缓冲区冲区(dirty buffers)写到磁写到磁盘 :当当脏的的缓冲区冲区(dirty buffers) 很多的很多的时候候当可用的当可用的缓冲区很少的冲区很少的时候候当当时间超超时的的时候候当出当出现检查点的点的时候候DatabaseControl filesData files Redo logfilesInstanceSGARedo logbufferData buffercacheShared poolDBW0Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE19系系统监控控进程程-System Monitor (SMON)在数据在数据库启启动时自自动修复数据修复数据库的的实例例前前滚(Rolling forward)记录在重做日志文件在重做日志文件(redo log file )里面的里面的对数据数据库的改的改变(此部分的改此部分的改变在数据在数据库失失败的的时候候还没有写到数据没有写到数据库的数据文件里面的数据文件里面)打开数据打开数据库让使用者使用者访问回回滚(Rolling back)失失败那个那个时刻没有提交的交易刻没有提交的交易合并系合并系统空空闲的空的空间回收系回收系统不再使用的不再使用的临时段段Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE20进程程监控控进程程-Process Monitor (PMON)在用在用户进程出程出现故障的故障的时候候进行行进程恢复:程恢复:回回滚(Rolling back) 失失败进程的交易程的交易释放放对资源的源的锁Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE21检查点点进程程-Checkpoint (CKPT)同步数据同步数据库文件和控制文件信息文件和控制文件信息Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE22归档档(Archiving)数据数据库归档的模式档的模式NOARCHIVELOG:当硬当硬盘失失败的的时候,无法把数据候,无法把数据库恢恢复到失复到失败的那个点的状的那个点的状态,数据,数据库数据会数据会丢失失ARCHIVELOG:当硬当硬盘失失败的的时候,可以把数据候,可以把数据库恢复恢复到失到失败的那个点的状的那个点的状态,数据,数据库数据不会数据不会丢失失ARC0 进程程自自动归档重做日志文件档重做日志文件(online redo logs)保留保留对数据数据库所作所作变更的更的历史的史的记录Copyright Sinobest Technology Holdings Ltd. 2006. All rights reserved.ORACLEORACLE23总结在本章,我在本章,我们应该学会以下的内容学会以下的内容:掌握数据掌握数据库的物理文件的物理文件: data files, control files, online redo logs掌握掌握SGA 的内存的内存结构构: DB buffer cache, shared SQL pool, and redo log buffer掌握主要的掌握主要的Oracle的后端的后端进程的作用程的作用: DBW0, LGWR, CKPT, PMON, SMON, and ARC0掌握掌握SQL处理的步理的步骤: parse, execute, fetch
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号