Oracle体系结构_培训

上传人:飞*** 文档编号:46091165 上传时间:2018-06-22 格式:PPT 页数:74 大小:1.56MB
返回 下载 相关 举报
Oracle体系结构_培训_第1页
第1页 / 共74页
Oracle体系结构_培训_第2页
第2页 / 共74页
Oracle体系结构_培训_第3页
第3页 / 共74页
Oracle体系结构_培训_第4页
第4页 / 共74页
Oracle体系结构_培训_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《Oracle体系结构_培训》由会员分享,可在线阅读,更多相关《Oracle体系结构_培训(74页珍藏版)》请在金锄头文库上搜索。

1、Oracle体系结构郑州蓝讯网络科技有限公司 2010-10-20u 物理结构 u 逻辑结构 u 内存结构 u 数据库实例与进程 u 数据字典Oracle体系结构Oracle体系结构概述2018/6/223u 数据文件 u 日志文件u 控制文件 u 参数文件 物理结构Oracle物理存储结构数据库文件Password fileParameter fileArchived log filesControl filesData files Redo log filesDatabase2018/6/226数据文件用来存储数据库中的全部数据 ,如数据库表中的数据和索引数据。通常为 后缀名为.dbf格式

2、的文件。数据文件日志文件(又称重做日志文件),用 于记录数据库所做的全部变更(如增加、 删除、修改),以便在系统发生故障时, 用它对数据库进行恢复。名字通常为Log*.dbf格式日志文件根据在事务信息将被覆盖时,是否应 该将文件归档,数据库分为以下两种归档 模式:ARCHIVELOG(归档日志)或 NOARCHIVELOG(非归档日志)模式。 归档模式每个Oracle数据库都有相应的控制文 件,用于打开、存取数据库。它们是较小 的二进制文件,其中记录了数据库的物理 结构。名字通常为Ctr*.ctl格式控制文件控制文件中的内容只能够由Oracle本身 来修改。每个数据库必须至少拥有一个控制 文件

3、。一个数据库也可以同时拥有多个控制 文件,但是一个控制文件只能属于一个数据 库。控制文件参数文件参数文件是一个ASCII文本文件,记录 Oracle数据库运行时的一些重要参数。名字通 常为initsid*.ora格式,如:initCIMS.ora,SID 相当于它所控制的数据库的标识符。每个 Oracle数据库和实例都有它自己惟一的init.ora 文件。 Oracle9i新引入一个服务器参数文件( SPFILE),一个服务器参数文件(SPFILE) 可以被认为是在Oracle数据库服务器端的初始 化参数文件。存储在一个服务器参数文件的初 始化参数是永久的,它提供了由Oracle数据库 服务器

4、自我调节的一个基础。服务器参数文件 是二进制文件,不能使用一个文本编辑器浏览 或编辑。参数文件表空间段区 数据库块逻辑结构模式对象 Oracle逻辑结构图表空间的分类表空间的使用表空间中对象的存储表空间数据库的控制空间分配(例如表和索引) 为数据库用户设置空间配额 备份或恢复数据Oracle中除了用户创建的存放数据对象 的数据表空间外,还有以下类型的表空间: (1)System表空间 (2)回滚表空间(RollBack TableSpace) (3)临时表空间(Temp TableSpace)1表空间的分类在数据库中使用多个表空间具有如下优势:(1)能够将数据字典与用户数据分离开来, 避免由于

5、字典对象和用户对象保存在同一个数据 文件中而产生的10冲突。(2)能够将回退数据与用户数据分离开来, 避免由于硬盘损坏而导致永久性的数据丢失。(3)能够将表空间的数据文件分散保存到不 同硬盘上,平均分布物理10操作。2表空间的使用 (4)能够将某个表空间设置为脱机状态或联 机状态,以便对数据库的一部分进行备份和恢复 。(5)能够将某个表空间设置为只读状态,从 而将数据库的一部分设置为只读状态。(6)能够为某种特殊用途专门设置一个表空 间,比如临时表空间等,以优化表空间的使用效 率。(7)能够更加灵活地为用户设置表空间限额 。如果表空间只对应一个数据文件,该表空间 中所有的对象都存储在此数据文件

