版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
讲义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数数据据库库的的物物理理结结构构数据据库库的的物物理理结结构构是是数数据据库库中中操操作作系系统统文文件件的的集集合合。。Oracle数据库文件数据库数据文件控制文件重做日志重做日志参数文件口令文件归档的日志文件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))LGWRARCHDBWR服务器器进程程数据文文件日志文文件归档日日志文文件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数据库可可以划分为表表空间、段、、区和块,以以有效管理、、存储、检索索数据。一个数据库由由若干个表空空间组成。一一个表空间由由若干个相同同或不同类型型的段组成。。在建立一个个段时,至少少包含一个区区,区由连续续的数据块组组成。随着段段的增长,区区的个数会增增加。数据块块是Oracle读写的的基本单元。。一个数据块块不同于物理理文件块,一一个数据块对对应一个或多多个物理文件件的物理块。。从逻辑上看,,Oracle数据库可可以划分为表表空间、段、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《奥美基础训练营》课件
- 协助老人导尿护理
- 2024年山东省滨州市中考化学真题【附答案】
- 一建法规培训
- 复杂性先天性心脏病
- 《周获利能力分析》课件
- 数学学案:课堂导学空间向量的线性运算
- 产假返岗培训
- 智慧树知到《研究生学术规范与医学伦理(浙江中医药大学)》章节测试答案
- 安全行车知识培训
- ICU脓毒血症护理查房
- 2023-2024学年安徽省天长市小学数学五年级下册期末自测考试题
- 2023年象山县特殊教育岗位教师招聘考试笔试模拟试题及答案解析
- GB/T 28222-2011服务标准编写通则
- GB/T 20671.7-2006非金属垫片材料分类体系及试验方法第7部分:非金属垫片材料拉伸强度试验方法
- GB/T 14337-1993合成短纤维断裂强力及断裂伸长试验方法
- GB/T 10001.4-2021公共信息图形符号第4部分:运动健身符号
- 南京市芳草园小学苏教版五年级数学上册《列举法解决问题的策略》活动单(区级公开课定稿)
- 修剪指甲培智五年级上册生活适应教案
- 计算机信息系统灾难恢复计划(完整版)资料
- 脚手架搭设及基本知识教程课件
评论
0/150
提交评论