oracle教程-第8章数据库实例及操作模式.pptVIP

oracle教程-第8章数据库实例及操作模式.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 数据库实例 本章内容 Oracle实例概述 Oracle内存结构 Oracle后台进程 本章要求 掌握Oracle实例基本概念 掌握Oracle实例的内存结构、功能及管理 了解Oracle进程分类及其作用 掌握Oracle后台进程、功能及管理 8.1实例概述 Oracle实例的概念 Oracle数据库主要由放在磁盘中的物理数据库和对物理数据库进行管理的数据库管理系统。其中数据库管理系统是处于用户与物理数据库之间的一个中间层软件,又称为实例,由一系列内存结构和后台进程组成。 在启动数据库时,Oracle首先在内存中获取一定的空间,启动各种用途的后台进程,即创建一个数据库实例,然后由实例装载数据文件和重做日志文件,最后打开数据库。用户操作数据库的过程实质上是与数据库实例建立连接,然后通过实例来连接、操作数据库的过程。 数据库与实例的关系 单实例数据库系统 多实例数据库系统 实例组成 内存结构:系统全局区(SGA)和程序全局区(PGA) 后台进程组成 8.2 Oracle内存结构 系统全局区(System Global Area,SGA) 程序全局区(Program Global Area,PGA) SGA SGA是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA数据可供多个用户共享,SGA又称为共享全局区(Shared Global Area)。用户对数据库的各种操作主要在SGA中进行。该内存区随数据库实例的创建而分配,随实例的终止而释放。 PGA PGA是在用户进程连接数据库、创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区(Private Global Area)。每个服务器进程只能访问自己的PGA,所有服务器进程的PGA总和即为实例的PGA的大小。 8.2.1 SGA SGA 包含的内存结构有: 数据高速缓冲区(Database Buffer Cache) 共享池(Shared Pool) 重做日志缓冲区(Redo Log Cache) 大型池(Large Pool) Java池(Java Pool) 流池(Streams Pool) 其他结构(如固定SGA、锁管理等) (1)数据高速缓冲区 功能 存储从数据文件中检索出来的数据拷贝。应用程序要访问的数据必须从磁盘的数据文件读到数据缓冲区中处理。 在数据缓冲区中被修改后的数据由数据写入进程写到硬盘的数据文件中永久保存。 提高获取和更新数据的性能。 数据高速缓冲区的工作过程 缓冲块的类型 脏缓存块(Dirty Buffers) 脏缓存块中保存的是已经被修改过的数据。当一条SQL语句对某个缓存块中的数据进行修改后,这个缓存块就被标记为脏缓存块。它们最终将由DBWR进程写入数据文件,以永久性地保存修改结 空闲缓存块(Free Buffers) 空闲缓存块中不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。当Oracle从数据文件中读取数据时,将会寻找空闲缓存块,以便将数据写入其中 命中缓存块(Pinned Buffers) 正被使用,或者被显式地声明为保留的缓存块。这些缓存块始终保留在数据高速缓冲区中,不会被换出内存。 缓存块的管理 脏缓存块列表:包含那些已经被修改但还没有写入数据文件的脏缓存块。 LRU列表(Least Recently Used):包含所有的空闲缓存块、命中缓存块和那些还没有来得及移入到脏缓存块列表中的脏缓存块。在该列表中,最近被访问的缓存块被移动到列表的头部,而其他缓存块向列表尾部移动,最近最少被访问的缓存块最先被移出LRU列表,从而保证最频繁使用的缓存块始终保存在内存中。 数据高速缓冲区大小 数据高速缓冲区越大,用户需要的数据在内存中的可能性就越大,即缓存命中率越高,从而减少了Oracle访问硬盘数据的次数,提高了数据库系统执行的效率。然而,如果数据高速缓冲区的值太大,Oracle就不得不在内存中寻找更多的块来定位所需要的数据,反而降低了系统性能。显然需要确定一个合理的数据高速缓冲区大小。 DB_CACHE_SIZE(标准块) (2)重做日志缓冲区 功能 重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。 为了提高工作效率,重做记录并不是直接写入重做日志文件中,而是首先被服务器进程写入重做日志缓冲区中,在一定条件下,再由日志写入进程(LGWR)把重做日志缓冲区的内容写入重做日志文件中做永久性保存。在归档模式下,当重做日志切换时,由归档进程(ARCH)将重做日志文件的内容写入归档文件中 重做日志缓冲区的工作过程 重做日志缓冲区的大小 L

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档