6、中。如果表空 间对应于多个数据文件,可将一个对象的数据存 储在该表空间的任意一个数据文件中,也可将同 一个对象的数据分布在表空间的多个数据文件中 。3表空间中对象的存储 数据段段 索引段 临时段 回退段 数据段中保存的是表中的记录。1数据段 在Oracle数据库中每个未分区索引都 有一个索引段保存索引中的索引条目。对 于一个分区索引,每个分区都有一个索引 段保存它的数据。2索引段 当处理查询时,Oracle可能会需要使 用到一些临时存储空间,用于临时保存解 析过的查询语句以及在排序过程中产生的 临时数据。Oracle会自动在专门用于存储 临时数据的表空间为操作分配临时段。3临时段 回滚段用于存

7、放数据修改之前的值( 包括数据修改之前的位置和值)。 回滚段的作用主要有以下几方面: (1)事务回滚 (2)事务恢复 (3)读一致性4回滚段 回滚段数据库操作老旧的数据产生新的数 据回滚段表区是由很多连续的数据块组成的 数据库存储空间。缺省情况下,数据 库会使用表空间中默认的存储参数来 管理他们的区。区 数据库块也称逻辑块或Oracle块,它对应 磁盘上一个或多个物理块,它的大小由初 始化参数db_block_size(在文件init.ora中) 决定,典型的大小是8k。数据库块Oracle存储结构Pckfree和Pctused两个参数用来优化数据 块空间的使用。 PCTFREE:块中保留用于

8、UPDATE 操作的空间百分比,当数据占用的空间达 到此上限时,新的数据将不能再插入到此 块中; PCTUSED:指定块中数据使用空间 的最低百分比;Oracle数据库的模式对象包括表、视图 、序列、同义词、索引、触发器、存储过 程等。 模式对象 内存结构 系统全局区程序全局区排序区系统全局区(SGA,System Global Area.)是内 存结构的主要组成部分,是Oracle为一个实例分配 的一组共享内存缓冲区,保存着Oracle系统与所有 数据库用户的共享信息,包括数据维护、SQL语句 分析,重做日志管理等。是实例的主要部分。系统全局区 数据块缓冲区中存放着Oracle系统最近从数据

9、 文件中读取的数据块。数据块缓冲区又称用户数据高速缓冲区,为所 有与该实例相链接的用户进程所共享。 1数据块缓冲区数据缓冲区 存储最近使用的块,包括 DB_CACHE_SIZE、DB_KEEP_CACHE_SIZE以及DB_BK_CACHE_SIZE Data buffer cache数据块缓冲区的容量受物理容量限制。在Oracle9i中,数据库缓存的大小可以直接由初 始化参数DB_ACHESIZE指定,该参数可以直接 以K字节或M字节为单位来设置数据库缓存的大 小。字典缓冲区用于保存数据字典中的行。数据字典缓冲区也通过最近最少使用( LRU)算法来管理。大小由数据库内部管 理。字典缓存区是S

10、QL共享池的一部分, 共享池的大小(以字节为单位)由数据 库文件init.ora中的SHARED_POOL_SIZE 参数来设置。2字典缓冲区 对数据库进行修改的任何事务(Transaction) 在记录到重做日志之前都必须首先放到重做日 志缓冲区(Redo Log Buffer.)中。重做日志 缓冲区是专为此开辟的一块内存区域,重做日 志缓存中的内容将被LGWR后台进程随时写入 重做日志文件。 3重做日志缓冲区 重做日志缓冲区o大小由LOG_BUFFER确定o记录实例做出的修改o顺序使用o是循环缓冲区Redo log buffer重做日志缓存是一个循环缓存区,在使用时从 顶端向底端写入数据,

