Oracle数据库的体系结构经典课件

上传人:luobi****88888 文档编号:133229757 上传时间:2020-05-25 格式:PPT 页数:33 大小:211.50KB
返回 下载 相关 举报
Oracle数据库的体系结构经典课件_第1页
第1页 / 共33页
Oracle数据库的体系结构经典课件_第2页
第2页 / 共33页
Oracle数据库的体系结构经典课件_第3页
第3页 / 共33页
Oracle数据库的体系结构经典课件_第4页
第4页 / 共33页
Oracle数据库的体系结构经典课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《Oracle数据库的体系结构经典课件》由会员分享,可在线阅读,更多相关《Oracle数据库的体系结构经典课件(33页珍藏版)》请在金锄头文库上搜索。

1、2 第2章Oracle数据库的体系结构 本章要点 了解Oracle的物理存储结构 了解Oracle的逻辑存储结构 了解Oracle进程结构 了解Oracle内存结构 熟悉Oracle中的数据字典 理解数据字典的作用 3 2 1物理存储结构 Oracle的物理存储结构是由存储在磁盘中的操作系统文件所组成的 Oracle在运行时需要使用这些文件 一般Oracle数据库在物理上主要由3种类型的文件组成 分别是数据文件 dbf 控制文件 ctl 和重做日志文件 log 4 2 1 1数据文件 数据文件 DataFile 是指存储数据库数据的文件 数据文件一般有以下几个特点 1 一个表空间由一个或多个数

2、据文件组成 2 一个数据文件只对应一个数据库 而一个数据库通常包含多个数据文件 3 数据文件可以通过设置其自动扩展参数 实现其自动扩展的功能 如果想要了解数据文件的信息 可以查询数据字典dba data files和v datafile 其中 dba data files主要有如下字段 file name 数据文件的名称以及存放路径 file id 数据文件在数据库中的ID号 tablespace name 数据文件对应的表空间名 bytes 数据文件的大小 blocks 数据文件所占用的数据块数 status 数据文件的状态 autoextensible 数据文件是否可扩展 5 2 1 1数

3、据文件 另一个数据字典v datafile则记录了数据文件的动态信息 它主要有如下字段 file 存放数据文件的编号 status 数据文件的状态 checkpoint change 数据文件的同步号 随着系统的运行自动修改 以维持所有数据文件的同步 bytes 数据文件的大小 blocks 数据文件所占用的数据块数 name 数据文件的名称以及存放路径 6 2 1 2控制文件 控制文件 ControlFile 是一个很小的二进制文件 用于描述和维护数据库的物理结构 在Oracle数据库中 控制文件相当重要 它存放有数据库中数据文件和日志文件的信息 例2 3 使用数据字典v controlfi

4、le 查看当前数据库的控制文件的名称与路径 具体如下 SQL COLUMNnameFORMATA50 SQL SELECTnameFROMv controlfile NAME E APP ADMINISTRATOR ORADATA ORCL CONTROL01 CTLE APP ADMINISTRATOR ORADATA ORCL CONTROL02 CTLE APP ADMINISTRATOR ORADATA ORCL CONTROL03 CTL 7 2 1 3重做日志文件 重做日志文件 RedoLogFile 是记录数据库中所有修改信息的文件 简称日志文件 日志文件是数据库系统的最重要的文

5、件之一 它可以保证数据库安全 是进行数据库备份与恢复的重要手段 如果日志文件受损 数据库同样可能会无法正常运行 Oracle中的日志文件组是循环使用的 当所有日志文件组的空间都被填满后 系统将重新切换到第一个日志文件组 发生日志切换时 日志文件组中已有的日志信息是否被覆盖 取决于数据库的运行模式 8 2 1 4其他文件 1 参数文件参数文件用于记录Oracle数据库的基本参数信息 主要包括数据库名和控制文件所在路径等 参数文件分为文本参数文件和服务器参数文件 2 备份文件文件受损时 可以借助于备份文件对受损文件进行恢复 对文件进行还原的过程 就是用备份文件替换该文件的过程 3 归档重做日志文件

