逻辑存储结构.ppt
《逻辑存储结构.ppt》由会员分享,可在线阅读,更多相关《逻辑存储结构.ppt(64页珍藏版)》请在三一办公上搜索。
1、逻辑存储结构,本章内容,Oracle的逻辑存储结构表空间数据块区段,本章要求,掌握Oracle数据库逻辑结构组成掌握表空间的作用及其管理掌握扩展区的结构及其管理掌握段的作用及其管理,逻辑存储结构概述,逻辑结构单元类型数据块:BLOCK 区:EXTENT段:SEGMENT表空间:TABLESPACE 数据库的存储层次数据库逻辑存储单元之间的关系,Database,Logical,Physical,Tablespace,Data file,OS block,Oracle block,Segment,Extent,数据库的存储层次,表空间,数据段,区间,数据块,(段片),数据库逻辑存储单元之间的关系
2、,表空间,表空间概述表空间的管理,表空间概述,表空间概念是Oracle数据库的一个主要逻辑组织结构,Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空
3、间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。,数据库、表空间、数据文件、数据库对象之间的关系,表空间的作用,逻辑存放数据库中的数据。控制空间分配、指定用户可用的空间份额;通过将表空间联机或脱机来控制数据的可用执行部分备份和部分恢复功能;当实体增大或创建时,给其分配表空间,表空间的分配方式是以区的方式分配的。,表空间的分类,SYSTEM 表空间每个Oracle数据库必须具有一个默认系统表空间,即SYSTEM表空间,该表空间是在创建数据库时自动创建的。SYSTEM表空间主要用于存储下列信息数据库的数据字典。PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等。数
4、据库对象的定义,如表、视图、序列、同义词等。开发者不应把模式对象(如表等)存放在SYSTEM表空间,以免影响数据库的稳定性与执行效率。,表空间的分类,非SYSTEM 表空间索引表空间(INDEX):用来单独存放索引,使得它与其他类型的对象分离。撤消表空间(UNDOTBS)专门进行回退信息的自动管理 临时表空间(TEMP):保存SQL语句在执行过程中所产生的临时数据(主要是在排序时产生的临时数据)用户表空间(USERS)保存用户数据,表空间的管理方式,字典管理方式在字典管理方式下,表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时
5、会产生回退信息和重做信息 本地管理方式在本地管理方式中,区的分配与管理信息都存储在表空间的数据文件中,而与数据字典无关。表空间在每个数据文件中维护一个“位图”结构,用于记录表空间中的所有区的分配情况,因此区在分配与回收时,Oracle将对数据文件中的位图进行更新,不会产生回退信息或重做信息。在Oracle9i数据库中创建表空间时,表空间的默认管理方式为本地管理方式。,本地管理方式优势,由于在区分配与回收过程中不需要对数据字典进行访问,提高了表空间存储管理操作的速度和并发性。能够避免表空间存储管理操作中的递归现象,提高了存储空间管理操作性能。由于本地管理的临时表空间在使用过程中不会产生任何重做信
6、息和撤销信息,因此既使查询操作中包含排序,对数据库来说也完全是只读操作,这样能够在保留可查询性同时,将整个数据库设置为只读状态。这种数据库可以作为备用数据库使用。简化了表空间存储管理,由Oracle自动完成存储管理操作。降低了用户对数据字典的依赖性。不存在磁盘碎片问题,因为必要的信息都存储在数据文件的位图中,而不是保存在数据字典中,在Oracle9i数据库中,系统表空间主要用于存储数据字典等Oracle自身对象和数据,将所有的用户对象和数据保存在其他表空间中,因此需要为数据库创建非系统表空间。使用多个表空间需遵循以下原则:将数据字典与用户数据分离 将回滚数据与用户数据分离 将表空间的数据文件分
7、散保存到不同的硬盘上 能够将表空间设置为脱机状态或联机状态将表空间设置为只读状态 能够为某种特殊用途专门设置一个表空间 能够更加灵活的为用户设置表空间配额,表空间管理策略,表空间的管理(本地管理方式),表空间的创建表空间的修改表空间的备份表空间的删除表空间信息查询,创建表空间,在创建本地管理方式下的表空间时,首先应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式。表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等;表空间的类型包括普通表空间、临时表空间和撤销表空间;表空间中区的分配方式包括自动扩展(AUTOALL
8、OCATE)和定制(UNIFORM)两种;段的管理包括自动管理(AUTO)和手动管理(MANUAL)两种。,创建永久表空间,创建表空间使用CREATE TABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的一个或多个数据文件。EXTENT MANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为MANUAL(默认)或AUTO。,创建表空间示例,为ORCL数据库创建一个永久性的表空间
9、,区自动扩展,段采用手动管理方式 CREATE TABLESPACE ORCLTBS1 DATAFILE D:ORACLEORADATAORCLORCLTBS1_1.DBF SIZE 50M;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式 CREATE TABLESPACE ORCLTBS2 DATAFILE D:ORACLEORADATAORCLORCLTBS2_1.DBF SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K,创建表空间示例,为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式。CRE
10、ATE TABLESPACE ORCLTBS3 DATAFILE D:ORACLEORADATAORCLORCLTBS3_1.DBF SIZE 50M SEGMENT SPACE MANAGEMENT AUTO;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。CREATE TABLESPACE ORCLTBS4 DATAFILE D:ORACLEORADATAORCLORCLTBS4_1.DBF SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT AUTO;,创建临时表空
11、间,使用CREATE TEMPORARY TABLESPACE 语句创建临时表空间,用TEMPFILE子句设置临时数据文件。需要注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。为ORCL数据库创建一个临时表空间。CREATE TEMPORARY TABLESPACE ORCLTEMP1 TEMPFILE D:ORACLEORADATAORCLORCLTEMP1_1.DBF SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;,创建撤销表空间,可以使用CREA
12、TE UNDO TABLESPACE语句创建撤销表空间,但是在该语句中只能指定DATAFILE和EXTENT MANAGEMENT LOCAL两个子句,而不能指定其他子句。为ORCL数据库创建一个撤销表空间。CREATE UNDO TABLESPACE ORCLUNDO1 DATAFILE D:ORACLEORADATAORCLORCLUNDO1_1.DBF SIZE 20M;如果要在数据库使用该撤销表空间,需要设置参数UNDO_MANAGEMENT=AUTO和参数UNDO_TABLESPACE=ORCLUNDO1。,修改表空间,扩展表空间 为表空间添加数据文件可以通过ALTER TABLES
13、PACEADD DATAFILE语句为永久表空间添加数据文件,通过ALTER TABLESPACEADD TEMPFILE语句为临时表空间添加数据文件。为ORCL数据库的ORCLTBS1表空间添加一个大小为10M的新的数据文件。ALTER TABLESPACE ORCLTBS1 ADD DATAFILE D:ORACLEORADATAORCLORCLTBS1_2.DBF SIZE 10M;为ORCL数据库的ORCLTEMP1表空间添加一个大小为10M的临时数据文件。ALTER TABLESPACE ORCLTEMP1 ADD TEMPFILE D:ORACLEORADATAORCLORCLTE
14、MP1_2.DBF SIZE 10M;,修改表空间,改变数据文件的大小可以通过改变表空间已有数据文件的大小,达到扩展表空间的目的。将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20M。ALTER DATABASE DATAFILE D:ORACLEORADATAORCLORCLTBS1_2.DBF RESIZE 20M;,修改表空间,改变数据文件的扩展方式如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTEND ON选项,则该文件的大小是固定的。如果为数据文件指定了AUTOEXTEND ON选项,当数据文件被填满时,数据文件会自动扩展,即表
15、空间被扩展了。将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF设置为自动扩展,每次扩展5M空间,文件最大为100M。ALTER DATABASE DATAFILEC:ORACLEORADATAORCLORCLTBS1_2.DBFAUTOEXTEND ON NEXT 5M MAXSIZE 100M;,修改表空间,修改表空间可用性语法ALTER TABLESPACE tablespace_name ONLINE|OFFLINE离线状态的表空间是不能进行数据访问的一些表空间必须是在线状态:SYSTEM表空间存放在线回退信息的撤销表空间临时表空间,修改表空间读写性 语法A
16、LTER TABLESPACE tbs_name READ ONLY|READ WRITE表空间只有满足下列要求才可以转换为只读状态:表空间处于联机状态;表空间中不能包含任何活动的回退段;如果表空间正在进行联机数据库备份,则不能将它设置为只读状态。因为联机备份结束时,Oracle更新表空间数据文件的头部信息。,修改表空间,设置默认表空间,Oracle数据库的默认表空间为System,默认临时表空间为Temp。可根据需要设置数据库的默认表空间将ORCLTBS1表空间设置为ORCL数据库默认表空间:Alter database default tablespace ORCLTBS1 将TEMP表空
17、间设置为ORCL数据库的默认临时表空间:Alter database default temporary tablespace TEMP,表空间的备份,语法ALTER TABLESPACE tablespace_name BEGIN|END BACKUP在数据库进行热备份(联机备份)时,需要分别对表空间进行备份。对表空间进行备份基本步骤为:使用ALTER TABLESPACEBEGIN BACKUP语句将表空间设置为备份模式。在操作系统中备份表空间所对应的数据文件。使用ALTER TABLESPACEEND BACKUP语句结束表空间的备份模式。,表空间删除,语法DROP TABLESPACE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 逻辑 存储 结构
链接地址:https://www.31ppt.com/p-6434837.html