版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle 10g 数据库基础教程2009第二篇第二篇体系结构篇体系结构篇5.1 Oracle数据库系统结构数据库系统结构pOracle数据库的存储结构分为数据库的存储结构分为物理存储结构物理存储结构和和逻辑存储结构逻辑存储结构n物理物理存储结构主要用于描述存储结构主要用于描述Oracle数据库数据库外部数据的存储,即在外部数据的存储,即在操作系统操作系统中如何组中如何组织和管理数据织和管理数据n逻辑逻辑存储结构主要描述存储结构主要描述Oracle数据库内部数据库内部数据的组织和管理方式。数据的组织和管理方式。n逻辑逻辑存储结构从存储结构从用户用户角度描述数据的组织角度描述数据的组织形式形式
2、n物理存储结构是逻辑存储结构在物理上的、物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式可见的、可操作的、具体的体现形式p物理结构物理结构pOracle数据库物理结构数据库物理结构 p逻辑结构逻辑结构 表空间 段 区 块 OS块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文件 物 理 结 构 pOracle数据库逻辑结构数据库逻辑结构 数据库数据库数据表,索引,存储过程数据表,索引,存储过程数据表,索引,存储过程数据表,索引,存储过程pOracle 数据库系统结构由数据库实例和物数据库系统结构由数据库实例和物理存储结构组成。理存储结构组成。 p7-12周周 周二
3、周二7-8节节 上机上机 信息楼三楼信息楼三楼 大软大软p作业作业课本课本P93 第第1题(题(1)()(3)P94第第2题题 (1)()(2)()(3)复习复习 Oracle数据库系统结构数据库系统结构pOracle数据库的存储结构分为数据库的存储结构分为物理存储结构物理存储结构和和逻辑存储结构逻辑存储结构n物理物理存储结构主要用于描述在存储结构主要用于描述在操作系统操作系统中中如何组织和管理数据如何组织和管理数据 表空间 段 区 块 OS块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文件 物 理 结 构 p逻辑逻辑存储结构从存储结构从用户用户角度描述数据的组织角度描述数据的组织形
4、式形式数据库数据库数据表,索引,存储过程数据表,索引,存储过程Oracle 10g 数据库基础教程2009第第6章章 逻辑存储结构逻辑存储结构本章内容本章内容pOracle逻辑存储结构概述逻辑存储结构概述表空间表空间数据块数据块区区段段6.1 逻辑存储结构概述逻辑存储结构概述p逻辑存储结构逻辑存储结构n数据块:数据块:BLOCK 数据库中数据库中最小的最小的I/O单元单元n区:区:EXTENT 由若干由若干连续连续的数据块组成,是数据库中的数据块组成,是数据库中最小的存储分配单元最小的存储分配单元n段:段:SEGMENT 由若干区组成,存储相同类型数据由若干区组成,存储相同类型数据n表空间:表
5、空间:TABLESPACE 由若干段组成,是最大的存储逻辑单元,由若干段组成,是最大的存储逻辑单元,所有表空间构成数据库所有表空间构成数据库6.2 表空间表空间6.2.1 表空间概述表空间概述1.表空间的概念表空间的概念pOracle数据库在逻辑上可以划分为一系列数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为的逻辑空间,每一个逻辑空间就可以称为一个表空间。一个表空间。p一个数据库由有一个或多个表空间构成,一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据。不同表空间用于存放不同应用的数据。p一个表空间对应一个或多个数据文件,数一个表空间对应一个或多个数据文
6、件,数据文件大小决定了表空间的大小据文件大小决定了表空间的大小。一个数。一个数据文件只能从属于一个表空间。据文件只能从属于一个表空间。 表空间 段 区 块 OS 块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文件 物 理 结 构 数据表,索引,存储过程数据表,索引,存储过程p表空间是数据库对象的容器,表空间是数据库对象的容器,一个数据库一个数据库对象只能存储在一个表空间中,对象只能存储在一个表空间中,但可以存但可以存储在该表空间所对应的一个或多个数据文储在该表空间所对应的一个或多个数据文件中。件中。p数据库、表空间、数据文件、数据库对象数据库、表空间、数据文件、数据库对象之间的关系之
7、间的关系 数据库数据库表空间表空间2 2表空间表空间1 1数据文件数据文件1 1数据文件数据文件2 2数据库对象数据库对象2 2数据库对象数据库对象4 4数据库对象数据库对象3 3数据库对象数据库对象1 1数据文件数据文件3 3数据文件数据文件4 4数据库对象数据库对象6 6数据库对象数据库对象5 5数据库对象数据库对象72.表空间的分类表空间的分类(1)系统表空间)系统表空间 nSYSTEM 表空间,主要存储:表空间,主要存储:p数据库的数据字典;数据库的数据字典;pPL/SQL程序的源代码和解释代码;程序的源代码和解释代码;p数据库对象的定义等数据库对象的定义等p不应把用户数据放在不应把用
8、户数据放在SYSTEM表空间中表空间中nSYSAUX表空间表空间 p辅助系统表空间辅助系统表空间p在通常情况下,不允许删除、重命名及在通常情况下,不允许删除、重命名及传输传输SYSAUX表空间。表空间。(2)非系统表空间)非系统表空间 p撤销表空间撤销表空间 n专门进行专门进行回滚回滚信息的自动管理信息的自动管理n由回滚段构成,不包含其他信息由回滚段构成,不包含其他信息n由由UNDO_TABLESPACE初始化参数设置初始化参数设置p临时表空间临时表空间n进行临时数据管理,进行临时数据管理,会话结束时自动释放会话结束时自动释放n在创建用户时,为用户指定默认临时表空在创建用户时,为用户指定默认临
9、时表空间,通常间,通常不使用不使用SYSTEM表空间作为临时表空间作为临时表空间表空间p用户表空间用户表空间 n保存用户数据保存用户数据n建议为每个用户建立独立表空间建议为每个用户建立独立表空间事务的结束方式事务的结束方式p事务:是一组数据库操作的集合,由一组事务:是一组数据库操作的集合,由一组相关的相关的SQL语句组成语句组成p事务结束方式事务结束方式1.提交提交:用户执行:用户执行COMMIT命令或系统自动命令或系统自动提交。提交。 事务所作的修改写入数据库文件,释放占事务所作的修改写入数据库文件,释放占用资源用资源2.回滚回滚:用户执行:用户执行ROLLBACK命令命令 事务中所有的操作
10、被取消,数据库恢复到事务中所有的操作被取消,数据库恢复到事务开始之前的状态,释放占用资源事务开始之前的状态,释放占用资源(3)大文件表空间与小文件表空间)大文件表空间与小文件表空间 p大大文件表空间是指一个表空间文件表空间是指一个表空间只包含一个只包含一个大数据文件大数据文件,该文件的最大尺寸为,该文件的最大尺寸为128TB或或32TBp系统默认创建的表空间称为小文件表空间系统默认创建的表空间称为小文件表空间,可以包含最多可以包含最多1024个数据文件个数据文件3.表空间的管理方式表空间的管理方式根据表空间中数据区的管理方式不同,表空根据表空间中数据区的管理方式不同,表空间分为间分为字典管理字
11、典管理方式和方式和本地管理本地管理方式方式p字典管理方式字典管理方式n表空间使用表空间使用数据字典数据字典来管理存储空间的来管理存储空间的分配分配n当进行区的分配与回收时,当进行区的分配与回收时,Oracle将对将对数数据字典中的信息进行更新据字典中的信息进行更新n字典管理方式将渐渐被淘汰。字典管理方式将渐渐被淘汰。数据字典数据字典p数据字典是在数据库创建过程中创建的,保数据字典是在数据库创建过程中创建的,保存了存了数据库的系统信息以及数据库中所有对数据库的系统信息以及数据库中所有对象的信息象的信息,是数据库系统运行的基础,是数据库系统运行的基础p数据字典由一系列数据字典由一系列表和视图表和视
12、图构成,这些表和构成,这些表和视图对于所有的视图对于所有的用户都是只读用户都是只读的的p只有只有Oracle系统才可以对数据字典进行管理与系统才可以对数据字典进行管理与维护维护p在在Oracle数据库中,所有数据字典表和视图都数据库中,所有数据字典表和视图都属于存储于属于存储于SYSTEM表空间表空间中中p本地管理方式本地管理方式n区的分配和管理信息都存储在区的分配和管理信息都存储在表空间本表空间本身的数据文件中身的数据文件中,而与数据字典无关。,而与数据字典无关。n表空间在每个数据文件中维护一个表空间在每个数据文件中维护一个“位位图图”结构,用于记录表空间中所有区的结构,用于记录表空间中所有
13、区的分配情况分配情况n区在分配与回收时,区在分配与回收时,Oracle将对数据文件将对数据文件中的位图进行更新,不会产生回滚信息中的位图进行更新,不会产生回滚信息或重做信息。或重做信息。p表空间本地管理方式的优势:表空间本地管理方式的优势: n由于在区分配与回收过程中不需要对数据字由于在区分配与回收过程中不需要对数据字典进行访问典进行访问n能够避免表空间存储管理操作中的递归现象能够避免表空间存储管理操作中的递归现象n能够在保留可查询性同时,将整个数据库设能够在保留可查询性同时,将整个数据库设置为只读状态。置为只读状态。n简化了表空间的存储管理简化了表空间的存储管理n降低了用户对数据字典的依赖性
14、。降低了用户对数据字典的依赖性。n不存在磁盘碎片问题不存在磁盘碎片问题4.表空间管理策略表空间管理策略系统表空间用于存储系统表空间用于存储Oracle自身数据,建议将自身数据,建议将所有的用户数据保存到其他表空间中所有的用户数据保存到其他表空间中p将数据字典与用户数据分离。将数据字典与用户数据分离。p将回滚数据与用户数据分离。将回滚数据与用户数据分离。p将表空间的数据文件保存到不同的硬盘上将表空间的数据文件保存到不同的硬盘上p为不同的应用创建独立的表空间。为不同的应用创建独立的表空间。p能够将表空间设置为脱机状态或联机状态。能够将表空间设置为脱机状态或联机状态。p能够将表空间设置为只读状态。能
15、够将表空间设置为只读状态。p能够为某种特殊用途专门设置一个表空间。能够为某种特殊用途专门设置一个表空间。p能够更加灵活地为用户设置表空间配额。能够更加灵活地为用户设置表空间配额。6.2.2 表空间的管理表空间的管理(本地管理方式)(本地管理方式)p创建表空间创建表空间p修改表空间修改表空间p表空间的备份表空间的备份p删除表空间删除表空间p大文件表空间的管理大文件表空间的管理 p表空间信息查询表空间信息查询p利用利用OEM管理表空间管理表空间 利用利用OEM创建表空间创建表空间p管理属性页管理属性页存储存储表空间表空间创建表空间创建表空间1 使用语句创建表空间使用语句创建表空间 p表空间名称不能
16、超过表空间名称不能超过30个字符,必须以字母个字符,必须以字母开头,可以包含字母、数字以及一些特殊字开头,可以包含字母、数字以及一些特殊字符(如符(如#、_、$)等;)等;p表空间的类型表空间的类型 普通表空间、临时表空间和撤销表空间;普通表空间、临时表空间和撤销表空间;(1).创建永久创建永久(普通普通)表空间表空间 pCREATE TABLESPACE语句,包含子句:语句,包含子句:n设定表空间的数据文件设定表空间的数据文件DATAFILEn表空间的管理方式表空间的管理方式 EXTENT MANAGEMENT 取值为取值为LOCAL(默认默认)或或DICTIONARY。n区的分配方式区的分
17、配方式 AUTOALLOCATE(默认默认)或或UNIFORM SIZEn段的管理方式段的管理方式 SEGMENT SPACE MANAGEMENT 取值为取值为MANUAL或或AUTO (默认)(默认)本地管理本地管理数据字典数据字典自动分配自动分配定制分配定制分配手动管理手动管理自动管理自动管理语句形式:语句形式:Create Tablespace 表空间名表空间名Datafile 文件名文件名Size 整数整数K|MReuseExtent Management LocalAutoallocate|Uniform Size 整数整数K|MSegment Space Management M
18、anual|Auto;例例2.为为ORCL数据库创建一个数据库创建一个本地管理本地管理永久性的永久性的表空间表空间ORCLTBS02 ,数据文件为,数据文件为E:ORACLEORCLTBS02_1.DBF大小为大小为10M,区定制分配,每个区大小为区定制分配,每个区大小为512K,段采用手动段采用手动管理方式。管理方式。CREATE TABLESPACE ORCLTBS02 DATAFILEE:ORACLEORCLTBS02_1.DBF SIZE 10MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 512KSEGMENT SPACE MANAGEMENT MANUA
19、L;例例1.为为ORCL数据库创建一个本地管理永久性的数据库创建一个本地管理永久性的表空间表空间ORCLTBS01 ,数据文件为,数据文件为E:ORACLEORCLTBS01_1.DBF 大小为大小为20M,区自动扩展,段采用自动管理方式,区自动扩展,段采用自动管理方式pCREATE TABLESPACE ORCLTBS01 DATAFILE E:ORACLEORCLTBS01_1.DBF SIZE 20M;例例3.为为ORCL数据库创建一个本地管理永久性数据库创建一个本地管理永久性的表空间的表空间ORCLTBS03 ,数据文件为,数据文件为E:ORACLEORCLTBS03_1.DBF大小为
20、大小为50M,区自动扩展,段采用手动管理方式。,区自动扩展,段采用手动管理方式。CREATE TABLESPACE ORCLTBS03 DATAFILEE:ORACLEORCLTBS03_1.DBF SIZE 50M SEGMENT SPACE MANAGEMENT MANUAL;(2) 创建临时表空间创建临时表空间p使用使用CREATE TEMPORARY TABLESPACE 语句创建临时表空间语句创建临时表空间p用用TEMPFILE子句设置临时数据文件。子句设置临时数据文件。p需要注意的是临时表空间中需要注意的是临时表空间中区区的分配方式的分配方式只只能是能是UNIFORM,而不能是,而
21、不能是AUTOALLOCATE例例5,为,为ORCL数据库创建一个本地管理临时表数据库创建一个本地管理临时表空间空间ORCLTEMP1,数据文件为,数据文件为D:ORACLEORCLTEMP1_1.DBF 大小大小20M,每个区大小为,每个区大小为16M。pCREATE TEMPORARY TABLESPACE ORCLTEMP1 TEMPFILE D:ORACLEORCLTEMP1_1.DBF SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;p临时表空间临时表空间组组n将一个或多个临时表空间构成一个表空将一个或多个临时表空间构成一个表空间组
22、。间组。n当将临时表空间组作为数据库或用户的当将临时表空间组作为数据库或用户的默认临时表空间时,用户就可以同时使默认临时表空间时,用户就可以同时使用该表空间组中所有的临时表空间。用该表空间组中所有的临时表空间。n临时表空间组临时表空间组不需要显式创建不需要显式创建,为临时,为临时表空间组指定第一个临时表空间时隐式表空间组指定第一个临时表空间时隐式创建,当临时表空间组中最后一个临时创建,当临时表空间组中最后一个临时表空间删除时而隐式地删除。表空间删除时而隐式地删除。(3) 创建撤销表空间创建撤销表空间p数据库回滚信息保存在回滚段中,撤销表空数据库回滚信息保存在回滚段中,撤销表空间专门间专门用于回
23、滚段的自动管理用于回滚段的自动管理。p如果数据库中没有创建撤销表空间,那么将如果数据库中没有创建撤销表空间,那么将使用使用SYSTEM表空间表空间来自动管理回滚段。来自动管理回滚段。p那么一个实例只能使用一个撤销表空间,可那么一个实例只能使用一个撤销表空间,可以通过参数以通过参数UNDO_TABLESPACE来指定来指定p如果要使用撤销表空间对数据库回滚信息进如果要使用撤销表空间对数据库回滚信息进行行自动自动管理,则必须将初始化参数管理,则必须将初始化参数UNDO_MANAGEMENT设为设为AUTO。p使用使用CREATE UNDO TABLESPACE语句创建语句创建撤销表空间撤销表空间p
24、在该语句中只能指定在该语句中只能指定DATAFILE和和EXTENT MANAGEMENT LOCAL两个子句。两个子句。例例7,为,为ORCL数据库创建一个撤销表空间数据库创建一个撤销表空间ORCLUNDO01 ,数据文件为,数据文件为E:ORACLEORCLUNDO1_1.DBF大小为大小为20MCREATE UNDO TABLESPACE ORCLUNDO01 DATAFILE E:ORACLEORCLUNDO1_1.DBF SIZE 20M;2 . 修改表空间修改表空间p可以对表空间进行下列修改操作:可以对表空间进行下列修改操作:n扩展表空间扩展表空间 n修改表空间可用性修改表空间可用
25、性 n修改表空间读修改表空间读/写性写性 n设置默认表空间设置默认表空间 n表空间重命名表空间重命名 p注意注意n不能不能将本地管理的将本地管理的永久永久性表空间转换为本性表空间转换为本地管理的地管理的临时临时表空间,也不能修改本地管表空间,也不能修改本地管理表空间中理表空间中段段的管理方式。的管理方式。(1) 扩展表空间扩展表空间p为表空间为表空间添加新添加新数据文件数据文件n为永久表空间添加新的数据文件为永久表空间添加新的数据文件 ALTER TABLESPACEADD DATAFILEn为临时表空间添加新的临时数据文件为临时表空间添加新的临时数据文件 ALTER TABLESPACE A
26、DD TEMPFILE例例8,为,为ORCL数据库的数据库的ORCLTBS01表空间添加表空间添加一个大小为一个大小为10 MB的新数据文件。的新数据文件。nALTER TABLESPACE ADD DATAFILEE:ORACLEORCLTBS01_2.DBF SIZE 10M;ORCLTBS01p改变改变已有已有数据文件的数据文件的大小大小ALTER DATABASE DATAFILE RESIZE例例10,将,将ORCL数据库的数据库的ORCLTBS01表空间的表空间的数据文件数据文件E:ORACLEORCLTBS01_2.DBF 大大小增加到小增加到20 MB。ALTER DATABA
27、SE DATAFILEE:ORACLEORCLTBS01_2.DBF RESIZE 20M;p改变数据文件的改变数据文件的扩展方式扩展方式如果为数据文件指定了如果为数据文件指定了AUTOEXTEND ON选项,选项,当数据文件被填满时会自动扩展。当数据文件被填满时会自动扩展。p可以在创建可以在创建新新数据文件时设定,也可以通过修数据文件时设定,也可以通过修改改已有已有数据文件设定数据文件设定例例11,将,将ORCL数据库的数据库的ORCLTBS01表空间的表空间的数据文件数据文件E:ORACLEORCLTBS01_2.DBF修修改为自动扩展,每次扩展改为自动扩展,每次扩展5 MB空间,文件最空
28、间,文件最大为大为100 MB。 ALTER DATABASE DATAFILE E:ORACLEORCLTBS01_2.DBF AUTOEXTEND ON NEXT 5M MAXSIZE 100M;无限制无限制UNLIMITED总结:扩展表空间总结:扩展表空间p为表空间添加新数据文件为表空间添加新数据文件ALTER TABLESPACEADD DATAFILEALTER TABLESPACE ADD TEMPFILEp改变已有数据文件的大小改变已有数据文件的大小ALTER DATABASE DATAFILE RESIZEp改变数据文件的扩展方式改变数据文件的扩展方式AUTOEXTEND ON
29、 NEXT MAXSIZE在在CREATE TABLESPACEALTER TABLESPACE ADDALTER DATABASE等语句中使用等语句中使用p练习,为练习,为ORCL数据库的数据库的ORCLTBS01表空间表空间添加一个大小为添加一个大小为20 MB的新数据文件的新数据文件E:ORACLEORCLTBS01_3.DBF,并且,并且设为自动扩展,每次扩展设为自动扩展,每次扩展10M,最大无限制,最大无限制pALTER TABLESPACE ORCLTBS01 ADD DATAFILE E:ORACLEORCLTBS01_3.DBF SIZE 20M AUTOEXTEND ON N
30、EXT 10M MAXSIZE UNLIMITED; (2)修改表空间可用性)修改表空间可用性 p当表空间处于联机当表空间处于联机ONLINE状态时,用户可以状态时,用户可以对其进行访问,离线状态对其进行访问,离线状态OFFLINE的表空间的表空间是不能进行数据访问的是不能进行数据访问的,所对应的所有数据文所对应的所有数据文件也都处于脱机状态。件也都处于脱机状态。 p语法语法 ALTER TABLESPACEONLINE|OFFLINEpSYSTEM表空间,撤销表空间表,临时表空表空间,撤销表空间表,临时表空间必须是联机状态间必须是联机状态例例12,将,将ORCLTBS01表空间设为脱机表空间
31、设为脱机ALTER TABLESPACE ORCLTBS01 OFFLINE; ONLINE(3)修改表空间读写性)修改表空间读写性p表空间可以是读写方式,也可以是只读方式表空间可以是读写方式,也可以是只读方式ALTER TABLESPACE READ ONLY|READ WRITEp表空间只有满足下列要求才可以转换为只读表空间只有满足下列要求才可以转换为只读状态:状态:n表空间处于联机状态;表空间处于联机状态;n表空间中不能包含任何活动的回退段;表空间中不能包含任何活动的回退段;n如果表空间正在进行联机数据库备份,不如果表空间正在进行联机数据库备份,不能将它设置为只读状态。能将它设置为只读状
32、态。p例如,例如,ALTER TABLESPACE ORCLTBS01 READ ONLY; (4)设置默认表空间)设置默认表空间p创建用户时,用户默认的永久表空间为创建用户时,用户默认的永久表空间为USERS表空间,默认临时表空间为表空间,默认临时表空间为TEMP表空间。表空间。p设置数据库的默认表空间设置数据库的默认表空间ALTER DATABASE DEFAULT TABLESPACE p设置数据库的默认临时表空间设置数据库的默认临时表空间ALTER DATABASE DEFAULT TEMPORARY TABLESPACE 例例16,将,将ORCLTBS01表空间设置为表空间设置为OR
33、CL数据数据库的默认表空间库的默认表空间ALTER DATABASE DEFAULT TABLESPACE ORCLTBS01 ; (5)表空间重命名)表空间重命名pALTER TABLESPACERENAME TOp在重命名表空间时该表空间在重命名表空间时该表空间ID号并没有修改号并没有修改p如果该表空间是数据库默认表空间,那么重如果该表空间是数据库默认表空间,那么重命名后仍然是数据库的默认表空间。命名后仍然是数据库的默认表空间。p不能重命名不能重命名SYSTEM和和SYSAUX表空间表空间p不能重命名处于脱机状态或部分数据文件处不能重命名处于脱机状态或部分数据文件处于脱机状态的表空间。于脱
34、机状态的表空间。例例19,将表空间,将表空间ORCLTBS01重命名为重命名为NEWTBALTER TABLESPACE ORCLTBS01 RENAME TO NEWTB;3.表空间的备份表空间的备份p对表空间进行联机备份。基本步骤为:对表空间进行联机备份。基本步骤为:n将表空间设置为备份模式将表空间设置为备份模式ALTER TABLESPACEBEGIN BACKUPn在操作系统中备份表空间所对应的数据文件在操作系统中备份表空间所对应的数据文件n结束表空间的备份模式结束表空间的备份模式ALTER TABLESPACEEND BACKUPp作业作业pP94 第第2题(题(4)()(6)()(
35、8)pP75 第第2题(题(3)()(4)p作业作业1(1)说明)说明Oracle数据库的逻辑结构的组数据库的逻辑结构的组成和关系成和关系(3)数据库,表空间,数据文件以及数据库)数据库,表空间,数据文件以及数据库对象之间的关系对象之间的关系数据库数据库表空间表空间1表空间表空间n数据文件数据文件1数据文件数据文件n数据库对象数据库对象p2(1)使用)使用SQL命令创建一个本地管理方命令创建一个本地管理方式下自动分区管理的表空间式下自动分区管理的表空间USERTBS1,其其对应的数据文件大小为对应的数据文件大小为20MB复习:创建永久复习:创建永久(普通普通)表空间表空间 pCREATE TA
36、BLESPACE语句,包含子句:语句,包含子句:n设定表空间的数据文件设定表空间的数据文件DATAFILEn表空间的管理方式表空间的管理方式 EXTENT MANAGEMENT 取值为取值为LOCAL(默认默认)或或DICTIONARY。n区的分配方式区的分配方式 AUTOALLOCATE(默认默认)或或UNIFORM SIZEn段的管理方式段的管理方式 SEGMENT SPACE MANAGEMENT 取值为取值为MANUAL或或AUTO (默认)(默认)本地管理本地管理数据字典数据字典自动分配自动分配定制分配定制分配手动管理手动管理自动管理自动管理语句形式:语句形式:Create Tabl
37、espace 表空间名表空间名Datafile 文件名文件名Size 整数整数K|MReuseExtent Management LocalAutoallocate|Uniform Size 整数整数K|MSegment Space Management Manual|Auto;作业作业 2(1)使用)使用SQL命令创建一个本地管理命令创建一个本地管理方式下自动分区管理的表空间方式下自动分区管理的表空间USERTBS1,其对应的数据文件大小为其对应的数据文件大小为20MBcreate tablespace usertbs1 Datafile (2)使用)使用SQL命令创建一个本地管理方式下命令
38、创建一个本地管理方式下的表空间的表空间USERTBS2,要求每个分区的大,要求每个分区的大小为小为512KB create tablespace usertbs2 datafile D:testusertbs2.dbf size 20M uniform size 512k;D:testusertbs1.dbf size 20M;路径路径D:/test已经存在已经存在p选择操作对象数据库选择操作对象数据库p在在SQL*PLUS和和PL/SQL Developer连接时连接时指定数据库名指定数据库名(3)修改)修改USERTBS1表空间的大小,将该表空表空间的大小,将该表空间的数据文件改为自动扩展
39、方式,最大值为间的数据文件改为自动扩展方式,最大值为100MB alter database datafile D:testusertbs1.dbf autoextend on maxsize 100M;复习:扩展表空间复习:扩展表空间p为表空间添加新数据文件为表空间添加新数据文件ALTER TABLESPACEADD DATAFILEp改变已有数据文件的大小改变已有数据文件的大小ALTER DATABASE DATAFILE RESIZEp设置数据文件的扩展方式设置数据文件的扩展方式AUTOEXTEND ON NEXT MAXSIZE在在CREATE TABLESPACEALTER TABL
40、ESPACE ADDALTER DATABASE等语句中使用等语句中使用Oracle数据库数据库服务器服务器图形客户端图形客户端Web企业管理器企业管理器SQL*PLUSPL/SQL Developer3.使用使用DBCA创建数据库创建数据库 每个重做日志文件每个重做日志文件组组新增一个重做新增一个重做日志文件日志文件4. 删除表空间删除表空间 pDROP TABLESPACE INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTSpSYSTEM和和SYSAUX表空间不能删除表空间不能删除p一旦表空间删除,里面的数据将一旦表空间删除,里面的数据
41、将永久永久丢失丢失p如果表空间中的数据正在使用或者含有未如果表空间中的数据正在使用或者含有未提交的事务,则不能删除提交的事务,则不能删除一并删除里一并删除里面的内容和面的内容和数据文件数据文件删除涉及其他表删除涉及其他表空间的外键空间的外键例例23,删除,删除ORCL数据库的数据库的ORCLUNDO01表空表空间及其所有内容,同时删除其所对应的数据间及其所有内容,同时删除其所对应的数据文件,以及其他表空间相关的参照完整性约文件,以及其他表空间相关的参照完整性约束束DROP TABLESPACE ORCLUNDO01 INCLUDING CONTENTS AND DATAFILES CASCAD
42、E CONSTRAINTS; (6)表空间信息查询)表空间信息查询 pV$TABLESPACE:从控制文件中获取的表:从控制文件中获取的表空间名称和编号信息空间名称和编号信息pDBA_TABLESPACES:数据库中所有表空:数据库中所有表空间的信息间的信息pDBA_FREE_SPACE:所有表空间中空闲区:所有表空间中空闲区的信息的信息pDBA_DATA_FILES:数据文件及其所属表:数据文件及其所属表空间信息空间信息p查询表空间基本信息查询表空间基本信息 SELECT TABLESPACE_NAME, EXTENT_MANAGEMENT,ALLOCATION_TYPE, CONTENTS
43、FROM DBA_TABLESPACES;p查询表空间数据文件信息查询表空间数据文件信息 SELECT FILE_NAME, BLOCKS, TABLESPACE_NAME FROM DBA_DATA_FILES; 6.3 数据块数据块(BLOCK)1. 数据块的概念数据块的概念pOracle数据块是数据库中最小的逻辑存储数据块是数据库中最小的逻辑存储单元,也是单元,也是I/O操作的最小单元操作的最小单元p由一个或者多个操作系统块组成由一个或者多个操作系统块组成p分为标准块和非标准块,标准块在数据库分为标准块和非标准块,标准块在数据库创建时创建时DB_BLOCK_SIZE 参数大小设置,参数大
44、小设置,不可更改不可更改2 数据库块结构数据库块结构块头部块头部空闲区空闲区行数行数据区据区标题标题表目录表目录行目录行目录插入新的行或更新插入新的行或更新保存行数据保存行数据 3 数据块的管理数据块的管理 p对块的管理主要是对块中对块的管理主要是对块中可用存储空间可用存储空间的的管理,确定保留多少空闲空间,避免产生管理,确定保留多少空闲空间,避免产生行链接、行迁移。行链接、行迁移。p行链接行链接 插入数据时,如果行的长度大于一个块空插入数据时,如果行的长度大于一个块空闲空间的大小,就需要使用闲空间的大小,就需要使用多个块多个块存放行存放行信息。信息。数据数据块块1块块2p行迁移行迁移 数据更
45、新时,如果更新后的数据长度大于数据更新时,如果更新后的数据长度大于块长度,块长度,Oracle会会将整行将整行的数据从原数据的数据从原数据块块迁移迁移到新的数据块中。到新的数据块中。更新数据更新数据更新数据更新数据原数据原数据块块1块块2p对块的管理分为对块的管理分为自动自动和和手动手动两种。两种。p本地管理方式的表空间,如果本地管理方式的表空间,如果段段的管理方的管理方式设置为式设置为AUTO,则采用自动方式管理块。,则采用自动方式管理块。p如果如果段段的管理方式设置为的管理方式设置为MANUAL,则是则是手动管理。通过为段设置手动管理。通过为段设置PCTFREE和和PCTUSED两个参数来
46、控制数据块中空闲空两个参数来控制数据块中空闲空间的使用。间的使用。pPCTFREEn指定块中必须保留的用于更新的最小空闲空指定块中必须保留的用于更新的最小空闲空间比例。间比例。n当数据块的空闲空间百分率低于当数据块的空闲空间百分率低于PCTFREE时,此数据块被标志为时,此数据块被标志为USED,此时在数据,此时在数据块中块中只可以进行更新,而不能插入只可以进行更新,而不能插入。pPCTUSED n指定可以向块中插入数据时,块已使用的最指定可以向块中插入数据时,块已使用的最大空间比例。大空间比例。n当数据块使用空间低于当数据块使用空间低于PCTUSED时,时,此块此块标志为标志为FREE,进行
47、插入,进行插入PCTUSED=40数据数据PCTFREE=20=20%20%数据数据40%数据数据pINITRANSn可以同时对此数据块进行可以同时对此数据块进行DML操作的事操作的事务的个数。务的个数。pMAXTRANSn可以同时对此数据块进行可以同时对此数据块进行DML操作的最操作的最多事务的个数。多事务的个数。p 在数据库中,每一行都有一个物理地址在数据库中,每一行都有一个物理地址ROWID,由,由18位十六进制数字组成位十六进制数字组成1.区的概念区的概念p区由一系列区由一系列连续的数据块连续的数据块构成的逻辑存储单元构成的逻辑存储单元p区是存储空间区是存储空间分配与回收分配与回收的最
48、小单位。的最小单位。p当创建一个数据库对象时,当创建一个数据库对象时,Oracle为对象分配为对象分配若干个区。若干个区。2.区的管理区的管理(1)区的分配)区的分配p本地管理的表空间中,用本地管理的表空间中,用AUTOALLOCATE选项选项自动自动进行区的分配进行区的分配p通过表空间通过表空间UNIFORM选项,选项,指定指定所有区具有所有区具有统一大小,统一大小,6.4 区区(2)区的回收)区的回收n通常区将一直保留在段中,不论区中的通常区将一直保留在段中,不论区中的数据块是否被使用。数据块是否被使用。n只有当段所属的对象被删除时,段中所只有当段所属的对象被删除时,段中所有的区才会被回收
49、。有的区才会被回收。n如果在创建如果在创建回滚段回滚段时指定了时指定了OPTIMAL关关键字,键字,Oracle会定期回收回滚段中未使用会定期回收回滚段中未使用的区。的区。6.5.1 段的概述段的概述n段是由一个或多个区组成的逻辑存储单元。段是由一个或多个区组成的逻辑存储单元。 n段是表空间的组成单位段是表空间的组成单位n通常一个数据库对象只拥有一个段,一个通常一个数据库对象只拥有一个段,一个段至少包含一个区段至少包含一个区p段的类型:段的类型:n数据段,索引段,临时段,回滚段数据段,索引段,临时段,回滚段6.5 段段p数据段数据段n数据段用来存储表或簇的数据,可以细数据段用来存储表或簇的数据,可以细分为表数据段、索引表数据段、分区表分为表数据段、索引表数据段、分区表数据段及簇数据段四种。数据段及簇数据段四种。p索引段索引段n用来存放索引信息,主要包括存储用来存放索引信息,主要包括存储ROWID和索引键。和索引键。n索引信息与表数据可以放到处于不同物索引信息与表数据可以放到处于不同物理位置的表空间中理位置的表空间中p临时段临时段n当用户进行排序查询时,如果在指定的内存当用户进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度搅拌站矿粉购销合同示范文本3篇
- 2024消防信息管理系统开发与应用合同
- 2024年跨境挖掘机采购与进口清关合同3篇
- 2024年甲乙双方关于高端智能家电买卖与安装服务的合同
- 成都职业技术学院《企业级智能软件开发实践》2023-2024学年第一学期期末试卷
- 2024年行业罐体拆除协议标准格式版B版
- 二零二五年度个人与公司间旅游借款合同模板3篇
- 2025Oracle云计算服务安全合规性与风险管理合同2篇
- 二零二五年店面租赁与产品研发合同3篇
- 二零二五年度二手车买卖交易安全保障合同模板2篇
- LPG液化气充装站介质分析操作规程 202412
- 养老院环境卫生保洁方案
- 2024年WPS计算机二级考试题库350题(含答案)
- 天津市武清区2024-2025学年九年级上学期11月期中物理试题(无答案)
- 2023届安徽省马鞍山市高三第一次教学质量监测(一模)理综生物试题(原卷版)
- 充电桩租赁协议模板
- 生物统计学(全套课件)
- 四川新农村建设农房设计方案图集川东北部分
- 2024年男方因赌博离婚协议书
- 部编版五年级上册道德与法治期末测试卷含答案精练
- 零工市场(驿站)运营管理 投标方案(技术方案)
评论
0/150
提交评论