




已阅读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_DATADATAFILEf:oracleoradatatestuserl_data.dbfSIZE100mautoxtendonnext100mmaxsize1000mEXTENTMANAGEMENTLOCALUNIFORMsize500k;其中:f:oracleoradatatestuserl_data.dbfSIZE100mautoxtendonnext100mmaxsize1000m是对数据文件的描述,而下面的子句是对表空间的描述。EXTENTMANAGEMENTLOCALUNIFORMsize500k;,下列命令建立一个USER_DATA本地化管理表空间,尺寸为300M,DATAFILE从句指定多个数据文件,并用逗号隔开,以建立大容量的数据文件。CREATETABLESPACEUSER_DATADATAFILEf:oracleoradatatestuserl_data.dbfSIZE100mautoxtendonnext100mmaxsize1000m,f:oracleoradatatestuser2_data.dbfSIZE100mautoxtendonnext100mmaxsizeunlimited,f:oracleoradatatestuser3_data.dbfSIZE100mEXTENTMANAGEMENTLOCALUNIFORMsize500k;,下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更加有效,以改进性能。临时表空间内不能驻留永久数据。只能为临时段指定临时表空间。CreatetemporaryTablespaceTEMP2TempfileD:oracleoradatatestTemp01.dbfSize500MEXTENTMANAGERMENTLOCALUniformSize5M;,4修改表空间,1.修改表空间的数据文件,给表空间增加数据文件ALTERTABLESPACEUSER_DATAADDDATAFILEf:oracleoradatauser01.dbfSIZE30M;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_DATADATAFILEf:oracleoradatatestappl_data.dbfSIZE300M;也可以给已经存在的表空间增加数据文件。ALTERTABLESPACEUSERSADDDATAFILEf:oracleoradatatestappl_data.dbfSIZE25M;查询数据文件通过V$DATAFILE,V$TEMPFILE,DBA_DATA_FILES,DAB_EXTENTS等数据字典和视图可以查询数据文件的相应信息。例如查询数据文件中的状态,名字。其中system01.dbf文件的状态为system,表明该文件是系统表空间的一部分。,调整数据文件的尺寸建立文件时设置AUTOEXTEND,使得数据文件尺寸自动扩展,或使用ALTERDATABASE设置自动扩展;CREATETABLESPACEAPPL_DATADATAFILEf:oracleoradatatestappl_data.dbfSIZE500MAUTOEXTENDONNEXT100MMAXSIZE2000M;ALTERDATABASEDATAFILEf:oracleoradatatestappl_data.dbfAUTOEXTENDONNEXT100MMAXSIZE2000M;另一方法是手工操作,执行命令ALTERDATABASEDATAFILE的RESIZE从句来调整数据文件尺寸。ALTERDATABASEDATAFILEf:oracleoradatatestappl_data.dbfRESIZE1500M;,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:oracleoradatatestCONTROL01.CTL,F:oracleoradatatestCONTROL02.CTL,F:oracleoradatatestCONTROL03.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系统全局区:SystemGlobalAreaSGA数据块缓冲区与数据文件进行数据交换重做日志缓冲区与日志文件进行数据交换SQL共享池处理SQL语句的内存空间,由库缓冲、数据字典缓冲以及用户全局区;4.4.2程序全局区:ProgramGlobalAreaPGA是非共享区,存储用户SQL语句中的变量、数组等;4.4.3排序区:存放用户排序数据,当数据量超出排序区大小时,将占用磁盘临时段。内存结构图在下页。,Oracle内存结构,用户进程,程序区PGAProgramGlobalArea排序区,共享区SQL数据缓存区日志缓存,全局区(SystemGlobalAreaSGA),LGWR,ARCH,DBWR,服务器进程,数据文件,日志文件,归档日志文件,4.4.4后台进程,后台进程用于处理并行用户请求所需的通用功能,它们不会损害系统的完整性和性能。它们把为每个用户运行的多个Oracle程序所处理的功能统一起来。后台进程执行I/O并监控其他Oracle进程以增加并行性,从而使性能和可靠性更加优越。每个例程至少包括5个基本的后台进程:DBWRDatabaseWriter数据写入进程;LGWRLOGWriter日志写入进程;SMONSystemMonitor系统监控进程PMONProcessMonitor进程监控进程;CKPTCheckPoint检查点进程。,数据库写进程(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学年度教师公开招聘测试卷及答案详解(典优)
- 保安员考试高频难、易错点题附答案详解(典型题)
- 2025年自考专业(人力资源管理)练习题【考试直接用】附答案详解
- 2024安全员考试高频难、易错点题及答案详解(必刷)
- 2025年应聘监控员面试题及答案
- 数据存储及分析解决方案合同
- 2024-2025学年主管护师(中级)真题附参考答案详解(基础题)
- 2025至2030中国门诊外科中心行业项目调研及市场前景预测评估报告
- 中医护理拔罐技术应用
- 地铁光电缆基础知识培训课件
- 2024年下半年黑龙江省嫩江铁路有限责任公司校招笔试题带答案
- 2025廉洁答题题库与答案
- 矿山支护工培训课件
- 整本书阅读教学课件
- 2025东莞市公安局长安分局警务辅助人员招聘考试笔试试题(含答案)
- 急性ST段抬高型心肌梗死的护理课件
- DBJ50-T-200-2024 建筑桩基础技术标准
- 内分泌健康宣教
评论
0/150
提交评论