Oracle数据库应用教程(朱亚兴) 第4章.ppt

Oracle数据库应用教程(朱亚兴) 第4章.ppt

  1. 1、本文档共130页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Oracle数据库体系结构  4.1 Oracle体系结构组件概览   系统的体系结构决定了数据库如何使用内存、硬件和网络,以及哪个进程或程序运行在哪台机器上。了解Oracle的体系结构有助于Oracle的使用者和管理者对数据库系统有一个整体的、从外到内的全面认识。Oracle体系结构如图4-1所示。 图4-1 Oracle体系结构   Oracle数据库服务器有两个主要的组成部分:数据库和实例(instance)。Oracle数据库用于存储和检索信息,是数据的集合。数据库包括逻辑结构和物理结构。逻辑结构代表了在Oracle数据库中能看到的组成部分(如表、索引等),而物理结构代表了Oracle内部使用的存储方法(如数据文件、控制文件、日志文件等)。Oracle实例是指数据库服务器的内存及相关处理程序,也就是说,数据库文件的操作都是通过这个实例来完成的,因此它又被称为Oracle数据库引擎。Orade实例由系统全局区(SGA)和后台处理进程组成。 4.2 实 例   4.2.1 内存结构   1.系统全局区   系统全局区(简称SGA)是Oracle数据库存放系统信息的一个内存区域,是Orac1e为一个数据库实例分配的一组共享内存缓冲区。多个进程可以同时对SGA中的数据进行访问和相互通信。SGA保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析、重做日志管理等,是实例的主要部分。SGA在实例启动时被自动分配,当实例关闭时被收回。在系统全局区中,根据功能的不同,SGA可分为如下关键部件。   1) 数据高速缓冲区(Data Buffer Cache)   在数据高速缓冲区中存放着Oracle系统最近使用过的数据库数据块。用户进程查看的数据必须首先驻留在数据高速缓冲区中。当用户第一次执行查询或修改操作时,所需的数据由服务器进程从数据文件中读出来之后,首先被装入到数据缓冲区中,这样数据的操作就可以在内存中完成。当用户下一次访问相同的数据时,Oracle就不必再从数据文件中读取,而是直接将数据缓冲区中的数据返回给用户,这样做可以极大地提高对用户请求的响应速度。   数据缓冲区由若干块组成,Oracle 9i的数据缓冲区直接由初始化参数文件中的db_cache_size参数决定,该参数以KB或MB为单位。Oracle 9i允许指定不同的数据块大小,其中,db_block_size用于定义标准块的大小,而db_nK_cache_size可用于定义非   标准块的数据缓冲区的大小,n为2、4、6、8、16或32。数据缓冲区的实际大小是标准块和非标准块的数据缓冲区的大小之和。例如,假设在某个初始化参数文件中具有如下设置:   db_block_size=4096   db_cache_size=1024M   db_2K_cache_size=256M   db_8K_cache_size=512M   则说明数据库标准块的大小为4 KB,具有标准块大小的数据缓冲区为1024 MB,除此之外还有块大小为2 KB的数据缓冲区256 MB, 块大小为8 KB的数据缓冲区512 MB。   数据缓冲区对数据块的存取速度有直接影响。如果能够使用更大的数据缓冲区,则可以提高数据库的访问性能,但是系统的物理内存总是有限的,数据缓冲区过大,也会影响到操作系统和数据库其他方面的性能。如果要查询数据缓冲区的大小,则具有DBA权限的用户可按如下方法查看:   SQLshow parameter db   NAME TYPE VALUE          db_16k_cache_size big integer 0   db_2k_cache_size big integer 0   …   db_block_size integer 4096   db_cache_size big integer   …   2) 共享池(Shared Pool)   共享池相当于程序高速缓冲区,所有的用户程序都存放在共享SQL池中。共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。共享池由库缓冲和数据字典缓冲组成。其中,库缓冲含有最近执行的SQL、PL/SQL语句的分析码和执行计划;数据字典缓冲含有从数据字典中得到的表、索引、列定义和权限等信息。共享池的大小直接影响数据库的性能。   共享池的大小由初始化参数shared_pool_size决定

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档