第8章数据库实例与操作模式.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数据库实例与操作模式 本章内容 Oracle实例 Oracle内存结构 Oracle后台进程 数据库操作模式 本章要求 掌握Oracle实例基本概念 掌握Oracle实例的内存结构、功能及管理 了解Oracle进程分类及其作用 掌握Oracle后台进程、功能及管理 了解Oracle数据库操作模式 Oracle数据库服务器由数据库和实例组成 数据库与实例的关系 数据库是Oracle用于保存数据的一系列物理结构和逻辑结构 用户直接与实例交互,由实例访问数据库。 每个数据库至少有一个与之对应的实例 启动数据库时先创建实例 Oracle 实例组成 8.2Oracle内存结构 系统全局区 SGA SGA区是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。 程序全局区PGA PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息。 8.2.1系统全局区SGA SGA 包含的内存结构有: 数据高速缓冲区(Database Buffer Cache) 共享池(Shared Pool) 重做日志缓冲区(Redo Log Buffer) 其他结构 (例如锁管理、统计数据) 在SGA,有两个可配置的可选内存结构: 大池(Large Pool) Java池(Java Pool) 数据高速缓冲区 功能 数据缓冲区存储的是从数据文件中检索出来的数据拷贝。应用程序要访问的数据必须从磁盘的数据文件读到数据缓冲区中处理。 在数据缓冲区中被修改后的数据由数据写入进程写到硬盘的数据文件中永久保存。 提高获取和更新数据的性能 缓冲块的类型: “脏”缓存块(Dirty Buffers) 保存的是已经被修改过的数据 空闲缓存块(Free Buffers) 不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。 命中缓存块(Pinned Buffers) 正被使用,或者被显式声明为保留的缓存块 缓冲块的管理 写列表:该列表中包含那些已经被修改但还没有写入数据文件的脏缓存块。 LRU列表(Least Recently Used):该列表中包含所有的空闲缓存块、命中缓存块以及那些还没有来得及移入到脏缓存块列表的脏缓存块。在该列表中,最近被访问的缓存块被移动到该列表的头部,而其他缓存块向列表尾部移动,最近最少被访问的缓存块最先被移出LRU列表,从而保证最频繁使用的数据块始终保存在内存中 数据高速缓冲区大小 DB_CACHE_SIZE (DB_BLOCK_SIZE、DB_BLOCK_BUFFERS) 可以在参数文件中设置数据高速缓冲区的大小。数据高速缓冲区越大,用户需要的数据在内存中的可能性越大,即缓存命中率高,从而减少了Oracle访问硬盘数据的次数,提高数据库系统执行的效率。然而,数据高速缓冲区的值太大,Oracle不得不在内存中寻找更多的块来定位所需要数据,反而降低了系统性能。因此需要确定一个合理的数据高速缓冲区的大小。 重做日志缓冲区 功能 用于缓存在用户对数据进行修改的操作过程中生成的重做记录。当重做日志缓冲区被添满时,由日志写入进程把重做日志缓冲区的内容写到磁盘的重做日志文件中做永久的保存。 重做日志缓冲区的大小 LOG_BUFFER 在参数文件中设置,LOG_BUFFER的值越大,重做日志缓冲区就可以存放更多的事务提交的记录,减少了数据被频繁填充到重做日志文件中的次数。 共享池 功能 用于缓存与SQL或PL/SQL语句、数据字典、资源锁以及其他控制结构相关的数据 组成 库缓存 库缓存用于缓存已经解释并执行过的SQL语句和PL/SQL程序代码,以提高SQL或PL/SQL程序的执行效率。 包括SQL工作区和PL/SQL工作区 数据字典缓存区 数据字典缓存区保存最常用的数据字典信息 共享池大小 SHARED_POOL_SIZE 合适的共享池大小,可使编译过的程序代码长驻内存,大大降低重复执行相同的SQL语句、PL/SQL程序的系统开销,从而提高数据库的性能。 大型池 功能 大型池是一个可选的内存配置项,主要为Oracle多线程服务器、服务器I/O进程、数据库备份与恢复操作、执行具有大量排序操作的SQL语句、执行并行化的数据库操作等需要大量缓存的操作提供内存空间。如果没有在SGA区中创建大型池,上述操作所需要的缓存空间将在共享池或PGA中分配,因而影响共享池或PGA的使用效率。 大型池大小 大型池的大小由参数LARGE_POOL_SIZE参数指定,在数据库运行期间,可以使用ALTER SYSTEM语句修改大型池的大小, Java池 功能 Java

文档评论(0)

msb + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8134116003000000

1亿VIP精品文档

相关文档