第1章数据库实例与操作模式精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2.1 SGA
SGA 包含的内存结构有:
数据高速缓冲区(Database Buffer Cache) 共享池(Shared Pool) 重做日志缓冲区(Redo Log Cache) 大型池(Large Pool) Java池(Java Pool) 流池(Streams Pool) 其他结构(如固定SGA、锁管理等)
DB_CACHE_SIZE(标准块)
2009
Oracle 10g数据库基础教程
(2)重做日志缓冲区
功能
重做日志缓冲区用于缓存用户对数据库进行修改操作 时生成的重做记录。
为了提高工作效率,重做记录并不是直接写入重做日 志文件中,而是首先被服务器进程写入重做日志缓冲 区中,在一定条件下,再由日志写入进程(LGWR) 把重做日志缓冲区的内容写入重做日志文件中做永久 性保存。在归档模式下,当重做日志切换时,由归档 进程(ARCH)将重做日志文件的内容写入归档文件 中
2009
Oracle 10g数据库基础教程
数据高速缓冲区大小
数据高速缓冲区越大,用户需要的数据在内存中的 可能性就越大,即缓存命中率越高,从而减少了 Oracle访问硬盘数据的次数,提高了数据库系统执 行的效率。然而,如果数据高速缓冲区的值太大, Oracle就不得不在内存中寻找更多的块来定位所需 要的数据,反而降低了系统性能。显然需要确定一 个合理的数据高速缓冲区大小。
PGA
PGA是在用户进程连接数据库、创建一个会话时,由Oracle为 用户分配的内存区域,保存当前用户私有的数据和控制信息,因 此该区又称为私有全局区(Private Global Area)。每个服务 器进程只能访问自己的PGA,所有服务器进程的PGA总和即为实 例的PGA的大小。
2009
Oracle 10g数据库基础教程
2009
Oracle 10g数据库基础教程
(1)数据高速缓冲区
功能
存储从数据文件中检索出来的数据拷贝。应 用程序要访问的数据必须从磁盘的数据文件 读到数据缓冲区中处理。
在数据缓冲区中被修改后的数据由数据写入 进程写到硬盘的数据文件中永久保存。
提高获取和更新数据的性能。
Βιβλιοθήκη Baidu
2009
Oracle 10g数据库基础教程
数据高速缓冲区的工作过程
2009
Oracle 10g数据库基础教程
缓冲块的类型
脏缓存块(Dirty Buffers)
脏缓存块中保存的是已经被修改过的数据。当一条SQL语句 对某个缓存块中的数据进行修改后,这个缓存块就被标记为 脏缓存块。它们最终将由DBWR进程写入数据文件,以永久 性地保存修改结
2009
Oracle 10g数据库基础教程
8.1实例概述
Oracle实例的概念
Oracle数据库主要由放在磁盘中的物理数据库和对物 理数据库进行管理的数据库管理系统。其中数据库管 理系统是处于用户与物理数据库之间的一个中间层软 件,又称为实例,由一系列内存结构和后台进程组成。
在启动数据库时,Oracle首先在内存中获取一定的空 间,启动各种用途的后台进程,即创建一个数据库实 例,然后由实例装载数据文件和重做日志文件,最后 打开数据库。用户操作数据库的过程实质上是与数据 库实例建立连接,然后通过实例来连接、操作数据库 的过程。
2009
Oracle 10g数据库基础教程
数据库与实例的关系
单实例数据库系统
多实例数据库系统
2009
Oracle 10g数据库基础教程
实例组成
内存结构:系统全局区(SGA)和程序全局区(PGA) 后台进程组成
2009
Oracle 10g数据库基础教程
客户应用程序 服务器进程
实
例
处理数据的内存结构
8.2 Oracle内存结构
系统全局区(System Global Area,SGA) 程序全局区(Program Global Area,PGA)
2009
Oracle 10g数据库基础教程
SGA
SGA是由Oracle分配的共享内存结构,包含一个数据库实例共 享的数据和控制信息。当多个用户同时连接同一个实例时,SGA 数据可供多个用户共享,SGA又称为共享全局区(Shared Global Area)。用户对数据库的各种操作主要在SGA中进行。 该内存区随数据库实例的创建而分配,随实例的终止而释放。
后台进程
数据库
2009
Oracle 10g数据库基础教程
用户进程
服务器进程
PGA
共享池 库缓冲区 数据字典
缓冲区
实例 SGA
数据库缓存 日志缓存
PMON SMON DBWR LGWR CKPT Others
参数文件 口令文件
数据文 件
控制文件 重做日志 文件
归档日志 文件
数据库
2009
Oracle 10g数据库基础教程
2009
Oracle 10g数据库基础教程
重做日志缓冲区的工作过程
2009
Oracle 10g数据库基础教程
重做日志缓冲区的大小
LOG_BUFFER
较大的重做日志缓冲区,可以减少对重做日志文件写 的次数,适合长时间运行的、产生大量重做记录的事 务。
2009
Oracle 10g数据库基础教程
2009
Oracle 10g 数据库基础教程
第8章 数据库实例
2009
Oracle 10g数据库基础教程
本章内容
Oracle实例概述 Oracle内存结构 Oracle后台进程
2009
Oracle 10g数据库基础教程
本章要求
掌握Oracle实例基本概念 掌握Oracle实例的内存结构、功能及管理 了解Oracle进程分类及其作用 掌握Oracle后台进程、功能及管理
空闲缓存块(Free Buffers)
空闲缓存块中不包含任何数据,它们等待后台进程或服务器 进程向其中写入数据。当Oracle从数据文件中读取数据时, 将会寻找空闲缓存块,以便将数据写入其中
命中缓存块(Pinned Buffers)
正被使用,或者被显式地声明为保留的缓存块。这些缓存块 始终保留在数据高速缓冲区中,不会被换出内存。
(3)共享池
功能
共享池用于缓存最近执行过的SQL语句、PL/SQL程 序和数据字典信息,是对SQL语句、PL/SQL程序进 行语法分析、编译、执行的区域。