数据库培训课件-oracle体系结构.pptx

数据库培训课件-oracle体系结构.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;概述

1.数据库和实例

2.SGA

3.redo与undo

4.后台进程

5.物理结构

;数据库和实例

在Oracle领域中有两个词很容易混淆,这就是“实例”(instance)和“数据库”(database)。作为Oracle术语,这两个词的定义如下:

??数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracle10g的自动存储管理(ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。

??实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。

;数据库和实例

实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库;数据库和实例

;数据库和实例

;数据库和实例

;数据库和实例

;数据库和实例

;SGA和后台进程

Oracle有一个很大的内存块,称为系统全局区(SGA),在这里它会做以下工作:

维护所有进程需要访问的多种内部数据结构;

缓存磁盘上的数据,另外重做数据写至磁盘之前先在这里缓存;

保存已解析的SQL计划;

其它。

;SGA和后台进程

在UNIX环境中,这些进程会物理地附加到一个很大的共享内存段,这是操作系统中分配的一个内存块,可以由多个进程并发地访问(通常要使用shmget()和shmat())。

在Windows中,这些进程只是使用C调用(malloc())来分配内存,因为它们实际上是一个大进程中的线程,所以会共享相同的虚拟内存空间。Oracle还有一组供数据库进程/线程读写的文件(只允许Oracle进程读写这些文件)。这些文件保存了所有的表数据、索引、临时空间、重做日志等。;SGA和后台进程;SGA和后台进程

SGA分为不同的池(pool):

??Java池(Javapool):Java池是为数据库中运行的JVM分配的一段固定大小的内存。在Oracle10g中,Java池可以在数据库启动并运行时在线调整大小。

??大池(Largepool):共享服务器连接使用大池作为会话内存,并行执行特性使用大池作为消息缓冲区,另外RMAN备份可能使用大池作为磁盘I/O缓冲区。在Oracle10g和9iRelease2中,大池都可以在线调整大小。

??共享池(Sharedpool):共享池包含共享游标(cursor)、存储过程、状态对象、字典缓存和诸如此类的大量其他数据。在Oracle10g和9i中,共享池都可以在线调整大小。

;SGA和后台进程

??流池(Streampool):这是Oracle流(Stream)专用的一个内存池,Oracle流是数据库中的一个数据共享工具。这个工具是Oracle10g中新增的,可以在线调整大小。如果未配置流池,但是使用了流功能,Oracle会使用共享池中至多10%的空间作为流内存。

??“空”池(“Null”pool):这个池其实没有名字。这是块缓冲区(缓存的数据库块)、重做日志缓冲区和“固定SGA”区专用的内存。

对SGA整体大小影响最大的参数如下:

??JAVA_POOL_SIZE:控制Java池的大小。

??SHARED_POOL_SIZE:在某种程度上控制共享池的大小。

;SGA和后台进程

??LARGE_POOL_SIZE:控制大池的大小。;SGA和后台进程

重做缓冲区

如果数据需要写到在线重做日志中,则在写至磁盘之前要在重做缓冲区(redobuffer)中临时缓存这些数据。由于内存到内存的传输比内存到磁盘的传输快得多,因此使用重做日志缓冲区可以加快数据库的操作。数据在重做缓冲区里停留的时间不会太长。实际上,LGWR会在以下某个情况发生时启动对这个区的刷新输出(flush):

??每3秒一次

??无论何时有人提交请求

??要求LGWR切换日志文件

??重做缓冲区1/3满,或者包含了1MB的缓存重做日志数据

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档