《Oracle体系结构.ppt》由会员分享,可在线阅读,更多相关《Oracle体系结构.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Oracle的主要组成部分的主要组成部分Oracle的主要组成部分的主要组成部分4Oracle server 由由Oracle instance和和Oracle database组成。组成。4Oracle instance 由后台进程和内存结构构成。由后台进程和内存结构构成。4Oracle database 由多个操作系统文件(数据库文件)构成。由多个操作系统文件(数据库文件)构成。4其它组成部分其它组成部分Oracle ServerOracle Instance4用于存取用于存取Oracle database4一次只能打开一个数据库一次只能打开一个数据库建立连接与创建会话建立连接与创建会话连
2、接与会话连接与会话4连接(连接(connection) 连接是用户进程与服务器进程之间的一条通连接是用户进程与服务器进程之间的一条通信路径。信路径。4会话(会话(Session) 会话是用户到会话是用户到Oracle Server的一次特定连接。的一次特定连接。Oracle DatabaseOracle 的内存结构的内存结构4Oracle的内存结构由以下两个部分组成:的内存结构由以下两个部分组成: System Global Area(SGA):):Oracle Instance的的 基本组成部分,在实例启动时分基本组成部分,在实例启动时分配。配。 Program Global Area (P
3、GA) :当服务器:当服务器进程启动时分配进程启动时分配System Global Area(SGA)4SGA由以下内存结构构成由以下内存结构构成 Shared Pool Database Buffer Cache Redo Log Buffer 其它结构其它结构4还可以选择为还可以选择为SGA配置以下两个可选的配置以下两个可选的内存结构:内存结构: Large Pool Java Pool4SHOW SGA;Shared Pool4Shared Pool用于缓存最近被执行的用于缓存最近被执行的SQL语句和最近被使用的数据定义。语句和最近被使用的数据定义。4它主要由两个内存结构构成:它主要由两
4、个内存结构构成: Library cache Data dictionary cache4修改共享池的大小修改共享池的大小 ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;Library Cache4Libray Cache缓存最近被执行的缓存最近被执行的SQL和和PL/SQL的相关信息。的相关信息。 实现常用语句的共享实现常用语句的共享 使用使用LRU算法进行管理算法进行管理 由以下两个结构构成:由以下两个结构构成: Shared SQL area Shared PL/SQL areaData Dictionary Cache4Data dictionary
5、cache缓存最近被使用的缓存最近被使用的数据库定义。数据库定义。 它包括关于数据库文件、表、索引、列、用它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。户、权限以及其它数据库对象的信息。 在语法分析阶段,在语法分析阶段,Server Process访问数据访问数据字典中的信息以解析对象名和对存取操作进字典中的信息以解析对象名和对存取操作进行验证。行验证。 将数据字典信息缓存在内存中有助于缩短响将数据字典信息缓存在内存中有助于缩短响应时间。应时间。Database Buffer Cache4Database Buffer Cache用于缓存从数据用于缓存从数据文件中检索
6、出来的数据块。文件中检索出来的数据块。 可以大大提高查询和更新数据的性能。可以大大提高查询和更新数据的性能。 使用使用LRU算法进行管理算法进行管理Redo Log Buffer Cache4Redo Log Buffer Cache缓存对于数据块缓存对于数据块的所有修改。的所有修改。 主要用于恢复主要用于恢复 其中的每一项修改记录都被称为其中的每一项修改记录都被称为redo 条目。条目。 利用利用Redo条目的信息可以重做修改。条目的信息可以重做修改。Large Pool4Large Pool是是SGA中一个可选的内存区域,中一个可选的内存区域,它只用于它只用于shared server环境
7、。环境。 可以减轻共享池的负担可以减轻共享池的负担 可以为备份、恢复等操作来使用可以为备份、恢复等操作来使用 不使用不使用LRU算法来管理算法来管理 指定指定Large Pool的大小的大小 ALTER SYSTEM SET LARGE_POOL_SIZE=64MJava Pool4Java Pool为为Java命令的语法分析提供服命令的语法分析提供服务务 在安装和使用在安装和使用Java的情况下使用的情况下使用 其大小由其大小由JAVA_POOL_SIZE指定指定Program Global Area(PGA)4PGA是为每个连接到是为每个连接到Oracle database的的用户进程保留
8、的内存。用户进程保留的内存。User ProcessServer ProcessStack spaceSession informationsort area, cursor informationShared SQL AreaStack spacesort area, cursor informationSGAShared SQL AreaSession informationSGAPGADidicated ServerShared ServerProgram Global Area(PGA)4PGA存储一个服务器进程或后台进程的存储一个服务器进程或后台进程的数据和控制信息,并且只能由一个进
9、程数据和控制信息,并且只能由一个进程使用。它在进程创建时分配,在进程结使用。它在进程创建时分配,在进程结束时被收回。束时被收回。进程进程4Oracle拥有以下类型的进程:拥有以下类型的进程: User Process Server Process Background Process用户进程(用户进程(User Process)4是一个需要与是一个需要与Oracle Server交互的程序交互的程序 运行于客户端运行于客户端 当用户运行某个工具或应用程序(如当用户运行某个工具或应用程序(如SQL*Plus)时创建,当用户退出上述程序)时创建,当用户退出上述程序时结束时结束 向向Oracle S
10、erver发出调用,但它并不与发出调用,但它并不与Oracle Server直接交互,而是通过直接交互,而是通过Server Process与与Oracle Server进行交互。进行交互。Server Process4是一个直接与是一个直接与Oracle Server交互的程序。交互的程序。4与与Oracle Server运行于同一台机器上运行于同一台机器上4使用使用PGA4执行执行User Process发出的调用,并向发出的调用,并向User Process返回结果状态和结果信息。返回结果状态和结果信息。Background Process4后台进程用于维护物理存储与内存中的后台进程用于
11、维护物理存储与内存中的数据之间的关系。主要包括:数据之间的关系。主要包括: DBWn PMON CKPT LGWR SMON RECO ARCnDatabase Writer(DBWn)4DBWn在以下情况将数在以下情况将数据写入磁盘:据写入磁盘: 发生检查点发生检查点 达到脏缓冲区阈值达到脏缓冲区阈值 没有可用的缓冲区没有可用的缓冲区 超时超时 将表空间设置为脱机或将表空间设置为脱机或只读只读 删除或截断表删除或截断表 备份表空间备份表空间LOG Writer(LGWR)4LGWR在以下情况将缓在以下情况将缓冲区中的数据写入磁盘:冲区中的数据写入磁盘: 事务提交事务提交 三分之一的三分之一的
12、redo日志缓日志缓冲区已满冲区已满 Redo日志缓冲区中的内日志缓冲区中的内容超过容超过1M 每三秒钟每三秒钟 在在DBWn写磁盘之前写磁盘之前System Monitor(SMON)4负责检查和维护负责检查和维护Oracle database的一致的一致性。它主要完成以下工作:性。它主要完成以下工作: 实例恢复实例恢复 重做已提交的事务重做已提交的事务 打开数据库打开数据库 回滚未提交的事务回滚未提交的事务 合并数据文件中相邻的自由空间合并数据文件中相邻的自由空间 释放临时段的空间释放临时段的空间Process Monitor(PMON)4当某个进程失效时,清除相关的资源。当某个进程失效时
13、,清除相关的资源。它主要负责以下工作:它主要负责以下工作: 回滚用户的当前事务回滚用户的当前事务 释放相关的锁释放相关的锁 释放其它相关的资源释放其它相关的资源Checkpoint(CKPT)4Checkpoint负责:负责: 使使DBWn将将SGA中所有被修改的数据库缓冲中所有被修改的数据库缓冲区的内容写入磁盘,无论事务是否被提交区的内容写入磁盘,无论事务是否被提交 用检查点信息更新数据文件头用检查点信息更新数据文件头 用检查点信息更新控制文件用检查点信息更新控制文件4它可以保证:它可以保证: 将经常被修改的数据块写入磁盘将经常被修改的数据块写入磁盘 简化实例恢复简化实例恢复Archiver(ARCn)4是一个可选的后台进程是一个可选的后台进程4当把数据库设置为当把数据库设置为ARCHIVELOG模式模式时,可以自动归档联机时,可以自动归档联机redo日志日志4能够保存所有对数据库所做修改的记录能够保存所有对数据库所做修改的记录查询处理查询处理4解析解析 在在Shared Pool中寻找是否有同样的语句中寻找是否有同样的语句 检查语法、对象名和权限检查语法、对象名和权限 对解析用到的对象加锁对解析用到的对象加锁 创建和存储执行计划创建和存储执行计划4执行执行4获取和返回数据获取和返回数据处理处理DML语句语句4解析解析4执行执行