6、归档重做日志文件用于对写满的日志文件进行复制并保存 具体功能由归档进程ARCn实现 该进程负责将写满的重做日志文件复制到归档日志目标中 4 警告 跟踪日志文件当一个进程发现了一个内部错误时 它可以将关于错误的信息存储到它的跟踪文件中 而警告文件则是一种特殊的跟踪文件 它包含错误事件的说明 而随之产生的跟踪文件则记录该错误的详细信息 9 2 2逻辑存储结构 Oracle数据库的逻辑存储结构如图2 1所示 10 2 2 1表空间 Tablespace 表空间是Oracle中最大的逻辑存储结构 它与物理上的一个或多个数据文件相对应 每个Oracle数据库都至少拥有一个表空间 表空间的大小等于构成该表

7、空间的所有数据文件大小的总和 在安装Oracle时 Oracle数据库系统一般会自动创建一系列表空间 如system 可以通过数据字典dba tablespaces查看表空间的信息 11 2 2 1表空间 Tablespace 12 2 2 2段 Segment 按照段中所存储数据的特征 可以将段分为4种类型1 数据段2 索引段3 临时段4 回退段 13 2 2 3区 Extent 在Oracle数据库中 区是磁盘空间分配的最小单位 由一个或多个数据块组成 当一个段中的所有空间被使用完后 系统将自动为该段分配一个新的区 一个或多个区组成一个段 所以段的大小由区的个数决定 不过 一个数据段可以包

8、含的区的个数并不是无限制的 它由如下两个参数决定 minextents 定义段初始分配的区的个数 也就是段最少可分配的区的个数 maxextents 定义一个段最多可以分配的区的个数 14 2 2 4数据块 Block 数据块 也可以简称为块 是用来管理存储空间的最基本单位 也是最小的逻辑存储单位 Oracle数据库在进行输入输出操作时 都是以块为单位进行逻辑读写操作的 数据块都具有相同的结构 其结构如图2 2所示 块的默认大小 由初始化参数db block size指定 数据库创建完成之后 该参数值无法再修改 通过SHOWPARAMETER语句可以查看该参数的信息 如下 SQL SHOWPA

9、RAMETERdb block size NAMETYPEVALUE db block sizeinteger8192 15 2 3Oracle进程结构 Oracle数据库启动时 会启动多个Oracle后台进程 后台进程是用于执行特定任务的可执行代码块 在系统启动后异步地为所有数据库用户执行不同的任务 通过查询数据字典v bgprocess 可以了解数据库中启动的后台进程信息 16 2 3 1DBWn进程 DBWn DatabaseWriter 数据库写入 进程 是Oracle中采用LRU LeastRecentlyUsed 最近最少使用 算法将数据缓冲区中的数据写入数据文件的进程 DBWn进

10、程主要有如下几个作用 管理数据缓冲区 以便用户进程总能找到空闲的缓冲区 将所有修改后的缓冲区数据写入数据文件 使用LRU算法将最近使用过的块保留在内存中 通过延迟写来优化磁盘I O读写 17 2 3 1DBWn进程 其工作过程如下 1 当一个用户进程产生后 服务器进程查找内存缓冲区中是否存在用户进程所需要的数据 2 如果内存中没有需要的数据 则服务器进程从数据文件中读取数据 这时 服务器进程会首先从LRU中查找是否有存放数据的空闲块 3 如果LRU中没有空闲块 则将LRU中的DIRTY数据块移入DIRTYLIST 弄脏表 4 如果DIRTYLIST超长 服务器进程将会通知DBWn进程将数据写入

11、磁盘 刷新缓冲区 5 当LRU中有空闲块后 服务器进程从磁盘的数据文件中读取数据并存放到数据缓冲区中 18 2 3 2LGWR进程 LGWR LogWriter 日志写入 进程 是负责管理日志缓冲区的一个后台进程 用于将日志缓冲区中的日志数据写入磁盘的日志文件中 LGWR进程将日志信息同步地写入在线日志文件组的多个日志成员文件中 如果日志文件组中的某个成员文件被删除或者不可使用 则LGWR进程可以将日志信息写入该组的其他文件中 从而不影响数据库正常运行 但会在警告日志文件中记录错误 19 2 3 3CKPT进程 CKPT CheckPoint 检查点或检验点 进程 一般在发生日志切换时自动产生

