Oracle数据库基础及应用第10章管理表空间和文件.pptx
《Oracle数据库基础及应用第10章管理表空间和文件.pptx》由会员分享,可在线阅读,更多相关《Oracle数据库基础及应用第10章管理表空间和文件.pptx(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、管理表空间和文件管理表空间和文件本章内容本章内容10.1 10.1 表空间概述表空间概述10.2 10.2 管理表空间管理表空间10.3 10.3 管理数据文件管理数据文件10.4 10.4 控制文件的管理控制文件的管理10.5 10.5 日志文件的管理日志文件的管理 10.1 10.1 表空间概述表空间概述表空间是表空间是OracleOracle数据库中最大的逻辑结构。数据库中最大的逻辑结构。OracleOracle数数据库是由一个或多个表空间组成。据库是由一个或多个表空间组成。表空间和数据库物理结构联系密切。它在物理上与表空间和数据库物理结构联系密切。它在物理上与磁盘上的数据文件相对应。数
2、据逻辑上存放在表空磁盘上的数据文件相对应。数据逻辑上存放在表空间中;物理上存放在数据文件中。间中;物理上存放在数据文件中。Oracle数据库的存储结构数据库的存储结构表空间的作用表空间的作用控制数据库所占用的磁盘空间。控制数据库所占用的磁盘空间。控制用户所占用的表空间配额。控制用户所占用的表空间配额。通过表空间管理数据流向,提高通过表空间管理数据流向,提高I/OI/O性能。性能。将表空间设置为只读状态从而保持静态数据。将表空间设置为只读状态从而保持静态数据。表空间提供了一个备份和恢复单位。表空间提供了一个备份和恢复单位。表空间的类型表空间的类型按是否存放的是系统数据分:按是否存放的是系统数据分
3、:按表空间的存放内容分:按表空间的存放内容分:按表空间中文件的大小及最多个数分:按表空间中文件的大小及最多个数分:表空间的类型表空间的类型 I按是否存放的是系统数据分:按是否存放的是系统数据分:系统表空间:系统表空间:SYSTEM:存储存储Oracle的系统数据(如数据字典表)的系统数据(如数据字典表)。创建创建数据库时,数据库时,SYSTEM第一个被创建,具有较高的管理权限,第一个被创建,具有较高的管理权限,不能被脱机。不能被脱机。SYSAUX:是:是Oracle新引入的辅助系统表空间。存放其他可新引入的辅助系统表空间。存放其他可选组件的系统数据。选组件的系统数据。两者都不可以被删除和更改。
4、两者都不可以被删除和更改。非系统表空间:非系统表空间:分离不同类型数据信息,便于管理表空间。分离不同类型数据信息,便于管理表空间。表空间的类型表空间的类型II按表空间内容分:按表空间内容分:永久性表空间、临时表空间、撤销表空间永久性表空间、临时表空间、撤销表空间selecttablespace_name,contentsfromdba_tablespaces;永久性表空间:永久性表空间:存放永久性数据。存放永久性数据。临时表空间:临时表空间:存储的是临时性数据。存储的是临时性数据。(orderby等等SQL语句会产生大量的临时数据。在创建用户时,语句会产生大量的临时数据。在创建用户时,要给其指
5、定一个临时表空间,存放其操作产生的临时数据,如要给其指定一个临时表空间,存放其操作产生的临时数据,如果没有指定,就会增用系统表空间,影响服务器效率。)果没有指定,就会增用系统表空间,影响服务器效率。)撤销表空间:撤销表空间:存放回滚段的数据信息。存放回滚段的数据信息。表空间的类型表空间的类型III大文件表空间、小文件表空间大文件表空间、小文件表空间 select*fromv$tablespace;selecttablespace_name,bigfilefromdba_tablespaces;大文件表空间:大文件表空间:是是OracleOracle引入的表空间,为超大数据引入的表空间,为超大数
6、据库设计的。大文件表空间只能放置一个数据文件,库设计的。大文件表空间只能放置一个数据文件,数据文件可以数据文件可以包括包括4G个数据块。最大可以达到个数据块。最大可以达到32TB。小文件表空间:小文件表空间:可以放置可以放置1022个数据文件。个数据文件。表空间的区、段管理方式表空间的区、段管理方式区(区(ExtentExtent)的管理方式)的管理方式段段 (SegmentSegment)的管理方式)的管理方式表空间的区管理方式表空间的区管理方式 针对区的分配方式的不同,表空间的管理有两针对区的分配方式的不同,表空间的管理有两种管理方式:种管理方式:数据字典管理方式(数据字典管理方式(DMT
7、DMT)传统管理方式。传统管理方式。10g10g已经不再使用该方式。已经不再使用该方式。Oracle通通过过对数据字典中相关的基础表进行更新对数据字典中相关的基础表进行更新来分配新区、来分配新区、回收旧区。回收旧区。本地管理方式(本地管理方式(LMTLMT)11g11g默认的管理方式。表空间中所有数据文件头均有默认的管理方式。表空间中所有数据文件头均有一个位图一个位图(bitmap),用于记录表空间所有区的分,用于记录表空间所有区的分配情况。更新该位图来实现区的分配和回收。不对任配情况。更新该位图来实现区的分配和回收。不对任何表作更新操作。何表作更新操作。在本地管理方式下,可以用关键字来指定在
8、本地管理方式下,可以用关键字来指定表空间区的分配方式表空间区的分配方式:UNIFORM UNIFORM:统一分配,所有区大小都相同。统一分配,所有区大小都相同。AUTOALLOCATEAUTOALLOCATE:自动分配,指定由自动分配,指定由OracleOracle来来自动管理区大小,自动管理区大小,OracleOracle会自动选择合适的会自动选择合适的大小。大小。表空间的段管理方式表空间的段管理方式在本地管理方式中,还可以指定在本地管理方式中,还可以指定段的管理方段的管理方式:段的管理主要是式:段的管理主要是OracleOracle管理段中已用数管理段中已用数据块和空闲数据块的机制。据块和
9、空闲数据块的机制。MANUALMANUAL(手工)(手工):通过空闲列表管理。通过空闲列表管理。AUTOAUTO(自动)(自动):使用位图管理。根据位图使用位图管理。根据位图中取值来判断数据块是否可用。效率高。中取值来判断数据块是否可用。效率高。表空间的状态表空间的状态一、读写(一、读写(readwrite)二、只读(二、只读(Readonly)三、脱机状态(三、脱机状态(Offline)正常正常(Normal):执行检查点,不需要恢复。:执行检查点,不需要恢复。临时(临时(Temporary):执行检查点,但不必保证所):执行检查点,但不必保证所有数据文件都联机可用;如脱机时,有文件不可用,
10、有数据文件都联机可用;如脱机时,有文件不可用,忽略错误。可能需要恢复。忽略错误。可能需要恢复。立即(立即(Immediate):不执行检查点。需要恢复。):不执行检查点。需要恢复。用于恢复(用于恢复(ForRecover):用于恢复的关闭方式。):用于恢复的关闭方式。10.2管理表空间管理表空间10.2.1管理表空间原则管理表空间原则1.使用多重表空间使用多重表空间。将用户数据与数据字典数据分离,并将不同表空间的数据文将用户数据与数据字典数据分离,并将不同表空间的数据文件分别存储在不同磁盘上可以降低件分别存储在不同磁盘上可以降低I/O竞争;竞争;将一个应用的数据与其他应用分离,可以避免表空间脱
11、机时将一个应用的数据与其他应用分离,可以避免表空间脱机时多个应用受到影响;多个应用受到影响;可根据需要将单个表空间脱机,从而获得较好的可用性;可根据需要将单个表空间脱机,从而获得较好的可用性;通过为不同类型的数据库预留表空间,以达到优化表空间的通过为不同类型的数据库预留表空间,以达到优化表空间的目的,如更新较高的或只读、或临时段存储等;目的,如更新较高的或只读、或临时段存储等;备份单个表空间。备份单个表空间。2.为用户指定表空间限额。为用户指定表空间限额。要创建、管理与使用表空间,必须首先以要创建、管理与使用表空间,必须首先以Sys用户并以用户并以assysdba身份登录数据库。身份登录数据库
12、。启动启动SQL*Plus时的帐户和口令不需要加引号。时的帐户和口令不需要加引号。命令格式:命令格式:sqlplussys/assysdba10.2.2 10.2.2 创建表空间创建表空间用户必须拥有用户必须拥有Create tablespaceCreate tablespace权限才能创建表空间。权限才能创建表空间。所有的表空间都应有所有的表空间都应有syssys用户来创建。用户来创建。在表空间的创建中,在表空间的创建中,OracleOracle完成几个工作:完成几个工作:在数据字典、控制文件中记录该表空间。在数据字典、控制文件中记录该表空间。在操作系统中指定相应的物理文件对应数据文件。在操
13、作系统中指定相应的物理文件对应数据文件。在预警文件中记录下创建表空间的信息。在预警文件中记录下创建表空间的信息。1.创建永久性的表空间创建永久性的表空间1.1.要指定表空间名;要指定表空间名;2.2.指定表空间的类型指定表空间的类型;3.3.指定和表空间物理对应的数据文件及属性;指定和表空间物理对应的数据文件及属性;4.4.指定区的管理参数;指定区的管理参数;5.5.指定段的管理参数;指定段的管理参数;6.6.指定其他属性指定其他属性logging/nologging等等命令格式:命令格式:SQLCREATEundoTABLESPACE tablespace_name SQLCREATEund
14、oTABLESPACE tablespace_name datafile filespecautoextend_clause,filespecautoextend_clause datafile filespecautoextend_clause,filespecautoextend_clause minimum extent integerk|m|blocksize integerk|minimum extent integerk|m|blocksize integerk|logging|nologging|default storage_clause|online|offline|logg
15、ing|nologging|default storage_clause|online|offline|permanent|temporary|permanent|temporary|extent_management_clause|extent_management_clause|segment_management_clause;segment_management_clause;Createundotablespace:创建还原表空间,用于存入创建还原表空间,用于存入重做日志文件重做日志文件Createtemporarytablespace:创建临时表空间,用于创建临时表空间,用于临时数
16、据的存放;临时数据的存放;Createtablespace:创建存放用户数据表空间创建存放用户数据表空间Tablespacename:表空间名表空间名datafilefilespec:指定数据文件的具体位置和大小指定数据文件的具体位置和大小如果有多个文件时,用逗号如果有多个文件时,用逗号“,”隔开隔开文件名必须为绝对地址,而不能是相对地址文件名必须为绝对地址,而不能是相对地址Logging|nologging:是否创建重做日志是否创建重做日志Extentmanagementlocal:存储区管理方法存储区管理方法本地管理本地管理(LOCAL):用二进制的方式管理磁盘用二进制的方式管理磁盘,有很
17、高的效率有很高的效率,同进能最大限度的使用磁盘同进能最大限度的使用磁盘.同时能够自动跟踪记录临近空闲同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。空间的情况,避免进行空闲区的合并操作。UNIFORMSEGMENTSPACEMANAGEMENT:指定区大小,指定区大小,也可使用默认值也可使用默认值(1MB)segmentmanagementlocal:磁盘扩展管理方法磁盘扩展管理方法使用该选项时区大小由系统自动确定。使用该选项时区大小由系统自动确定。AUTO:只能使用在本地管理的表空间中只能使用在本地管理的表空间中.使用使用LOCAL管理表管理表空间时空间时,数据块中的空闲空
18、间增加或减少后,其新状态都会在数据块中的空闲空间增加或减少后,其新状态都会在位图中反映出来。位图中反映出来。例:创建一个名为例:创建一个名为tbspacetbspace的表空间:的表空间:SQLCREATE TABLESPACE tbspace nologging datafile SQLCREATE TABLESPACE tbspace nologging datafile D:appAdministratororadatatbspacetbspace01.oraD:appAdministratororadatatbspacetbspace01.ora size 50m blocksize
19、8192 size 50m blocksize 8192 extent management local uniform size 256k extent management local uniform size 256k segment space management auto;segment space management auto;2.使一个表空间脱机使一个表空间脱机命令格式:命令格式:SQLALTER TABLESPACE offline;SQLALTER TABLESPACE offline;例:将表空间例:将表空间tbspacetbspace脱机:脱机:SQLALTER TA
20、BLESPACE tbspace offline;SQLALTER TABLESPACE tbspace offline;注意注意:SYSTEMSYSTEM表空间不能脱机表空间不能脱机3.使一个表空间联机使一个表空间联机命令格式:命令格式:SQLALTER TABLESPACE online;SQLALTER TABLESPACE online;例:将表空间例:将表空间tbspacetbspace联机:联机:SQLALTER TABLESPACE tbspace online;SQLALTER TABLESPACE tbspace online;4.使表空间只读使表空间只读命令格式:命令格式:
21、SQLALTER TABLESPACE read only;SQLALTER TABLESPACE read only;例:将表空间例:将表空间tbspacetbspace只读:只读:SQLALTER TABLESPACE tbspace read only;SQLALTER TABLESPACE tbspace read only;5.使表空间可读可写使表空间可读可写命令格式:命令格式:SQLALTER TABLESPACE read write;SQLALTER TABLESPACE read write;例:将表空间例:将表空间tbspacetbspace脱机:脱机:SQLALTER T
22、ABLESPACE tbspace read write;SQLALTER TABLESPACE tbspace read write;6.创建临时表空间创建临时表空间命令格式:命令格式:SQLCREATE TEMPORARY TABLESPACE SQLCREATE TEMPORARY TABLESPACE temfile temfile size m autoexten size m autoexten extent management local uniform size;extent management local uniform size;例:创建临时表空间例:创建临时表空间te
23、mptempSQLCREATE TEMPORARY TABLESPACE tempSQLCREATE TEMPORARY TABLESPACE temp tempfile D:appAdministratororadatatemptemp01.ora tempfile D:appAdministratororadatatemptemp01.ora size 500m autoextend off size 500m autoextend off extent management local uniform size 512k;extent management local uniform s
24、ize 512k;7.添加临时表空间的数据文件添加临时表空间的数据文件命令格式:命令格式:SQLALTER TABLESPACE add tempfile SQLALTER TABLESPACE add tempfile size m;size m;例:为临时表空间例:为临时表空间temp_rentemp_ren添加数据文件:添加数据文件:SQLALTER TABLESPACE temp_ren add tempfile SQLALTER TABLESPACE temp_ren add tempfile D:appAdministratororadatatemptemp.dbf size 10
25、0m;D:appAdministratororadatatemptemp.dbf size 100m;8.调整临时表空间的数据文件调整临时表空间的数据文件命令格式:命令格式:SQLALTER DATABASE tempfile SQLALTER DATABASE tempfile resize m;resize m;例:调整临时表空间的数据文件大小例:调整临时表空间的数据文件大小SQLALTER DATABASE tempfile SQLALTER DATABASE tempfile D:appAdministratororadatatemptemp.ora resize 20m;D:appA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 基础 应用 10 管理 空间 和文
限制150内