《Oracle-10g数据库基础教程(XXXX) 第07章逻辑存储结构7905.pptx》由会员分享,可在线阅读,更多相关《Oracle-10g数据库基础教程(XXXX) 第07章逻辑存储结构7905.pptx(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Oracle 10g 数据库基础教程2012第第7章章 逻辑存储结构逻辑存储结构Oracle 10g 数据库基础教程2012本章内容本章内容pOracle逻辑存储结构概述逻辑存储结构概述p表空间表空间p数据块数据块p区区p段段Oracle 10g 数据库基础教程2012本章要求本章要求p掌握掌握Oracle数据库逻辑结构组成数据库逻辑结构组成p掌握表空间的作用及其管理掌握表空间的作用及其管理p掌握扩展区的结构,了解扩展区的管理掌握扩展区的结构,了解扩展区的管理p掌握段的作用,了解段的管理掌握段的作用,了解段的管理Oracle 10g 数据库基础教程20127.1 逻辑存储结构概述逻辑存储结构概
2、述p概念概念n逻辑存储结构是逻辑存储结构是从逻辑的角度从逻辑的角度来分析数据库的构成的,是数来分析数据库的构成的,是数据库创建后据库创建后利用逻辑概念利用逻辑概念来来描述描述Oracle数据库内部数据的数据库内部数据的组织和管理形式。组织和管理形式。n在在操作系统操作系统中,中,没有没有数据库数据库逻辑存储结构信息逻辑存储结构信息,而,而只有物理只有物理存储结构信息存储结构信息。数据库的逻辑存储结构概念。数据库的逻辑存储结构概念存储在数据库的存储在数据库的数据字典中数据字典中,可以通过数据字典查询逻辑存储结构信息。,可以通过数据字典查询逻辑存储结构信息。p逻辑结构单元类型逻辑结构单元类型n数据
3、块:数据块:BLOCK n区:区:EXTENTn段:段:SEGMENTn表空间:表空间:TABLESPACEOracle 10g 数据库基础教程2012p数据库的存储层次关系数据库的存储层次关系DatabaseLogicalPhysicalTablespaceData fileOS blockOracle blockSegmentExtentOracle 10g 数据库基础教程2012p数据库逻辑存储结构之间的关系数据库逻辑存储结构之间的关系表空间表空间数据段数据段 区间区间数据块数据块(段片段片)Oracle 10g 数据库基础教程20127.2 表空间表空间p表空间概述表空间概述p表空间的
4、管理表空间的管理Oracle 10g 数据库基础教程20127.2.1 表空间概述表空间概述p表空间的概念表空间的概念 p表空间的分类表空间的分类 p表空间的管理方式表空间的管理方式 p表空间的管理策略表空间的管理策略 Oracle 10g 数据库基础教程2012(1)表空间概念)表空间概念pOracle数据库在逻辑上可以划分为一系列的逻辑空间,数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个每一个逻辑空间就可以称为一个表空间表空间。p一个数据库由有一个数据库由有一个一个或或多个多个表空间构成,不同表空间用于表空间构成,不同表空间用于存放不同应用的数据,存放不同应用的数据
5、,表空间大小决定了数据库的大小表空间大小决定了数据库的大小。p一个表空间对应一个表空间对应一个一个或或多个多个数据文件数据文件,数据文件大小决定数据文件大小决定了表空间的大小了表空间的大小。一个数据文件只能从属于一个表空间。一个数据文件只能从属于一个表空间。p表空间是表空间是存储模式对象存储模式对象的容器,的容器,一个数据库对象一个数据库对象只能只能存储存储在在一个表空间中一个表空间中(分区表和分区索引除外分区表和分区索引除外),但可以存储在,但可以存储在该表空间所对应的该表空间所对应的一个或多个数据文件中一个或多个数据文件中。n若表空间只有一个数据文件,则该表空间中所有对象都保存在该若表空间
6、只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。布于不同的数据文件中。Oracle 10g 数据库基础教程2012p数据库、表空间、数据文件、数据库对象之间的数据库、表空间、数据文件、数据库对象之间的关系:关系:Oracle 10g 数据库基础教程2012p通过表空间,可以实现对数据库存储的通过表空间,可以实现对数据库存储的管理管理:n控制整个数据库占用空间的大小;控制整个数据库占用空间的大小;n控制数据库在磁盘上的分配,提高数据库的控制数据库在磁盘上的分配,提
7、高数据库的I/O性能;性能;n控制用户所占用的存储空间的大小。控制用户所占用的存储空间的大小。Oracle 10g 数据库基础教程2012(2)表空间的分类)表空间的分类p系统表空间系统表空间包括包括SYSTEM和和SYSAUX nSYSTEM 表空间,主要存储:表空间,主要存储:p数据库的数据字典;数据库的数据字典;pPL/SQL程序的源代码和解释代码,包括存储过程、程序的源代码和解释代码,包括存储过程、函数、包、触发器等;函数、包、触发器等;p数据库对象的定义,如表、视图、序列、同义词等。数据库对象的定义,如表、视图、序列、同义词等。nSYSAUX表空间表空间 pSYSAUX表空间是表空间
8、是Oracle 10g新增的辅助系统表空新增的辅助系统表空间,主要用于间,主要用于存储数据库组件等信息存储数据库组件等信息,以减小,以减小SYSTEM表空间的负荷。表空间的负荷。p在通常情况下,在通常情况下,不允许不允许删除删除、重命名重命名及及传输传输SYSAUX表空间表空间。Oracle 10g 数据库基础教程2012p非系统表空间非系统表空间 n撤销撤销表空间表空间 p专门进行专门进行回滚信息的自动管理回滚信息的自动管理,由回滚段构成。一个数据,由回滚段构成。一个数据库可以有多个撤销表空间,但库可以有多个撤销表空间,但每个数据库实例每个数据库实例只能只能使用一使用一个个由由UNDO_TA
9、BLESPACE参数设置的撤销表空间。参数设置的撤销表空间。p 初始化参数初始化参数UNDO_MANAGEMENT=AUTO时,系统使用撤时,系统使用撤销表空间自动进行回滚信息管理。销表空间自动进行回滚信息管理。n临时临时表空间表空间p专门进行专门进行临时数据管理临时数据管理的表空间。的表空间。p在数据库实例运行过程中,执行排序等在数据库实例运行过程中,执行排序等SQL语句时会产生语句时会产生大量的临时数据,这些临时数据将保存在数据库临时表空大量的临时数据,这些临时数据将保存在数据库临时表空间中。间中。p建议为数据库单独定义建议为数据库单独定义默认的临时表空间默认的临时表空间。Oracle 1
10、0g 数据库基础教程2012n用户用户表空间表空间 p保存用户数据。保存用户数据。p大文件表空间与小文件表空间大文件表空间与小文件表空间 n所谓所谓大文件表空间大文件表空间(Bigfile Tablespace)是指一个表空是指一个表空间间只包含一个只包含一个大数据文件,该文件的最大尺寸为大数据文件,该文件的最大尺寸为128 TB(数据块大小为数据块大小为32 KB)或只或只32 TB(数据块大小为数据块大小为8 KB)。n与大文件表空间相对应,系统默认创建的表空间称为与大文件表空间相对应,系统默认创建的表空间称为小文件表空间小文件表空间(Smallfile Tablespace),如,如SY
11、STEM表表空间、空间、SYSAUX表空间等。小文件表空间可以包含多表空间等。小文件表空间可以包含多达达1024个数据文件。小文件表空间的总容量与大文件个数据文件。小文件表空间的总容量与大文件表空间的容量基本相似。表空间的容量基本相似。Oracle 10g 数据库基础教程2012(3)表空间的管理方式)表空间的管理方式p字典管理方式字典管理方式n表空间表空间使用数据字典使用数据字典来管理存储空间的分配,当进行来管理存储空间的分配,当进行区的分配与回收时,区的分配与回收时,Oracle将将对数据字典中的相关基础对数据字典中的相关基础表进行更新表进行更新,同时会,同时会产生回滚信息和重做信息产生回
12、滚信息和重做信息。字典。字典管理方式将渐渐被淘汰。管理方式将渐渐被淘汰。p本地管理方式本地管理方式n在在本本地地管管理理方方式式中中,区区的的分分配配和和管管理理信信息息都都存存储储在在表表空空间间的的数数据据文文件件中中,而而与与数数据据字字典典无无关关。表表空空间间在在每每个个数数据据文文件件中中维维护护一一个个“位位图图”结结构构,用用于于记记录录表表空空间间中中所所有有区区的的分分配配情情况况,因因此此区区在在分分配配与与回回收收时时,Oracle将将对对数数据据文文件件中中的的位位图图进进行行更更新新,不不会会产产生生回回滚滚信息或重做信息信息或重做信息。Oracle 10g 数据库
13、基础教程2012p表空间本地管理方式的表空间本地管理方式的优势优势:n由于在区分配与回收过程中不需要对数据字典进行访由于在区分配与回收过程中不需要对数据字典进行访问,问,提高了提高了表空间存储管理操作的表空间存储管理操作的速度速度和和并发性并发性。n能够能够避免避免表空间存储管理操作中的表空间存储管理操作中的递归现象递归现象,提高了提高了存储空间存储空间管理操作性能管理操作性能。n能够在能够在保留可查询性同时保留可查询性同时,将整个数据库,将整个数据库设置为只读设置为只读状态状态。这种数据库可以作为备用数据库使用。这种数据库可以作为备用数据库使用。n简化了简化了表空间的表空间的存储管理存储管理
14、,由,由Oracle自动完成存储管理自动完成存储管理操作。操作。n降低了降低了用户对数据字典的用户对数据字典的依赖性依赖性。n不存在磁盘碎片问题不存在磁盘碎片问题,因为必要的信息都存储在数据,因为必要的信息都存储在数据文件的位图中,而不是保存在数据字典中。文件的位图中,而不是保存在数据字典中。Oracle 10g 数据库基础教程2012(4)表空间管理策略)表空间管理策略p将将数据字典数据字典与与用户数据用户数据分离,避免由于数据字典对象和用户对象分离,避免由于数据字典对象和用户对象保存在一个数据文件中而产生保存在一个数据文件中而产生I/O冲突。冲突。p将将回滚数据回滚数据与与用户数据用户数据
15、分离,避免由于硬盘损坏而导致永久性的分离,避免由于硬盘损坏而导致永久性的数据丢失。数据丢失。p将将表空间的数据文件分散保存表空间的数据文件分散保存到不同的硬盘上,平均分布物理到不同的硬盘上,平均分布物理I/O操作。操作。p为为不同的应用创建独立的表空间不同的应用创建独立的表空间,避免多个应用之间的相互干扰。,避免多个应用之间的相互干扰。p能够将表空间能够将表空间设置为脱机状态设置为脱机状态或或联机状态联机状态,以便对数据库的一部,以便对数据库的一部分进行备份或恢复。分进行备份或恢复。p能够将表空间能够将表空间设置为只读状态设置为只读状态,从而将数据库的一部分设置为只,从而将数据库的一部分设置为
16、只读状态。读状态。p能够能够为某种特殊用途专门设置一个表空间为某种特殊用途专门设置一个表空间,如临时表空间,优化,如临时表空间,优化表空间的使用效率。表空间的使用效率。p能够更加灵活地为用户能够更加灵活地为用户设置表空间配额设置表空间配额。Oracle 10g 数据库基础教程20127.2.2 表空间的管理(本地管理方式)表空间的管理(本地管理方式)p创建表空间创建表空间p修改表空间修改表空间p表空间的备份表空间的备份p删除表空间删除表空间p大文件表空间的管理大文件表空间的管理 p表空间信息查询表空间信息查询p利用利用OEM管理表空间管理表空间 Oracle 10g 数据库基础教程2012(1
17、)创建表空间)创建表空间 p在创建本地管理方式下的表空间时,应该确定表在创建本地管理方式下的表空间时,应该确定表空间的空间的名称名称、类型类型、对应的、对应的数据文件的名称数据文件的名称和和位位置置以及以及区的分配方式区的分配方式、段的管理方式段的管理方式。n表空间名称表空间名称不能超过不能超过30个字符个字符,必须以,必须以字母开头字母开头,可,可以包含以包含字母字母、数字数字以及一些以及一些特殊字符特殊字符(如如#、_、$)等;等;n表空间的表空间的类型类型包括包括普通普通表空间、表空间、临时临时表空间和表空间和撤销撤销表表空间;空间;n表空间中表空间中区的分配方式包括区的分配方式包括两种
18、方式:两种方式:自动自动扩展扩展(AUTOALLOCATE)和和定制定制(UNIFORM);n段的管理包括段的管理包括两种方式:两种方式:自动自动管理管理(AUTO)和和手动手动管理管理(MANUAL)。Oracle 10g 数据库基础教程2012创建永久表空间创建永久表空间 p创建创建永久表空间永久表空间使用使用CREATE TABLESPACE语语句来实现,该语句包含以下几个句来实现,该语句包含以下几个子句子句:nDATAFILE:设定表空间对应的数据文件。:设定表空间对应的数据文件。nEXTENT MANAGEMENT:指定表空间的管理方式,:指定表空间的管理方式,取值为取值为LOCAL
19、(默认默认)或或DICTIONARY。nAUTOALLOCATE(默认默认)或或UNIFORM:设定区的分配:设定区的分配方式。方式。nSEGMENT SPACE MANAGEMENT:设定段的管理:设定段的管理方式,其取值为方式,其取值为MANUAL或或AUTO(默认默认)。Oracle 10g 数据库基础教程2012p例例1:为:为ORCL数据库创建一个数据库创建一个永久性的永久性的表空间表空间ORCLTBS1,区区自动扩展自动扩展,段采用,段采用自动管理自动管理方式。方式。p例例2:为为ORCL数据库创建一个数据库创建一个永久性的永久性的表空间表空间ORCLTBS2,区区定制分配定制分配
20、,段采用,段采用自动管理自动管理方式。方式。SQLCREATETABLESPACEORCLTBS1DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_1.DBFSIZE50M;SQLCREATETABLESPACEORCLTBS2DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS2_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;Oracle 10g 数据库基础教程2012p例例3:为:为ORCL数据库创建一个数据库创建一个永久性的永久性的表空间表空间OR
21、CLTBS3,区区自动扩展自动扩展,段采用,段采用手动管理手动管理方式。方式。p例例4:为:为ORCL数据库创建一个数据库创建一个永久性的永久性的表空间表空间ORCLTBS4,区区定制分配定制分配,段采用,段采用手动管理手动管理方式。方式。SQLCREATETABLESPACEORCLTBS3DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS3_1.DBFSIZE50MSEGMENTSPACEMANAGEMENTMANUAL;SQLCREATETABLESPACEORCLTBS4DATAFILED:ORACLEPRODUCT10.2.0ORADATA
22、ORCLORCLTBS4_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;数据文件的名称分别为数据文件的名称分别为ORCLTBS3_1.DBF和和ORCLTBS4_1.DBFOracle 10g 数据库基础教程2012创建临时表空间创建临时表空间p使用使用CREATE TEMPORARY TABLESPACE 语语句创建临时表空间,用句创建临时表空间,用TEMPFILE子句设置临时子句设置临时数据文件。数据文件。p注意注意:临时表空间中:临时表空间中区的分配区的分配方式方式只能是只能是UN
23、IFORMUNIFORM,而不能是而不能是AUTOALLOCATEAUTOALLOCATE,因为这样才能保证不会在临,因为这样才能保证不会在临时段中产生过多的存储碎片。时段中产生过多的存储碎片。p例例5:为:为ORCL数据库创建一个临时表空间数据库创建一个临时表空间ORCLTEMP1。SQLCREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP1_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;Oracle 10g 数据库基础教程2012
24、p临时表空间组临时表空间组n将一个或多个临时表空间构成一个表空间组。将一个或多个临时表空间构成一个表空间组。n优点优点:p避免由于单个临时表空间的空间不足而导致数据库运行故障。避免由于单个临时表空间的空间不足而导致数据库运行故障。p可以保证在一个简单并行操作中多个并行服务的执行。可以保证在一个简单并行操作中多个并行服务的执行。p临时表空间组不需要显式创建,为临时表空间组临时表空间组不需要显式创建,为临时表空间组指定第一个临时表空间指定第一个临时表空间时隐式创建,当临时表空时隐式创建,当临时表空间组中最后一个临时表空间删除时而隐式地删除。间组中最后一个临时表空间删除时而隐式地删除。p通过在通过在
25、CREATE TEMPORARY TABLSPACE或或ALTER TABLESPACE语句中使用语句中使用TABLESPACE GROUP短语创建临时表空间组。短语创建临时表空间组。Oracle 10g 数据库基础教程2012p例例6:为:为ORCL数据库创建一个临时表空间数据库创建一个临时表空间ORCLTEMP2,并放入临时表空间组,并放入临时表空间组temp_group1。同时,将临时表空。同时,将临时表空间间ORCLTEMP1也放入该也放入该temp_group1中。中。SQLCREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILED:ORACLEPRODU
26、CT10.2.0ORADATAORCLORCLTEMP2_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;SQLALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;Oracle 10g 数据库基础教程2012创建撤销表空间创建撤销表空间p如果数据库中没有创建撤销表空间,那么将使用如果数据库中没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。表空间来管理回滚段。p如果数据库中包含多个撤销表空间,那么一个实例如果数据库中包含多个撤销表空间
27、,那么一个实例只只能使用能使用一个一个处于处于活动状态的活动状态的撤销表空间,可以通过参撤销表空间,可以通过参数数UNDO_TABLESPACE来指定;来指定;p如果数据库中只包含一个撤销表空间,那么数据库实如果数据库中只包含一个撤销表空间,那么数据库实例启动后会自动使用该撤销表空间。例启动后会自动使用该撤销表空间。p如果要使用撤销表空间对数据库回滚信息进行如果要使用撤销表空间对数据库回滚信息进行自动管自动管理理,则必须将初始化参数,则必须将初始化参数UNDO_MANAGEMENT=AUTO。Oracle 10g 数据库基础教程2012p可以使用可以使用CREATE UNDO TABLESPA
28、CE语句创建语句创建撤销表空间,但是在该语句中撤销表空间,但是在该语句中只能只能指定指定DATAFILE和和EXTENT MANAGEMENT LOCAL两个子句,两个子句,而不能指定其他子句。而不能指定其他子句。p例例7:为:为ORCL数据库创建一个撤销表空间。数据库创建一个撤销表空间。注意注意:如果要在数据库使用该撤销表空间,需要设置参数:如果要在数据库使用该撤销表空间,需要设置参数pUNDO_MANAGEMENT=AUTOpUNDO_TABLESPACE=ORCLUNDO1SQLCREATEUNDOTABLESPACEORCLUNDO1DATAFILED:ORACLEORADATAORC
29、LORCLUNDO1_1.DBFSIZE20M;Oracle 10g 数据库基础教程2012(2)修改表空间)修改表空间p可以对表空间进行下列修改操作:可以对表空间进行下列修改操作:n扩展表空间扩展表空间 n修改表空间可用性修改表空间可用性 n修改表空间读修改表空间读/写性写性 n设置默认表空间设置默认表空间 n表空间重命名表空间重命名 p注意注意:不能不能将本地管理的永久性表空间转换为本将本地管理的永久性表空间转换为本地管理的临时表空间,地管理的临时表空间,也不能修改也不能修改本地管理表空本地管理表空间中间中段的管理方式段的管理方式。Oracle 10g 数据库基础教程2012扩展表空间扩展
30、表空间p为表空间为表空间添加数据文件添加数据文件n通过通过ALTER TABLESPACEADD DATAFILE语句为永语句为永久表空间添加数据文件,通过久表空间添加数据文件,通过ALTER TABLESPACE ADD TEMPFILE语句为临时表空间添加临时数据文件。语句为临时表空间添加临时数据文件。n例例8:为:为ORCL数据库的数据库的ORCLTBS1表空间添加一个大小表空间添加一个大小为为10 MB的新数据文件。的新数据文件。n例例9:为:为ORCL数据库的数据库的ORCLTEMP1表空间添加一个大表空间添加一个大小为小为10 MB的临时数据文件。的临时数据文件。SQLALTERT
31、ABLESPACEORCLTBS1ADDDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFSIZE10M;SQLALTERTABLESPACEORCLTEMP1ADDTEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP1_2.DBFSIZE10M;Oracle 10g 数据库基础教程2012p改变改变数据文件的数据文件的大小大小n可以通过改变表空间已有数据文件的大小,达到扩展表可以通过改变表空间已有数据文件的大小,达到扩展表空间的目的。空间的目的。n例例10:将:将ORCL数据库的数据库的OR
32、CLTBS1表空间的数据文件表空间的数据文件ORCLTBS1_2.DBF大小增加到大小增加到20 MB。SQLALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFRESIZE20M;Oracle 10g 数据库基础教程2012p改变改变数据文件的数据文件的扩展方式扩展方式n如果在创建表空间或为表空间增加数据文件时没有指定如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTEND ON选项,则该文件的大小是固定的。选项,则该文件的大小是固定的。如果为数据文件指定了如果为数据文件指定了AUTOEXTEND
33、ON选项,当数选项,当数据文件被填满时,数据文件会自动扩展,即表空间被扩据文件被填满时,数据文件会自动扩展,即表空间被扩展了。展了。n例例11:将:将ORCL数据库的数据库的ORCLTBS1表空间的数据文件表空间的数据文件ORCLTBS1_2.DBF设置为自动扩展,每次扩展设置为自动扩展,每次扩展5 MB空空间,文件最大为间,文件最大为100 MB。SQLALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFAUTOEXTENDONNEXT5MMAXSIZE100M;Oracle 10g 数据库基础教程2012修改
34、表空间可用性修改表空间可用性 p离线状态的表空间是不能进行数据访问的,所对离线状态的表空间是不能进行数据访问的,所对应的所有数据文件也都处于脱机状态。应的所有数据文件也都处于脱机状态。p一些表空间一些表空间必须必须是是在线状态在线状态:nSYSTEM表空间表空间n存放存放在线回退信息的在线回退信息的撤销表空间撤销表空间n临时表空间临时表空间p语法语法ALTER TABLESPACE ONLINE|OFFLINEp例例12、13:SQLALTERTABLESPACEORCLTBS1OFFLINE;SQLALTERTABLESPACEORCLTBS1ONLINE;Oracle 10g 数据库基础教
35、程2012修改表空间读写性修改表空间读写性p语法:语法:ALTER TABLESPACE READ ONLY|READ WRITEp设置设置“只读只读”的的目的目的:n避免对避免对DB中大量静态数据进行备份;中大量静态数据进行备份;n避免用户对历史数据进行修改。避免用户对历史数据进行修改。p表空间只有表空间只有满足下列要求满足下列要求才可以转换为只读状态才可以转换为只读状态:n表空间处于表空间处于联机联机状态;状态;n表空间中表空间中不不能能包含任何活动的包含任何活动的回退段;回退段;n如果表空间如果表空间正在进行联机数据库备份正在进行联机数据库备份,不能不能将它将它设置为只读状态设置为只读状
36、态。因为联机备份结束时,因为联机备份结束时,Oracle更新表空间数据文件的头部信息。更新表空间数据文件的头部信息。p例例14、15:SQLALTERTABLESPACEORCLTBS1READONLY;SQLALTERTABLESPACEORCLTBS1READWRITE;Oracle 10g 数据库基础教程2012设置默认表空间设置默认表空间p在在Oracle10g数据库中,默认表空间为数据库中,默认表空间为USERS表空表空间,默认临时表空间为间,默认临时表空间为TEMP表空间。表空间。p设置数据库的默认表空间设置数据库的默认表空间ALTER DATABASE DEFAULT TABLE
37、SPACE p设置数据库的默认临时表空间设置数据库的默认临时表空间ALTER DATABASE DEFAULT TEMPORARY TABLESPACE p例例16、17、18:SQLALTERDATABASEDEFAULTTABLESPACEORCLTBS1;SQLALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP;SQLALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group1;Oracle 10g 数据库基础教程2012表空间重命名表空间重命名p语句语句ALTER TABLESPACERENAME TOp当重命
38、名一个表空间时:当重命名一个表空间时:n数据库会数据库会自动更新自动更新数据字典数据字典、控制文件控制文件以及以及数据文件数据文件头部头部中对该表空间的引用。中对该表空间的引用。n表空间表空间ID号并没有修改号并没有修改,如果该表空间是数据库默认,如果该表空间是数据库默认表空间,那么重命名后仍然是数据库的默认表空间。表空间,那么重命名后仍然是数据库的默认表空间。p注意注意:n不能不能重命名重命名SYSTEMSYSTEM表空间和表空间和SYSAUXSYSAUX表空间;表空间;n不能不能重命名处于重命名处于脱机状态脱机状态或或部分数据文件处于脱机状部分数据文件处于脱机状态态的表空间。的表空间。Or
39、acle 10g 数据库基础教程2012(3)表空间的备份)表空间的备份p语法语法ALTER TABLESPACE BEGIN|END BACKUPp在数据库进行热备份在数据库进行热备份(联机备份联机备份)时,需要分别对时,需要分别对表空间进行备份。基本表空间进行备份。基本步骤步骤为:为:n使用使用ALTER TABLESPACEBEGIN BACKUP语句将语句将表空间表空间设置为备份模式设置为备份模式。n在操作系统中备份表空间所对应的数据文件。在操作系统中备份表空间所对应的数据文件。n使用使用ALTER TABLESPACEEND BACKUP语句语句结束结束表空间的备份模式表空间的备份模
40、式。Oracle 10g 数据库基础教程2012p例例20:备份:备份ORCL数据库的数据库的ORCLTBS1表空间。表空间。SQLALTERTABLESPACEORCLTBS1BEGINBACKUP;复制复制ORCLTBS1表空间的数据文件表空间的数据文件ORCLTBS1_1.DBF和和ORCLTBS1_2.DBF到到目标位置。目标位置。SQLALTERTABLESPACEORCLTBS1ENDBACKUP;Oracle 10g 数据库基础教程2012(4)删除表空间)删除表空间 p语法语法DROP TABLESPACE tablespace_namen说明:说明:p如果表空间如果表空间非空
41、非空,应带有子句,应带有子句INCLUDING CONTENTSp若要若要删除操作系统下的数据文件删除操作系统下的数据文件,应带有子句,应带有子句AND DATAFILESp删除参照完整性删除参照完整性约束,应带有子句约束,应带有子句CASCADE CONSTRAINTSOracle 10g 数据库基础教程2012p例例21:删除:删除ORCL数据库的数据库的ORCLTBS1表空间及其所有表空间及其所有内内容。容。p例例22:删除:删除ORCL数据库的数据库的ORCLUNDO1表空间及其所有表空间及其所有内容,内容,同时删除其所对应的数据文件同时删除其所对应的数据文件。p例例23:删除:删除O
42、RCL数据库的数据库的ORCLUNDO1表空间及其所有表空间及其所有内容,同时内容,同时删除其所对应的数据文件删除其所对应的数据文件,以及其他表空间中,以及其他表空间中与与ORCLUNDO1表空间相关的表空间相关的参照完整性约束参照完整性约束。SQLDROPTABLESPACEORCLTBS1INCLUDINGCONTENTS;SQLDROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES;SQLDROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;Oracl
43、e 10g 数据库基础教程2012(5)大文件表空间的管理)大文件表空间的管理 p概念概念n大文件表空间大文件表空间只包含一个只包含一个数据文件,可以减少数据库数据文件,可以减少数据库中数据文件的数量,减少中数据文件的数量,减少SGA中用于存放数据文件信中用于存放数据文件信息的内存需求,同时减小控制文件。息的内存需求,同时减小控制文件。n通过对大文件表空间的操作可以实现对数据文件的透通过对大文件表空间的操作可以实现对数据文件的透明操作,简化了对数据文件的管理。明操作,简化了对数据文件的管理。n大文件表空间大文件表空间只能只能采用采用本地管理本地管理方式,其方式,其段段采用采用自动自动管理管理方
44、式。方式。n如果在数据库创建时设置如果在数据库创建时设置系统默认的表空间类型为系统默认的表空间类型为BIGFILE,则使用,则使用CREATE TABLESPACE语句默认语句默认创建的就是大文件表空间。此时要创建传统的小文件创建的就是大文件表空间。此时要创建传统的小文件表空间,则需要使用表空间,则需要使用CREATE SMALLFILE TABLESPACE语句。语句。Oracle 10g 数据库基础教程2012p创建大文件表空间的语句创建大文件表空间的语句CREATE BIGFILE TABLESPACEp例例24:创建一个大文件表空间:创建一个大文件表空间ORCLTBS5。SQLCREA
45、TEBIGFILETABLESPACEORCLTBS5DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS5_1.DBFSIZE20M;Oracle 10g 数据库基础教程2012p大文件表空间的操作大文件表空间的操作n例例25:将大文件表空间:将大文件表空间ORCLTBS5的数据文件的数据文件D:ORACLEPRODUCT10.2.0 ORADATA ORCLORCLTBS5_1.DBF 大小修改为大小修改为30 MB。n例例26:将大文件表空间:将大文件表空间ORCLTBS5的数据文件的数据文件D:ORACLEPRODUCT10.2.0 ORADA
46、TA ORCLORCLTBS5_1.DBF修改为可以自动扩展。修改为可以自动扩展。SQLALTERTABLESPACEORCLTBS5RESIZE30M;SQLALTERTABLESPACEORCLTBS5AUTOEXTENDONNEXT10MMAXSIZEUNLIMITED;Oracle 10g 数据库基础教程2012(6)表空间信息查询)表空间信息查询 pV$TABLESPACE:从控制文件中获取的表空间名称和编号信息。:从控制文件中获取的表空间名称和编号信息。pDBA_TABLESPACES:数据库中所有表空间的信息。:数据库中所有表空间的信息。pDBA_TABLESPACE_GROUP
47、S:表空间组及其包含的表空间信息。:表空间组及其包含的表空间信息。pDBA_SEGMENTS:所有表空间中段的信息。:所有表空间中段的信息。pDBA_EXTENTS:所有表空间中区的信息。:所有表空间中区的信息。pDBA_FREE_SPACE:所有表空间中空闲区的信息。:所有表空间中空闲区的信息。pV$DATAFILE:所有数据文件信息,包括所属表空间的名称和编号。:所有数据文件信息,包括所属表空间的名称和编号。pV$TEMPFILE:所有临时文件信息,包括所属表空间的名称和编号。:所有临时文件信息,包括所属表空间的名称和编号。pDBA_DATA_FILES:数据文件及其所属表空间信息。:数据
48、文件及其所属表空间信息。pDBA_TEMP_FILES:临时文件及其所属表空间信息。:临时文件及其所属表空间信息。pDBA_USERS:所有用户的默认表空间和临时表空间信息。:所有用户的默认表空间和临时表空间信息。pDBA_TS_QUOTAS:所有用户的表空间配额信息。:所有用户的表空间配额信息。pV$SORT_SEGMENT:数据库实例的每个排序段信息。:数据库实例的每个排序段信息。pV$SORT_USER:用户使用临时排序段信息。:用户使用临时排序段信息。Oracle 10g 数据库基础教程2012p查询表空间基本信息查询表空间基本信息 p查询表空间数据文件信息查询表空间数据文件信息 p查
49、询表空间查询表空间空闲空间大小空闲空间大小 SQLSELECTTABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTSFROMDBA_TABLESPACES;SQLSELECTFILE_NAME,BLOCKS,TABLESPACE_NAMEFROMDBA_DATA_FILES;SQLSELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;Oracle 10g 数据库基础教程2012p统计表空间空闲空间信息统计表空间空闲空间信
50、息SQLSELECTTABLESPACE_NAMETABLESPACE,FILE_ID,COUNT(*)PIECES,MAX(blocks)MAXIMUM,MIN(blocks)MINIMUM,AVG(blocks)AVERAGE,SUM(blocks)TOTALFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME,FILE_ID;Oracle 10g 数据库基础教程2012(7)利用)利用OEM管理表空间管理表空间p创建表空间创建表空间p编辑表空间编辑表空间 p查看表空间信息查看表空间信息 p删除表空间删除表空间 p临时表空间组的管理临时表空间组的管理 Oracl