第12章管理表空间和数据文件_第1页
第12章管理表空间和数据文件_第2页
第12章管理表空间和数据文件_第3页
第12章管理表空间和数据文件_第4页
第12章管理表空间和数据文件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第12章章 管理表空间和数据文件管理表空间和数据文件 Oracle数据库中的数据逻辑地存储在表空间并物理地存储在数据文件中。表空间的基本概念表空间的基本概念Data FileTablespaceSegmentExtentExtentData Blocks物理结构与逻辑结构的关系数据库逻辑物理表空间数据文件OS 块段盘区块模式决定表空间 在决定适合你的数据库的表空间结构前,考虑将要存储的数据的特征。 考虑:将碎片减到最小将磁盘竞争减到最小将段分开 在不同的表空间中不同组的实体有不同的碎片特征。&段与碎片特征:q 数据字典段:没有产生碎片的倾向。没有空闲碎片。q 应用数据段:有低的碎片倾

2、向。q 回 退 段:有适度的碎片倾向,q 临 时 段:有高的碎片倾向。&减少磁盘竞争:q 将在不同的表空间中竞争磁盘资源的段分隔开来,可以减少磁盘竞争。q 将字典段和其他段分隔开来。q 将回退段和其他段分隔开来。q 将数据库段和它们对应的索引段分隔开来。减少碎片 将具有不同行为特征的实体各段分离到不同的表空间中。&通过以下方式分离段:q把有不同备份需要的段分开q分离日常不同功用的段q把有不同生命周期的段分开将段分离本章知识要点:本章知识要点:q 掌握各种表空间的建立方法q 掌握改变表空间状态的方法q 掌握扩展表空间的方法q 掌握管理数据文件的方法q 了解UNDO表空间的作用12

3、.1 建立表空间建立表空间在Oracle 10g中,当数据库管理员(DBA)创建数据库时:q SYSTEM q UNDOTBS q SYSAUX q TEMP q EXAMPLE q USERS 表空间信息:v$tablespace 表空间类型q普通表空间q大文件表空间q临时表空间qUndo表空间q非标准块表空间12.1.1 建立普通表空间建立普通表空间q根据表空间对盘区的管理方式,表空间分为:表空间数据字典管理表空间(Oracle7,8,8i)本地化管理表空间UniformAutoAllocateCREATE TABLESPACE tablespaceDATAFILE filespecEXT

4、ENT MANAGEMENT LOCAL UNIFORM SIZE xxx M 特点:1.区的大小相同,任何独立的空闲区,被作为一个大区使 用,不产生磁盘碎片。2.实体使用统一的存储参数。SIZE xxx KCREATE TABLESPACE tablespaceDATAFILE filespecEXTENT MANAGEMENT LOCAL AUTOALLOCATE SIZE xxx M 特点:1.区的大小在表空间级定义,非实体级2.在实体级不得使用Storage设置参数3.缺省为AUTOALLOCATEALTER TABLESPACE tablespaceDATAFILE filespec

5、ADDRNAMEDATAFILE filespecTO目的ONLINEOFFLINE示例Create tablespace user02 datafile f:oracleoradatauser02.dbf size 50m extent management local autoallocate;Create tablespace user03 datafile f:oracleoradatauser03.dbf size 50m extent management local uniform size 512k;回顾create table DEPT( DEPTNO NUMBER(2) n

6、ot null, DNAME VARCHAR2(14), LOC VARCHAR2(13)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64 minextents 1 maxextents unlimited );存储参数qStorage 子句设置q如果指定盘区的管理方式为AutoAllocate(自动化管理)qInitial、next和minextentsqUniformq盘区大小统一q段的存储管理方式 (在本地化管理下) segment_space_managementq手动MANUAL (默认)

7、q自动AUTO (不需要指定PCTFREE和PCTUSED)Create tablespace user04 datafile f:oracleoradatauser04.dbf size 50m extent management local uniform size 512k segment space management manual;查看表空间信息select tablespace_name,extent_management,allocation_type,segment_space_management,status,contents,block_size from dba_ta

8、blespaces;12.1.2 建立大文件表空间建立大文件表空间q 一个大文件表空间对应一个单一的数据文件或临时文件q 文件可以达到4G个数据块大小 当数据块大小为8K时,大文件表空间的数据文件最大可以达到32T字节; 当数据块尺寸为32K时,那么大文件表空间的数据文件最大尺寸可以达到128T。 在实际环境中,这还受到操作系统的文件系统的限制。Create bigfile tablespace 12.1.3 建立临时表空间建立临时表空间临时数据的集中化管理临时表空间提高其他表空间的使用效率并发排序操作建立多个临时表空间q建立本地临时表空间create temporary tablespace