11、然后再返回到缓冲区的 起始点循环写入。重做日志缓冲区的大小(以 字节为单位)由init.ora文件中的LOGBUFFER 参数决定。 数据库数据库实例LGWRSGARedo log bufferData buffer cacheShared poolCOMMIT处理1234用户进程服务进程Control filesData files Redo log files共享SQL池(Shared SQL Pool)相当于程 序高速缓冲区,所有的用户程序都存放在 共享SQL池中。SQL共享池包括库高速缓存、数据字典高 速缓存和服务器控制结构。4共享SQL池 共享池的大小取决于init.ora文件参数

12、SHARED_POOL_SIZE,它是以字节为单 位的。用户必须将这个值设得足够大, 以确保有足够的可用空间来装载和存储 PL/SQL块和SQL语句。 库缓存中包含SQL语句文本、分析代码和执行计划 数据字典缓存中包含表、字段和其他对象的定义与 权限 共享池的大小由SHARED_POOL_SIZE确定 Shared poolData dictionary cacheLibrary cache共享池SGARedo log bufferData buffer cacheShared poolDatabase11DML 语句的处理234UPDATE emp .User processServer p

13、rocessControl filesData files Redo log filesJava池为Java命令提供语法分析。5Java池 缓冲池把大数据集与其他的应用程序分 开,以减少它们争夺数据块缓冲区内相 同的资源。可以在SGA中创建多个缓冲 池 。6多缓冲池 程序全局区PGA(Program Global Area,PGA), 是单个Oracle进程使用的内存区域,不属于实例的 内存结构。它含有单个进程工作时需要的数据和 控制信息,PGA是非共享的,只有服务进程本身 才能够访问它自己的PGA区。程序全局区 排序区存在于请求排序的用户进程的内存中 ,由于排序需要内存空间,Oracle利用

14、该内 存排序数据,这部分空间称为排序区。该空 间的大小为适应排序数据量的大小,可增长 ,但受初始化参数SORT_AREA_SIZER所限 制。 排序区 数据库实例与进程Oracle数据库实例进程数据库是指物理上的数据库文件或逻辑上的 数据库结构。 基于之上管理和控制物理数据库的软件系统 ,称为数据库管理系统(DBMS)。数据库实例是指软件系统中用来访问数据库 文件集的存储结构以及后台进程的集合,它 是存取和控制数据库的软件机制。 Oracle数据库实例 数据库实例Background processes一个Oracle 实例:o是访问Oracle 数据库的一种方法o总是打开一个并且仅仅一个数据

15、库Memory structuresInstanceSGARedo log bufferData buffer cacheShared poolPMON DBW0SMON LGWRCKPTOthers进程又称任务,是操作系统中一个极为重要的 概念。一个进程执行一组操作,完成一个特定 的任务。对Oracle数据库管理系统来说,进程由 用户进程、服务器进程和后台进程所组成。进程与程序的区别在于前者是一个动态概念, 后者是一个静态实体;程序仅仅是指令的有序 集合,而进程则强调执行过程。进程可以动态 地创建,完成任务后即会消亡。进程 当用户运行一个应用程序时,系统就为 它建立一个用户进程。用户进程执行

16、的 是一个应用程序或Oracle工具程序的代 码,以完成用户所指定的任务。用户进 程不是实例。1用户进程服务器进程 服务器进程处理与应用程序相连的用户 进程的请求,它与用户进程相通讯,为 相连的用户进程的Oracle请求服务。2服务器进程 Oracle的后台进程主要包括: (1)SMON系统监控进程(system monitor) (2)PMON进程监控进程(process monitor) (3)DBWR数据库写进程 (4)LGWR日志文件写进程 (5)ARCH归档进程(archiver process) (6)RECO恢复进程 (7)LCKN封锁进程3后台进程 日志写 (LGWR)LGWR 在下列情况下写 日志:o提交o重做日志缓冲区三 分之一满o重做超过1 MBo在DBW0写之前DatabaseInstanceLGWRSGARedo log bufferData buffer cacheShared poolControl filesData files Redo lo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号