Oracle表空间和数据文件的管理

上传人:s9****2 文档编号:547561441 上传时间:2023-01-26 格式:DOCX 页数:103 大小:646.47KB
返回 下载 相关 举报
Oracle表空间和数据文件的管理_第1页
第1页 / 共103页
Oracle表空间和数据文件的管理_第2页
第2页 / 共103页
Oracle表空间和数据文件的管理_第3页
第3页 / 共103页
Oracle表空间和数据文件的管理_第4页
第4页 / 共103页
Oracle表空间和数据文件的管理_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《Oracle表空间和数据文件的管理》由会员分享,可在线阅读,更多相关《Oracle表空间和数据文件的管理(103页珍藏版)》请在金锄头文库上搜索。

1、第六章表空间和数据文件的管理6.1 Oracle引入逻辑结构的目的Oracle数据库管理系统并没有像不少其它数据库管理系统那样直接地操作数据文件,而是引入一组逻辑结构。如图6-1所示。图6-1图6-1的虚线线左边为逻辑辑结构,右边边为物理结构构。与计算机机原理或计算算机操作系统统中所讲的有有些不同,在在Oraclle数据库中中,逻辑结构构为Oraccle引入的的结构,而物物理结构为操操作系统所拥拥有的结构。曾有不少学生问问过我同样的的一个问题,那那就是Oraacle为什什么要引入逻逻辑结构呢?首先可能是为了了增加Oraacle的可可移植性。OOraclee公司声称它它的Oraccle数据库库是

2、与IT平平台无关的,即即在某一厂家家的某个操作作系统上开发发的Oraccle数据库库(包括应用用程序等)可可以几乎不加加修改地移植植到另一厂家家的另外的操操作系统上。要要做到这一点点就不能直接接操作数据文文件,因为数数据文件是跟跟操作系统相相关的。其次可能是为了了减少Oraacle从业业人员学习的的难度。因为为有了逻辑结结构Oraccle的从业业人员就可以以只对逻辑结结构进行操作作,而在所有有的IT平台台上逻辑结构构的操作都几几乎完全相同同,至于从逻逻辑结构到物物理结构的映映射(转换)是是由Oraccle数据库库管理系统来来完成的。6.2 Oraacle数据据库中存储结结构之间的关关系其实图6

3、-1类类似于一个OOraclee数据库的存存储结构之间间关系的实体体关系图。如如果读者学过过实体关系系模型(E-R模型)的的话,从图66-1中可以以很容易地得得到Oraccle数据库库中存储结构构之间的关系系。为了帮助助那些没有学学过E-R模模型的读者理理解图6-11,也是为了了帮助那些学学过但已经忘忘的差不多了了的读者恢复复一下记忆,在在下面对E-R模型和图图6-1给出出一些简单的的解释。在图6-1中,园园角型方框为为实体,实线线表示关系,单单线表示一的的关系,三条条线(鹰爪)表表示多的关系系。于是可以以得到: 每个数据库是由由一个或多个个表空间所组组成(至少一一个)。 每个表空间基于于一个

4、或多个个操作系统的的数据文件(至至少一个)。 每个表空间中可可以存放有零零个或多个段段(Segmment)。 每个段是由一个个或多个区段段(Exteent)所组组成。 每个区段是由一一个或多个连连续的Oraacle数据据块所组成。 每个Oraclle数据块是是由一个或多多个连续的操操作系统数据据块所组成。 每个操作系统数数据文件是由由一个或多个个区段(Exxtent)所所组成。 每个操作系统数数据文件是由由一个或多个个操作系统数数据块所组成成。有关段,区段,和和Oraclle数据块等等我们在接下下来的章节中中要详细地介介绍。6.3 表空间间和数据文件件之间的关系系及表空间的的分类通过前面的讨论

