第3章Oracle数据库系统结构.pptVIP

  • 3
  • 0
  • 约6.05千字
  • 约 57页
  • 2019-03-09 发布于湖北
  • 举报
缓冲块的类型 脏缓存块(Dirty Buffers):脏缓存块中保存的是已经被修改过的数据。 空闲缓存块(Free Buffers):空闲缓存块中不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。 命中缓存块(Pinned Buffers):命中缓存块是那些正被使用的数据块,同时还有很多会话等待修改或访问的数据块。 干净缓存块(Clean Buffers):干净缓存块是指那些当前没有被使用,即将被换出内存的缓存块。 缓存块的管理 脏缓存块列表:包含那些已经被修改但还没有写入数据文件的脏缓存块。 LRU列表(Least Recently Used):包含所有的空闲缓存块、命中缓存块和那些还没有来得及移入到脏缓存块列表中的脏缓存块。在该列表中,最近被访问的缓存块被移动到列表的头部,而其他缓存块向列表尾部移动,最近最少被访问的缓存块最先被移出LRU列表,从而保证最频繁使用的缓存块始终保存在内存中。 数据高速缓冲区大小 数据高速缓冲区越大,用户需要的数据在内存中的可能性就越大,即缓存命中率越高,从而减少了Oracle访问硬盘数据的次数,提高了数据库系统执行的效率。然而,如果数据高速缓冲区的值太大,Oracle就不得不在内存中寻找更多的块来定位所需要的数据,反而降低了系统性能。显然需要确定一个合理的数据高速缓冲区大小。 DB_CACHE_SIZE(标准块) 重做日志缓冲区 功能 重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。 为了提高工作效率,重做记录并不是直接写入重做日志文件中,而是首先被服务器进程写入重做日志缓冲区中,在一定条件下,再由日志写入进程(LGWR)把重做日志缓冲区的内容写入重做日志文件中做永久性保存。在归档模式下,当重做日志切换时,由归档进程(ARCH)将重做日志文件的内容写入归档文件中 重做日志缓冲区的工作过程 重做日志缓冲区的大小 LOG_BUFFER 较大的重做日志缓冲区,可以减少对重做日志文件写的次数,适合长时间运行的、产生大量重做记录的事务。 共享池 功能 共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息,是对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 Java池 功能 Java提供对Java程序设计的支持,用于存储Java代码、Java语句的语法分析表、Java语句的执行方案和进行Java程序开发。 Java池大小 JAVA_POOL_SIZE 通常不小于20M,以便安装Java虚拟机 流池 功能 流池是一个可选的内存配置项,用于对流的支持。 流池大小 STREAMS_POOL_SIZE 3.3.3PGA PGA是一个私有的内存区,不能共享,每个服务器进程只能访问自己的PGA,因此PGA又称为私有全局区(Private Global Area)。 系统同时为每个后台进程分配私有的PGA区。所有服务器进程PGA与所有后台进程PGA大小的和,即为实例的PGA的大小。 PGA随着服务器进程与后台进程的启动而分配,随着服务器进程和后台进程的终止而被释放。 PGA构成: 排序区(Sort Area):存放排序操作所产生的临时数据。 游标信息区(Cursor Information):存放执行游标操作时所产生的数据。 会话信息区(Session Information):保存用户会话所具有的权限、角色、性能统计信息。 堆栈区(Stack Space):用于保存会话过程中的绑定变量、会话变量等信息。 3.4 Oracle数据库后台进程 Oracle进程概述 Oracle服务器进程 Oracle后台进程 3.4.1 Oracle进程概述 进程的概念 进程是操作系统中一个独立的可以调度的活动,用于完成指定的任务。进程与程序的区别在于: 进程是动态的概念,即动态

文档评论(0)

1亿VIP精品文档

相关文档