9、 temp01tempfile f:oracleoradatatemp01.dbf size 10mextent management local uniform size 256k; 不能指定autoallocate q建立大文件临时表空间12.1.4 建立非标准块表空间建立非标准块表空间自学自学q 数据块的大小由参数DB_BLOCK_SIZE决定,并且在创建数据库后不能再进行修改。q 为了优化I/O性能,Oracle系统允许不同的表空间使用不同大小的数据块,这样可以实现将大规模的表存储在由大数据块构成的表空间,而小规模的表则存储在由小数据块构成的表空间中。q 在创建非标准数据块的表空间时,

10、用户需要显式使用BLOCKSIZE选项。12.2 维护表空间维护表空间对于数据库管理员而言,在创建各种表空间后,还需要经常维护表空间q 改变表空间可用性q 改变读写状态q 改变表空间名称q 备份和恢复表空间q 删除不需要的表空间等。12.2.1 改变表空间可用性改变表空间可用性q表空间有Online(可访问)和Offline(不可访问)两种状态q使表空间脱机alter tablespace user01 offline;q使表空间联机alter tablespace user01 online;2712.2.2 改变表空间读写状态改变表空间读写状态q表空间可以是读写方式,也可以是只读方式。al

11、ter tablespace user01 read only;alter tablespace user01 read write;12.2.3 改变表空间名称改变表空间名称q System 和 Sysaux表空间不能修改q 表空间或数据文件处于offline时不能修改SQL alter tablespace big_tbs rename to big_file_tbs;表空间已更改。12.2.4 设置默认表空间设置默认表空间q 设置数据库默认表空间的示例29SQL alter database default tablespace users;数据库已更改。SQL alter databa

12、se default temporary tablespace temp;数据库已更改。12.2.5 删除表空间删除表空间q 在删除表空间时,Oracle仅仅是在控制文件和数据字典中删除与表空间和数据文件相关的信息,默认情况下,Oracle并不会在操作系统中删除相应的数据文件。因此,在成功执行删除表空间的操作后,需要手动删除操作系统中的数据文件。如果在删除表空间的同时要删除对应的数据文件,则必须显式地指定INCLUDING CONTENTS AND DATAFILES子句。q SQL drop tablespace user02 including contents and datafiles

13、; 303112.3 管理数据文件管理数据文件q数据文件在创建数据库或表空间时建立。q当表空间创建后q为表空间添加新的数据文件q更改已有数据文件的大小、名称和位置。3212.3.1 数据文件的管理策略数据文件的管理策略q数据文件是物理上存储表空间数据的操作系统文件,在创建表空间的同时将为它建立数据文件。在创建表空间前,DBA不仅要考虑表空间的管理方式,还需要决定与表空间对应的数据文件的q数量q大小q位置(性能与可靠性方面考虑)。12.3.2 添加表空间数据文件添加表空间数据文件q 在创建表空间时,通常会预先估计表空间所需的存储空间大小,然后为它建立若干适当大小的数据文件。如果在使用过程中发现表

14、空间存储空间不足,可以再为它添加新的数据文件,以增加表空间的总存储空间。q SQL alter tablespace user03 add datafile f:oraceloradatauser03_02.dbf size 10m reuse;3312.3.3 改变数据文件大小改变数据文件大小q 除了为表空间增加新的数据文件外,另一种增加表空间的存储空间的方法是改变已经数据文件的大小。q 改变数据文件大小的方式一共两种:q 设置数据文件为自动增长;create tablespace user03datafile f:oraceloradatauser03_02.dbf size 10m re

15、use autoextend on next 2m maxsize 500m extent management local;q 手动改变数据文件的大小Alter database datafile f:oraceloradatauser03_02.dbf resize 500m;343512.3.4 改变数据文件的可用性改变数据文件的可用性q 联机的数据文件或临时数据文件也可以被设置为脱机状态q 将数据文件设置为脱机状态时,不会影响到表空间的状态q 但是反过来,将表空间设置为脱机状态时,属于该表空间的数据文件将全部同时进入脱机状态。alter database datafile f:orac

16、eloradatauser03_02.dbf offline;3612.3.5 改变数据文件名称和位置改变数据文件名称和位置 改变数据文件的操作分为两种情况:q 要改变的数据文件属于同一个表空间;q 要改变的数据文件分别属于多个表空间思考:如何实现?Alter database rename 源文件 to 目标文件;12.4 UNDO表空间表空间q当执行DML操作时,事务操作前的数据将被称为UNDO记录。qUNDO数据也称为回退数据,它用于确保数据的一致性q回退事务q读一致性q事务恢复37自动Undo空间管理q 在Oracle8i以前的数据库中,对于回退段的设置与管理已一直是一个十分复杂的工作,其正确的设置既困难又费时。对于大的事务往往产生回退段不足的错误,或在RBS表空间回退段中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论