12、 用于缩短实例恢复所需的时间 在检查点期间 CKPT进程更新控制文件与数据文件的标题 从而反映最近成功的SCN SystemChangeNumber 系统更改号 在Oracle数据库中 控制检查点产生的参数有如下两种 log checkpoint timeoutlog checkpoint interval 20 2 3 4SMON进程 SMON SystemMonitor 系统监控 进程 用于数据库实例出现故障或系统崩溃时 通过将联机重做日志文件中的条目应用于数据文件 执行崩溃恢复 SMON进程一般用于定期合并字典管理的表空间中的空闲空间 此外 它还用于在系统重新启动期间清理所有表空间中的临

13、时段 21 2 3 5PMON进程 PMON ProcessMonitor 进程监控 进程 用于在用户进程出现故障时执行进程恢复操作 负责清理内存存储区和释放该进程所使用的资源 PMON进程周期性检查调度进程和服务器进程的状态 如果发现进程已死 则重新启动它 PMON进程被有规律地唤醒 检查是否需要使用 或者其他进程发现需要时也可以调用此进程 22 2 3 6ARCn进程 ARCn ArchiveProcess 归档 进程 用于将写满的日志文件复制到归档日志文件中 防止日志文件组中的日志信息由于日志文件组的循环使用而被覆盖 一个Oracle数据库实例中 允许启动的ARCn进程的个数由参数log

14、 archive max processes决定 23 2 3 7RECO进程 RECO Recovery 恢复 进程存在于分布式数据库系统中 用于自动解决在分布式数据库中出现的事务故障 当一个数据库服务器的RECO进程试图与一个远程服务器建立通信时 如果远程服务器不可用或者无法建立网络连接 则RECO进程将自动在一个时间间隔之后再次连接 24 2 4Oracle内存结构 Oracle内存结构是影响数据库性能的主要因素之一 其结构如图2 3所示 25 2 4 1系统全局区 SGA 系统全局区 SystemGlobalArea SGA 是Oracle为系统分配的一组共享的内存结构 可以包含一个数

15、据库实例的数据或控制信息 1 数据缓冲区数据缓冲区用于存储从磁盘数据文件中读取的数据 供所有用户共享 由于系统读取内存的速度要比读取磁盘快得多 所以数据缓冲区的存在可以提高数据库的整体效率 2 日志缓冲区日志缓冲区用于存储数据库的修改操作信息 3 共享池共享池用于保存最近执行的SQL语句 PL SQL程序的数据字典信息 它是对SQL语句和PL SQL程序进行语法分析 编译和执行的内存区域 共享池主要包括如下两种子缓存 库缓存 LibraryCache 数据字典缓存 DataDictionaryCache 4 大型池大型池 用于提供一个大的缓冲区供数据库的备份与恢复操作使用 它是SGA的可选区域

16、 5 Java池Java池 用于在数据库中支持Java的运行 26 2 4 2程序全局区 PGA 程序全局区 ProgramGlobalArea PGA 是Oracle系统分配给一个进程的私有内存区域 程序全局区的大小由参数pga aggregate target决定 可以通过SHOWPARAMETER语句查看该参数的信息 如下 SQL SHOWPARAMETERpga aggregate target NAMETYPEVALUE pga aggregate targetbiginteger20M 27 2 5数据字典 数据字典是由Oracle自动创建并更新的一组表 它是Oracle数据库的重要组成部分 提供了数据库结构 数据库对象空间分配和数据库用户等有关的信息 数据字典的所有者为sys用户 而数据字典表和数据字典视图都被保存在system表空间中 28 2 5 1Oracle数据字典介绍 Oracle数据字典 DataDictionary 是存储在数据库中的所有对象信息的知识库 Oracle数据库管理系统使用数据字典获取对象信息和安全信息 而用户和数据库系统管理员则用数据字典来查询

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

当前位置:首页 > IT计算机/网络 > 数据结构与算法

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