




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
讲义 Oracle数据库 2009 3 第四章Oracle数据库体系结构 本章内容 4 1Oracle数据库的逻辑结构4 2Oracle数据库的物理结构4 3数据字典4 4Oracle的内存结构 4 1Oracle数据库的逻辑结构 从逻辑上看 Oracle数据库可以划分为表空间 段 区和块 以有效管理 存储 检索数据 Oracle数据库结构 数据库 表空间 用户表空间 索引表空间 临时表空间 回退表空间 段 数据段 索引段 临时段 回退段 区 空闲区 使用区 数据文件 用户文件 索引文件 临时文件 回退文件 数据块 4 1 1表空间 TABLESPACE 1 表空间及其作用逻辑上来说 Oracle数据库划分为表空间 一个表空间通常将相关的逻辑结构组织在一起 一个数据库通常由一个或多个表空间组成 表空间可分为系统 SYSTEM 表空间和非系统表空间 数据库的数据逻辑上存储在表空间上 实际上存储在表空间所对应的物理数据文件上 2 表空间类型数据字典管理表空间 Oracle8以下版本采用 本地化管理表空间 Oracle8i以上版本采用 Oracle8i Oracle9iRelease1两种方法都可采用 Oracle9iRelease2完全采用本地化管理表空间 两种管理方法的区别 数据字典管理表空间当空间需要扩充时必须通过查询数据字典来查找空闲块 对磁盘碎片不能自动合并 本地化管理表空间使用位图的方法查找空闲空间 产生的磁盘碎片可以自动合并 目前安装的数据库是Oracle9iRelease2版 可通过查询DBA TABLESPACES了解表空间的状态 表空间 用户表空间 系统表空间 数据库 磁盘驱动器1 磁盘驱动器2 数据文件1 数据文件2 数据文件3 一个表空间中的数据文件的个数与操作系统有关 一般来说是1022个 一个数据库中的数据文件的最大个数是65533 使用CREATEDATABASE或CREATECONTROLFILE语句中的MAXDATAFILES参数会限制每一个数据库的数据文件个数 数据库的表空间个数没有限制 但数据库只允许65533个数据文件 一个表空间至少有一个数据文件 因此数据库的表空间数不能超过65533个 数据库管理员 DBA 可利用表空间完成下列工作 控制数据库数据的磁盘分配 将确定的空间份额分配给数据库用户 通过使单个表空间联机或脱机 控制数据的可用性 执行部分数据库后备或恢复操作 为提高性能 跨越设备分配数据存储 3 建立表空间 下列命令建立一个表空间的格式 CREATETABLESPACEtablespaceDATAFILEdatafileSIZEnnnM autoxtendonnextnnnMmaxsizennnnM unlimited EXTENTMANAGEMENTLOCALUNIFORMSIZEnnnM AUTOALLOCATE tablespace 表空间datafile 数据文件autoxtendonnext 文件空间自动增加EXTENTMANAGEMENTLOCAL 代表本地化表空间UNIFORM 区大小相同AUTOALLOCATE 区大小系统动态自动分配 下列命令建立一个USER DATA本地化管理表空间 尺寸为100M CREATETABLESPACEUSER DATADATAFILE f oracle oradata test userl data dbf SIZE100mautoxtendonnext100mmaxsize1000mEXTENTMANAGEMENTLOCALUNIFORMsize500k 其中 f oracle oradata test userl data dbf SIZE100mautoxtendonnext100mmaxsize1000m是对数据文件的描述 而下面的子句是对表空间的描述 EXTENTMANAGEMENTLOCALUNIFORMsize500k 下列命令建立一个USER DATA本地化管理表空间 尺寸为300M DATAFILE从句指定多个数据文件 并用逗号隔开 以建立大容量的数据文件 CREATETABLESPACEUSER DATADATAFILE f oracle oradata test userl data dbf SIZE100mautoxtendonnext100mmaxsize1000m f oracle oradata test user2 data dbf SIZE100mautoxtendonnext100mmaxsizeunlimited f oracle oradata test user3 data dbf SIZE100mEXTENTMANAGEMENTLOCALUNIFORMsize500k 下列命令建立一个临时表空间 使用临时表空间可以使得排序操作更加有效 以改进性能 临时表空间内不能驻留永久数据 只能为临时段指定临时表空间 CreatetemporaryTablespaceTEMP2Tempfile D oracle oradata test Temp01 dbf Size500MEXTENTMANAGERMENTLOCALUniformSize5M 4 修改表空间 1 修改表空间的数据文件 给表空间增加数据文件ALTERTABLESPACEUSER DATAADDDATAFILE f oracle oradata user01 dbf SIZE30M 2 修改表空间的可用性 将表空间联机ALTERTABLESPACEUSER DATAONLINE 3 修改表空间的非可用性 将表空间脱机ALTERTABLESPACEAPPL DATAOFFLINE 4 修改表空间管理只读模式ALTERTABLESPACEUSER DATAREADONLY 5 修改表空间管理只读写模式ALTERTABLESPACEUSER DATAREADWRITE 5 查询表空间信息 有关表空间的信息 可以查询DBA TABLESPACES DBA DATA FILES DBA FREE SPACE V TABLESPACE V SORT USAGE V DATAFILE等数据字典和视图 DBA TABLESPACES包含了数据库中所有表空间的信息 表空间名字 默认的存储参数 类型 状态 是否永久 临时等 而USER TABLESPACES包含了用户拥有的表空间的信息 查询DBA DATA FILES返回表空间数据文件信息 表空间名 表空间的数据文件 数据文件尺寸 是否自动扩展设置信息 SELECTFILE NAME TABLESPACE NAME BYTES AUTOEXTENTSIBLE MAXBYTESFROMDBA DATA FILES 查询DBA FREE SPACE返回所有表空间中可用的自由区 查询一个表空间总的自由空间 USER FREE SPACE显示当前用户拥有的表空间中的自由区 SELECTTABLESPACE NAME SUM BYTES FREE SPACEFROMDBA FREE SPACEGROUPBYTABLESPACE NAME 查询该视图从控制文件获得表空间名 SELECT FROMV TABLESPACE V DATAFILE 这是动态性能视图 包含数据文件名字 尺寸 数据文件所在的表空间名 数据文件的状态 OFFLINE ONLINE READWRITE READONLY 其他视图DBA SEGMENTS ALL SEGMENTS USER SEGMENTS 包含段的类型 段的尺寸 表空间相关的存储参数 DBA EXTENTS ALL EXTENTS USER EXTENTS 包含区的尺寸 与区相关的段和表空间信息 DBA TEMP FILES 包含本地化管理的临时表空间的临时文件 DBA USERS 包含为用户指定的默认表空间和临时表空间 V TEMP EXTENT MAP 包含一个本地化管理的临时表空间的所有区的信息 6 UNDO表空间UNDO表空间Oracle9i中引入的全新的概念 它自动对回退段进行管理 当一个回退段不足时 一个事务可以使用多个回退段 Oracle会自动使用其他回退段 不终止事务的运行 4 1 2段 SEGMENT 段是表空间中指定类型的逻辑存储结构 是为表 索引等逻辑结构分配的区 extent 的集合 Oracle的段主要有5种类型 数据段 用于存储表 分区的数据 每建立一张表 就分配一个段 索引段 存储索引数据 每建立一个索引 就分配一个索引段 临时段 数据库执行排序或子查询时需要临时工作区 系统自动建立临时段 操作执行结束自动释放临时段 回退段 当用户对数据库执行修改操作时 系统将修改前的数据存入回退段 在执行回退命令rollback时 回退段中的数据用于撤消所作的修改 4 1 3区 EXTENT 区是分配空间的最小单位 一个区由一组连续的逻辑块组成 一个段至少包含一个区 当一段中所有空间已使用完 Oracle为该段分配一个新的区 区的分配和回收是系统自动完成的 4 1 4块 BLOCK 块是Oracle内最小的逻辑单元 是I O的最小单位 一个数据块对应一个或多个操作系统物理块 块的大小是在数据库建立时 使用参数DB BLOCK SIZE决定 系统缺省值为8K 该参数在数据库建立后不能更改 除非重建数据库 4 2Oracle数据库的物理结构 数据库的物理结构是数据库中操作系统文件的集合 4 2 1数据文件 数据文件有如下特点 每个数据库至少有一个数据文件 每个数据文件只与一个表空间 一个数据库相关 在数据库中建立的表 索引等对象只能存储在一个表空间中 但这些对象的物理存储可以在该表空间的不同数据文件上 一般的做法是将表数据与索引数据存放在不同的数据文件上 将回退信息与临时数据存放在不同的数据文件上 对象1 对象2 对象3 表空间1 表空间2 数据文件1 数据文件2 数据文件3 对象4 对象5 创建数据文件 当建立一个表空间时 会建立相应的数据文件 如建立一300M的数据文件 CREATETABLESPACEAPPL DATADATAFILE f oracle oradata test appl data dbf SIZE300M 也可以给已经存在的表空间增加数据文件 ALTERTABLESPACEUSERSADDDATAFILE f oracle oradata test appl data dbf SIZE25M 查询数据文件通过V DATAFILE V TEMPFILE DBA DATA FILES DAB EXTENTS等数据字典和视图可以查询数据文件的相应信息 例如查询数据文件中的状态 名字 其中system01 dbf文件的状态为system 表明该文件是系统表空间的一部分 调整数据文件的尺寸建立文件时设置AUTOEXTEND 使得数据文件尺寸自动扩展 或使用ALTERDATABASE设置自动扩展 CREATETABLESPACEAPPL DATADATAFILE f oracle oradata test appl data dbf SIZE500MAUTOEXTENDONNEXT100MMAXSIZE2000M ALTERDATABASEDATAFILE f oracle oradata test appl data dbf AUTOEXTENDONNEXT100MMAXSIZE2000M 另一方法是手工操作 执行命令ALTERDATABASEDATAFILE的RESIZE从句来调整数据文件尺寸 ALTERDATABASEDATAFILE f oracle oradata test appl data dbf RESIZE1500M 4 2 2重做日志 Oracle数据库的重做日志 redolog 也称为事务日志 transactionlog 是数据库的重要组成部分 用于保护所有已提交事务的工作 日志文件分为联机重做日志文件和归档日志文件 日志文件的工作模式分为归档模式 Archivelog 和非归档模式 NoArchivelog 两种 数据库的重做日志是存储在硬盘上的一组系统数据文件 归档日志模式 Archivelog 当联机重做日志文件写满一个后开始写另一个联机重做日志文件之前 把要开始写的日志转存到归档日志文件中 然后再写该日志 这种方式为归档模式 非归档日志模式 NoArchivelog 当联机重做日志文件写满一个后直接覆盖写另一个联机重做日志文件 进行循环覆盖写联机重做日值 会丢失最早的日志 这种方式为非归档模式 查看联机重做日志文件信息在V Logfile V Log V Log History等数据字典中 可以查看日志文件的组 状态 名称等信息 4 2 3控制文件 控制文件用于记录和维护数据库的全局物理结构 是成功启动和操作数据库必须的二进制文件 以 CTL 为文件后缀 一个数据库至少需要一个控制文件 每个控制文件只与一个数据库相关联 控制文件包含如下信息 数据库名数据库建立时间数据库中所有数据文件和日志文件的文件名和路径表空间名称当前重做日志文件序号检查点信息备份信息日志历史记录 记录控制文件名和路径的参数在init ora的control files中 control files F oracle oradata test CONTROL01 CTL F oracle oradata test CONTROL02 CTL F oracle oradata test CONTROL03 CTL 查看V CONTROLFILE 得到控制文件的名称和状态 查看V PARAMETER 得到所有初始化参数文件中的所有值 状态等信息 查看V CONTROLFILE RECORD SECTION 获得控制文件的记录段的信息 通过OEM导航树来查看 3 控制文件的信息查看 4 2 4参数文件 参数文件确定存储结构的大小 设置数据库的默认值 设置数据库的各种物理属性 优化数据库性能 参数文件定义了Oracle实例 Instance 的特性 在建立数据库或启动实例时必须访问参数文件 参数文件是一文本文件 可直接使用任何文本编辑器进行编辑 在修改该文件前必须关闭数据库 修改的参数在重启数据库时才生效 参数文件包含有实例配置参数 这些参数置成特殊值 用于初始Oracle实例的许多内存和进程设置 该参数文件包含 一组实例参数的值 一个实例所启动的数据库名字 在SGA中存储结构使用多少内存 如何处理联机日志文件 数据库控制文件的名称和位置 回退段的信息 4 2 5其他Oracle文件 其他Oracle文件主要有 口令文件 用于存放用户口令的加密文件归档文件 包含恢复所需的库结构和数据文件的副本警告文件 存放Oracle数据库运行当中出现的各种消息 警告和错误信息 跟踪文件 用于存储后台进程和服务器进程的跟踪信息 包括后台进程的警告和错误信息 每个后台进程都有相应的跟踪文件 以 TRC 为文件后缀服务器进程跟踪文件 主要跟踪SQL语句 通过它了解SQL语句的性能 并进行相应的调整 4 3数据字典 数据字典是由一组拥有数据库元数据的表和视图组成 用于存储Oracle数据库的结构信息 数据字典一般在创建数据库时建立 没有数据字典 PL SQL就没法执行 数据字典分为静态字典和动态字典 4 3 1静态数据字典静态数据字典主要是表和视图 一般来说 数据字典中的表是不能被访问的 可以访问的是数据字典中的视图 静态数据字典中的视图分为3类 分别有3个前缀构成 user all dba 4 3 2动态数据字典动态视图提供有关内存和磁盘的运行情况 用户只能读动态视图 不能写 动态视图以V 为前缀 例如V logfile V session V active instances V context等 4 4Oracle的内存结构4 4 1系统全局区 SystemGlobalArea SGA数据块缓冲区 与数据文件进行数据交换重做日志缓冲区 与日志文件进行数据交换SQL共享池 处理SQL语句的内存空间 由库缓冲 数据字典缓冲以及用户全局区 4 4 2程序全局区 ProgramGlobalArea PGA是非共享区 存储用户SQL语句中的变量 数组等 4 4 3排序区 存放用户排序数据 当数据量超出排序区大小时 将占用磁盘临时段 内存结构图在下页 Oracle内存结构 用户进程 程序区PGAProgramGlobalArea排序区 共享区SQL数据缓存区日志缓存 全局区 SystemGlobalArea SGA LGWR ARCH DBWR 服务器进程 数据文件 日志文件 归档日志文件 4 4 4后台进程 后台进程用于处理并行用户请求所需的通用功能 它们不会损害系统的完整性和性能 它们把为每个用户运行的多个Oracle程序所处理的功能统一起来 后台进程执行I O并监控其他Oracle进程以增加并行性 从而使性能和可靠性更加优越 每个例程至少包括5个基本的后台进程 DBWR DatabaseWriter数据写入进程 LGWR LOGWriter日志写入进程 SMON SystemMonitor系统监控进程PMON ProcessMonitor进程监控进程 CKPT CheckPoint检查点进程 数据库写进程 DBWR 负责将更新的数据从数据库缓冲区高速缓存写入数据文件 日志写进程 LGWR 将重做日志缓冲区中注册的更改写入重做日志文件 系统监控进程 SMON 系统监控程序在数据库启动时 负责检查数据库的一致性 对数据库进行恢复操作过程监视进程 PMON 是一个被定时唤醒的后台进程 负责在一个Oracle进程失败时清理资源检查点进程 CKPT 当日志文件切换时产生 检查内存数据是否完整写入当前文件 归档进程 ARCH 在归档模式下 把重做日志文件写入归档日志文件 4 5小结 Oracle数据库的体系结构包括物理结构 逻辑结构和例程 逻辑结构代表Oracle数据库中表 索引等可见部分 物理结构代表Oracle内部使用的存储方式 如数据文件 控制文件 从逻辑上看 Oracle数据库可以划分为表空间 段 区和块 以有效管理 存储 检索数据 一个数据库由若干个表空间组成 一个表空间由若干个相同或不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省太原市晋源区三校2024-2025学年八年级下学期3月月考生物试题(含答案)
- 辽宁省抚顺市2024-2025学年七年级上学期10月月考道德与法治试卷(含答案)
- 2024-2025学年内蒙古鄂尔多斯市康巴什区八年级(上)期末数学试卷(含部分答案)
- 健身服务投诉处理机制-洞察及研究
- 基于拓扑优化的桥总成拓扑结构在极端工况下的静动态力学特性突变预警模型
- 基于工业4.0的分离齿合套智能化装配工艺与误差补偿系统研究
- 基于区块链技术的减速箱脂全球供应链质量追溯与风险预警平台设计
- 垂直领域知识图谱对割片精度的赋能机制
- 国际标准框架下多品牌交流钳表精度认证体系差异化困境
- 后疫情时代健康监测集成于门禁系统的伦理与成本博弈
- T/CNFAGS 7-2023天然气、焦炉气制合成氨、尿素行业清洁生产水平分级标准(大气污染物)
- 2025-2030年中国四轮定位仪行业市场现状供需分析及投资评估规划分析研究报告
- 反窃查违专项培训实务
- 小学四年级上册语文学历案 教学设计
- 医院感控试题及答案
- NCCN卵巢癌指南2025第1版解读课件
- 报关员考试商品编码习题
- 2025-2030中国防脱发洗发水行业市场发展趋势与前景展望战略研究报告
- 2025年全国中学生汉字听写大会比赛题库及解析(共四套)
- 殡仪馆面试题及答案
- DB37-T 5312-2025 《建筑施工安全防护设施技术标准》
评论
0/150
提交评论