5、论可知:Orracle将将数据逻辑地地存放在表空空间里,而物物理地存放在在数据文件里里。表空间(Tablespaces)在任何一个时刻只能属于一个数据库,但是反过来并不成立,因为一个数据库一般都有多个表空间。每个表空间都是由一个或多个操作系统的数据文件所组成,但是一个操作系统的数据文件只能属于一个表空间。表空间可以被进进一步划分成成一些更小的的逻辑存储单单位。在一个个Oraclle数据库中中,每个数据据文件(Daata fiiles)可以而且只只能属于一个个表空间和一一个数据库。数据文件实际上是存储模式对象数据的一个容器/仓库。在一个Oraccle数据库库中一般有两两类表空间,他他们是系统(S

6、YSSTEM)表空间和非系系统(Nonn-SYSTTEM)表空空间。系统(SYSTTEM)表空间是与数据库一一起建立的,在在系统表空间中中存有数据字字典,在系统统表空间中还还包含了系统统还原(回滚滚)段。虽然然在系统表空间中中可以存放用用户数据,但但考虑到Orracle系系统的效率和和管理上的方方便,在系统统表空间上不不应该存放任任何用户数据据。非系统(Nonn-SYSTTEM)表空空间可以由数数据库管理员员创建,在非系统表空间间中存储一些些单独的段,这这些段可以是是用户的数据据段,索引段段,还原段,和和临时段等。引引入非系统表表空间可以方方便磁盘空间间的管理,也也可以更好地地控制分配给给用户

7、磁盘空空间的数量。引引入非系统表表空间还可以以将静态数据据和动态数据据有效地分开开,也可以按按照备份的要要求将数据分分开存放。使使用如下的命命令创建一个个非系统表空空间:CREATE TABLEESPACEE表空间名DATAFFILE子句句MINIMMUM EXXTENT 正整数K|MBLOCKKSIZE正正整数KLOGGIING|NOOLOGGIINGDEFAUULT 存储储子句ONLINNE|OFFLIINEPERMAANENT|TEMPOORARY区段管理子子句段管理子句句在这里对以上命命令中的一些些子句和选项项给出进一步步的解释:表空间名:所要要创建的表空空间名。DATAFILLE子句

8、:组组成所要创建建的表空间的的文件说明。MINIMUMM EXTEENT:表空间中所所使用的每个个EXTENNT都必须是是该参数所指指定数的整数数倍。BLOCKSIIZE:为该该表空间说明非标准块块的大小。在在使用这一子子句之前,您您必须先设置置DB_CAACHE_SSIZE参数数和DB_nnK_CACCHE_SIIZE参数,而而且该子句中中所说明的正正整数一定与与DB_nKK_CACHHE_SIZZE参数的设设定相对应。LOGGINGG: 说说明在该表空空间中所有数数据的变化都都将写入重做做日志文件中中,这也是默默认方式。NOLOGGIING: 说说明在该表空空间中所有数数据的变化不不都写入

9、重做做日志文件中中,NOLOOGGINGG只影响一些些DML和DDDL命令。DEFAULTT存储子句:说明所有在在该表空间中中所创建的对对象的默认存存储参数。OFFLINEE:说明该表空空间在创建后后立即被置为为脱机,即不不能使用。还有一些其它的的子句和选项项我们将在后后续的章节中中陆续地介绍绍。6.4 表空间间中的磁盘空空间管理在Oraclee8.0和更更早的版本中中所有表空间间中的磁盘空空间管理都是是由数据字典典来管理的。在在这种表空间间的管理方法法中所有的空空闲区由数据据字典来统一一管理。每当当区段被分配配或收回时,OOraclee服务器将修修改数据字典典中相应的(系系统)表。在数据字典

10、(系系统)管理的的表空间中所所有的EXTTENTS的的管理都是在在数据字典中中进行的,而而且每一个存存储在同一个个表空间中的的段可以具有有不同的存储储子句。在这这种表空间的的管理方法中中您可以按您您的需要修改改存储参数,所所以存储管理理比较灵活但但系统的效率率较低。还有有如果使用这这种表空间的的管理方法,有有时需要合并并碎片。由于Oraclle8.0对对互联网的成成功支持和它它在其它方面面的卓越表现现使得Oraacle的市市场占有率急急速地增加,同同时Oraccle数据库库的规模也开开始变的越来来越大。这样样在一个大型型和超大型数数据库中就可可能有成百乃乃至上千个表表空间。由于于每个表空间间的

