《Oracle数据库基础及应用第10章管理表空间和文件.pptx》由会员分享,可在线阅读,更多相关《Oracle数据库基础及应用第10章管理表空间和文件.pptx(105页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
26、dministratororadatatemptemp.ora resize 20m;9.将表空间的数据文件或临时文件脱机将表空间的数据文件或临时文件脱机命令格式:命令格式:SQLALTER DATABASE datafile offline;SQLALTER DATABASE datafile offline;或或SQLALTER DATABASE tempfile offline;SQLALTER DATABASE tempfile offline;示例:示例:SQLALTER DATABASE datafile SQLALTER DATABASE datafile D:appAdmini
27、stratororadatatemptemp.ora offline;D:appAdministratororadatatemptemp.ora offline;10.将临时表空间联机将临时表空间联机命令格式:命令格式:SQLALTER DATABASE tempfile online;SQLALTER DATABASE tempfile online;例:例:SQLALTER DATABASE tempfile SQLALTER DATABASE tempfile D:appAdministratororadatatemptemp.ora online;D:appAdministratoro
28、radatatemptemp.ora online;11.删除表空间,但不删除其文件删除表空间,但不删除其文件命令格式:命令格式:SQLDROP TABLESPACE;SQLDROP TABLESPACE;例:删除表空间例:删除表空间tbspacetbspace,但不删除其文件,但不删除其文件SQLDROP TABLESPACE tbspace;SQLDROP TABLESPACE tbspace;12.删除包含目录内容的表空间删除包含目录内容的表空间命令格式:命令格式:SQLDROP TABLESPACE including contents;SQLDROP TABLESPACE inclu
29、ding contents;例:删除表空间例:删除表空间tbspacetbspace及其包含的内容:及其包含的内容:SQLDROP TABLESPACE tbspace including contents;SQLDROP TABLESPACE tbspace including contents;13.删除包含目录内容和数据文件在内的表空间删除包含目录内容和数据文件在内的表空间命令格式:命令格式:SQLDROP TABLESPACE including contents SQLDROP TABLESPACE including contents and datafiles;and dataf
30、iles;例:将表空间例:将表空间tbspacetbspace及其包含的内容、数据文件及相及其包含的内容、数据文件及相关约束一同删除:关约束一同删除:SQLDROP TABLESPACE tbspace including contents and datafiles;SQLDROP TABLESPACE tbspace including contents and datafiles;14.当含有参照笥约束时,删除包含目录内容和数据当含有参照笥约束时,删除包含目录内容和数据文件在内的表空间文件在内的表空间命令格式:命令格式:SQLDROP TABLESPACE including SQLDR
31、OP TABLESPACE including contents and datafiles cascade constraints;contents and datafiles cascade constraints;例:将表空间例:将表空间tbspacetbspace及其包含的内容、数据文件及相及其包含的内容、数据文件及相关约束一同删除:关约束一同删除:SQLDROP TABLESPACE tbspace including contents and SQLDROP TABLESPACE tbspace including contents and datafiles cascade co
32、nstraints;datafiles cascade constraints;15.表空间更名表空间更名说明:说明:在在Oracle 11gOracle 11g中可直接更名永久表空间和临时表空间。但是,中可直接更名永久表空间和临时表空间。但是,SYSTMESYSTME和和SYSAUXSYSAUX表空间不能更名。表空间不能更名。命令格式:命令格式:SQLALTER TABLESPACE rename to SQLALTER TABLESPACE rename to;例:将表空间例:将表空间tbspacetbspace更改为更改为newtbspacenewtbspace:SQLALTER TAB
33、LESPACE tbspace rename to newtbspace;SQLALTER TABLESPACE tbspace rename to newtbspace;10.2.3 10.2.3 查询表空间查询表空间V$tablespaceDBA_TablespacesALL_TablespacesUSER_TablespacesDBA_segmentsALL_segmentsUSER_segmentsDBA_extentsALL_extentsUSER_extentsV$datafileV$tempfileDBA_datafilesDBA_tempfilesDBA_ts_quotasDB
34、A_free_spaceUSER_free_space系统数据字典系统数据字典dba_tablespacesdba_tablespaces中记录了关于表空间的信息:中记录了关于表空间的信息:select*from sys.dba_tablespaces;select*from sys.dba_tablespaces;字段字段含义含义字段字段含义含义tablespace_nameTablespace_namemin_extlenminimum extent size for the tablespaceblock_sizetablespace block sizestatusonline,off
35、line readinitial_extentdefault initial extent sizecontentspermanent,temporary,undonext_extentdefault incremental extent sizeloggingdefault logging attributemin_extentsdefault minimum number of extentsforce_loggingtablespace force logging modemax_extentsdefault maximum number of extentsextent_managem
36、entdictionary,localpct_increasedefault percent increase for extent sizeallocation_typetype of extent allocation in effect for this tablespaceplugged_insegment_space_managementauto,manual列出表空间、表空间文件、分配的空间、空闲空间以及下一个空闲分区列出表空间、表空间文件、分配的空间、空闲空间以及下一个空闲分区列出数据文件、表空间名以及大小:列出数据文件、表空间名以及大小:列出表空间、大小、空闲空间以及空闲空间的
37、百分比列出表空间、大小、空闲空间以及空闲空间的百分比计算表空间每个数据文件实际的最小空间以及对应的文件名,其计算表空间每个数据文件实际的最小空间以及对应的文件名,其大小与磁盘操作系统中显示的不同大小与磁盘操作系统中显示的不同10.3 10.3 管理数据文件管理数据文件10.3.110.3.1数据文件数据文件l数据文件是用于存储数据库中数据的操作系统文件。创建数据文件是用于存储数据库中数据的操作系统文件。创建数据库时会创建几个数据库时会创建几个Oracle系统使用的数据文件;系统使用的数据文件;l数据文件与表空间密不可分的,创建表空间同时必须为该数据文件与表空间密不可分的,创建表空间同时必须为该
38、表空间创建对应的数据文件;数据文件依赖于表空间,不表空间创建对应的数据文件;数据文件依赖于表空间,不能独立存在,在创建数据文件时必须指定隶属的表空间。能独立存在,在创建数据文件时必须指定隶属的表空间。否则,不会被存取。否则,不会被存取。lDBA可以单独创建数据文件,并必须指定其隶属的表空可以单独创建数据文件,并必须指定其隶属的表空间,也可以单独对其进行管理。间,也可以单独对其进行管理。10.3.2创建数据文件创建数据文件创建数据文件的过程实质上就是向表空间中添加文件的过程。创建数据文件的过程实质上就是向表空间中添加文件的过程。在创建表空间时,通常会预先估计表空间所需要的存储空间在创建表空间时,
39、通常会预先估计表空间所需要的存储空间大小,然后为它建立若干适当大小的数据文件。如果在使大小,然后为它建立若干适当大小的数据文件。如果在使用过程中发现表空间存储空间不足,可以再为它添加新的用过程中发现表空间存储空间不足,可以再为它添加新的数据文件。数据文件。10.3.2创建数据文件创建数据文件可以在创建表空间、修改表空间、创建数据库时创建数据文可以在创建表空间、修改表空间、创建数据库时创建数据文件。件。Createtablespace.datafile语句语句Altertablespace.Adddatafile语句语句Createtemporarytablespace.tempfile语句语句
40、Altertablespaceaddtempfile语句语句Createdatabase语句语句例:下面的语句为表空间例:下面的语句为表空间tbspace添加一个大小为添加一个大小为20MB的的数据文件数据文件SQLALTERTABLESPACEUSER012adddatafileD:ORADATATESTtbspace01.dbfsize20m;10.3.3修改数据文件大小修改数据文件大小除了创建新的数据文件外,另一种增加表空间的存储除了创建新的数据文件外,另一种增加表空间的存储空间的方法是改变已经存在的数据文件的大小。空间的方法是改变已经存在的数据文件的大小。改变数据文件大小的方式有两种:
41、改变数据文件大小的方式有两种:设置数据文件为自动增长设置数据文件为自动增长手动改变数据文件的大小手动改变数据文件的大小1.设定数据文件自动增长方式设定数据文件自动增长方式1)创建表空间时设定)创建表空间时设定CreatetablespaceDatafile|tempfilesize.Autoextendonnext.Maxsize.2)表空间中增加一个新的自增文件)表空间中增加一个新的自增文件AlterdatabaseadddatafilesizeAutoextendonnextmaxsize3)取消已有数据文件的自增方式)取消已有数据文件的自增方式AlterdatabaseDatafileA
42、utoextendoff;4)如果数据文件已创建,现要修改为自增)如果数据文件已创建,现要修改为自增AlterdatabasedatafileAutoextendonnextmaxsize;2.手动改变数据文件大小手动改变数据文件大小手动方式改变数据文件大小时,需要使用手动方式改变数据文件大小时,需要使用resize语句。语句。例如,下面的语句将数据文件的大小增长为例如,下面的语句将数据文件的大小增长为100MB。SQLALTERDATABASE2datafileD:appAdministratorORADATATESTmy02_1.dbf3resize100m;10.3.4移动数据文件移动数
43、据文件因不同原因,在创建数据文件后,需要考虑移动数据文件到因不同原因,在创建数据文件后,需要考虑移动数据文件到新的位置。例如:将一个迅速增长的文件移至磁盘空间较大新的位置。例如:将一个迅速增长的文件移至磁盘空间较大的盘区;调整的盘区;调整I/O性能;当某个磁盘损毁时,为了使数据库性能;当某个磁盘损毁时,为了使数据库系统继续运行,也可能要将一个或几个数据文件移动到其他系统继续运行,也可能要将一个或几个数据文件移动到其他磁盘上。磁盘上。移动分为两种情况:同一表空间下的数据文件移动、多个表移动分为两种情况:同一表空间下的数据文件移动、多个表空间下的数据文件移动。空间下的数据文件移动。注意:移动数据文
44、件改变数据库物理结构,在操作之前要对注意:移动数据文件改变数据库物理结构,在操作之前要对数据库进行备份。以便操作失败恢复。在完成后要及时备份数据库进行备份。以便操作失败恢复。在完成后要及时备份控制文件,记录下修改后的数据库物理结构。控制文件,记录下修改后的数据库物理结构。1.同一表空间的数据文件移动同一表空间的数据文件移动如:将如:将demo表空间下的数据文件由默认位置移至表空间下的数据文件由默认位置移至D:下。下。步骤步骤:(在(在open状态下操作状态下操作)1.使表空间脱机;使表空间脱机;2.移动数据文件;移动数据文件;3.执行执行altertablespace表空间名表空间名renam
45、edatafile文件名文件名,文件名文件名to文件名文件名,文件名文件名;4.使表空间连机;使表空间连机;5.备份控制文件备份控制文件2.多个表空间的数据文件移动多个表空间的数据文件移动如如:将将teachertbs表空间的表空间的teachertbs02.dbf、studenttbs表空间的表空间的studenttbs02.dbf由默认位置移至由默认位置移至D:下。下。步骤步骤:1.使表空间脱机;使表空间脱机;2.移动数据文件;移动数据文件;3.使用使用alterdatabase数据库名数据库名renamedatafile文件名文件名,文件名文件名to文件名文件名,文件名文件名;4.使表空
46、间联机;使表空间联机;5.备份控制文件。备份控制文件。删除数据文件删除数据文件当表空间的内容不在需要时,就可以将其删除。除系统表空间及当表空间的内容不在需要时,就可以将其删除。除系统表空间及temp、undotbs外。外。删除表空间的内容及数据文件。删除表空间的内容及数据文件。SQLaltertablespacesecondoffline;SQLdroptablespacesecondincludingcontentsanddatafiles;SQLaltertablespacetmptempfileoffline;SQLdroptablespacetmpincludingcontentsan
47、ddatafiles;查询数据文件查询数据文件Dba_tablespacesDba_data_filesDba_temp_filesV$datafileV$tempfile10.4控制文件的管理控制文件的管理10.4.1控制文件概述控制文件概述每个每个Oracle数据库都必须具有至少一个控制文件。控制文件时一数据库都必须具有至少一个控制文件。控制文件时一个二进制格式的操作系统文件,其中记录了关于数据库物理结构个二进制格式的操作系统文件,其中记录了关于数据库物理结构的基本信息,包括数据库的名称、相关数据文件的名称和位置、的基本信息,包括数据库的名称、相关数据文件的名称和位置、当前的日志序列号等内
48、容用于描述和维护数据库的物理结构。当前的日志序列号等内容用于描述和维护数据库的物理结构。数据库的启动和正常运行都离不开控制文件。数据库的启动和正常运行都离不开控制文件。启动数据库时,启动数据库时,Oracle从初始化参数文件中获得控制文件的名字及位置,打开控从初始化参数文件中获得控制文件的名字及位置,打开控制文件,然后从控制文件中读取数据文件和联机日志文件的信息,制文件,然后从控制文件中读取数据文件和联机日志文件的信息,最后打开数据库。数据库运行时,最后打开数据库。数据库运行时,Oracle会修改控制文件,所以,会修改控制文件,所以,一旦控制文件损坏,数据库将不能正常运行。一旦控制文件损坏,数
49、据库将不能正常运行。10.4.2 10.4.2 创建控制文件创建控制文件通常创建控制文件的时候有两种:通常创建控制文件的时候有两种:创建数据库时创建初始控制文件。创建数据库时创建初始控制文件。在创建数据库之后再创建控制文件。在创建数据库之后再创建控制文件。所有数据库控制文件遭到永久破坏,没有任何备份。所有数据库控制文件遭到永久破坏,没有任何备份。希望改变数据库名称或其他一些数据库参数的永久性设置。希望改变数据库名称或其他一些数据库参数的永久性设置。创建控制文件使用建控制文件使用createcontrolfile语句:句:createcontrolfilereusedatabase“test”l
50、ogfilegroup1c:oradatatestredo01.logsize50M,group2c:oradatatestredo02.logsize50M,group3c:oradatatestredo03.logsize50Mnoresetlogsnoarchivelogdatafilec:oradatatestsystem01.dbf,c:oradatatestsysaux01.dbf,c:oradatatestundotbs01.dbf,c:oradatatestusers01.dbfmaxlogfiles16maxlogmembers3maxloghistory292maxdata