11、管理信息息都存在数据据字典中,也也就是存在系系统表空间中中。这样系统统表空间就有有可能成为一一个瓶颈从而而使数据库系系统的效率大大大地下降。正是为了克服以以上弊端,OOraclee公司从它的的Oraclle8i开始始引入了另一一种表空间的的管理方法,叫叫做本地管理理的表空间。本地管理的表空空间其空闲EXTEENTS是在在表空间中管管理的,它是是使用位图(Bitmap)来记录空闲EXTENTS,位图中的每一位对应于一块或一组块,而每位的值指示空闲或分配。当一个EXTENT被分配或释放时,Oracle服务器就会修改位图中相应位的值以反映该EXTENT的新的状态。位图存放在表空间所对应的数据文件的文

12、件头中。使用本地管理的的表空间减少少了数据字典典表的竞争,而而且当磁盘空空间分配或收收回时也不会会产生回滚(还还原),它也也不需要合并并碎片。在本本地管理的表表空间中您无无法按您的需需要来随意地地修改存储参参数,所以存存储管理不像像数据字典(系系统)管理的的表空间那样样灵活但系统统的效率较高高。因为在本地管理理的表空间中中,表空间的的管理,如磁磁盘空间的分分配与释放等等已经不在需需要操作数据据字典了,所所以系统表空空间的瓶颈问问题得到了很很好的解决。因此Oracle公司建议用户创建的表空间应该尽可能地使用本地管理的表空间。在Oracle9i中本地管理的表空间为默认方式,但是在Oracle8i中

13、数据字典(系统)管理的表空间为默认方式。6.5 创建数数据字典管理理的表空间曾有位著名的学学者在一份非非常出名的报报纸上发表了了一篇震撼了了整个神州大大地的文章,文文章的题目是是:“中国妇女解解放运动的先先驱潘金莲莲”。这篇文章章一发表就在在社会上引发发了激烈的争争论,真是“一石击起千千层浪”。一位考古学学的博士想利利用统计学的的方法科学地地证明潘金莲莲到底是不是是中国妇女解解放的先驱。首首先他必须将将大量的数据据分门别类地地存入数据库库中。他找到到了您让您在在Oraclle数据库方方面帮他的忙忙。您决定首先要为为这个项目创创建一个名为为jinliian(金莲莲)的表空间间。为了平衡衡I/O,

14、您您决定该表空空间将基于两两个数据文件件,它们分别别是J:DDISK2MOONJINLIIAN01.DBF和J:DIISK4MMOONJJINLIAAN02.DDBF,其大大小都为500M(在实际际中可能几百百)。为了了更有效地控控制磁盘的存存储分配,您您决定使用数数据字典管理理的表空间。为为了防止用户户在创建对象象时使用的EEXTENTT过小而产生生过多的碎片片,您决定最最小的EXTTENT为50K(MINIMMUM EXXTENT 50K)。当当需要磁盘空空间的自动分分配时第一次次分配为500K(INITIIAL 500K),第二二次也为500K(NEXT 50K),所所分配的最大大磁盘空

15、间为为100个EEXTENTTS(MAXEEXTENTTS 1000)。从第三三次分配开始始按如下的公公式进行分配配:NEXTT * (11+PCTIINCREAASE/1000)(n-2)。其中中n为分配的的次数。于是是你发出了如如例6-1的的SQL语句句来创建名为为jinliian(金莲莲)的表空间间。例6-1SQL CRREATE TABLEESPACEE jinllian 2 DAATAFILLE J:DISKK2MOOONJINNLIAN001.DBFF SIZZE 50 M, 3 J:DISKK4MOOONJINNLIAN002.DBFF SIZZE 50 M 4 MIINIMUMM EXTEENT 500K EXTTENT MMANAGEEMENT DICTIIONARYY 5 DEEFAULTT STORRAGE (INITIIAL 500K NEXXT 50KK MAXEEXTENTTS 1000 PCTIINCREAASE 0);表空间已创建。紧接着为了验证证所创建的表表空间是不是是数据字典管管理的,您使使用了如例66-4的SQQL查询语句句。但为了使使该语句的显显示结果更清清晰,您又使使用了例6-2和例6-3的SQLL*Pluss命令对输出出进行了格式式化。例6-2

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

当前位置:首页 > 商业/管理/HR > 市场营销

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