03管理表空间和数据文件.pptx
- 文档编号:15802601
- 上传时间:2023-07-08
- 格式:PPTX
- 页数:32
- 大小:155.68KB
03管理表空间和数据文件.pptx
《03管理表空间和数据文件.pptx》由会员分享,可在线阅读,更多相关《03管理表空间和数据文件.pptx(32页珍藏版)》请在冰点文库上搜索。
管理表空间和数据文件,2023/7/8,1,数据存储,2023/7/8,2,表空间和数据文件,Oracle存储数据逻辑上在表空间,物理上存储在数据文件中.表空间:
只能属于一个数据库能存在一个或多个数据文件被分成逻辑的单元数据文件:
只能属于一个表空间和一个数据库,Database,Tablespace,Datafiles,2023/7/8,3,表空间类型,系统表空间数据库创建的时候创建存在数据字典存在系统回滚段非系统表空间分隔不同的段对用户对象限制使用空间,2023/7/8,4,Bigfiletalbespaceandsmallfiletalbespace,大文件表空间(bigfiletablespaces)OracleDatabase允许你创建大文件表空间,大文件表空间由单个文件组成最大可以包含4G(232)个blocks.通常的多文件表空间,数据文件不能如此之大.大文件表空间使得Oracle获得如下收益:
显著的增强了Oracle数据库的存储容量检查点的性能提升对于8k的blocks,最大数据文件可以达到32T;对于32K的blocks,最大数据文件可达128T缩减了超大型数据库的数据文件的数量简化了管理,2023/7/8,5,Continue,Smallfiletablespace缺省的Oracle采用小文件表空间更改缺省表空间模式,SQLSELECTPROPERTY_VALUEFROMDATABASE_PROPERTIES2WHEREPROPERTY_NAME=DEFAULT_TBS_TYPE;PROPERTY_VALUE-SMALLFILE,SQLALTERDATABASESETDEFAULTBIGFILETABLESPACE;Databasealtered.,2023/7/8,6,Howtocreateit?
创建bigfiletablespace缺省LOCAL和ASSM管理对于bigfile普通表空间,只能为LMT+ASSM对于UNDO,TEMP,SYSTEM可以是LMT+MANUAL,SQLcreatebigfiletablespacebigtbs2datafile/data1/oradata/systemfile/bigtbs.dbfsize50G;Tablespacecreated.,SQLselectTABLESPACE_NAME,EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT2fromdba_tablespaces3wheretablespace_name=BIGTBS;TABLESPACE_NAMEEXTENT_MANSEGMEN-BIGTBSLOCALAUTO,2023/7/8,7,创建表空间,CREATETABLESPACEuserdataDATAFILE/u01/oradata/userdata01.dbfSIZE5M;,CREATETABLESPACE命令,2023/7/8,8,表空间的空间管理(区管理),本地管理表空间:
在表空间里面管理自由的范围.Bitmap用于记录自由的范围.每位对应一个block或者一组block.位的值表明空闲或者被使用.统一区大小(可考虑大,小表不同表空间,区大小不同)数据字典管理表空间:
数据字典管理自由的分区.当分区被分配或者释放的时候相应的表空间被更新.Uet$(使用区),Fet$(空闲区),2023/7/8,9,本地管理表空间,减少在数据字典中的竞争当空间分配或者释放的时候不产生回滚信息不需要表空间空闲空间的合并,CREATETABLESPACEuserdataDATAFILE/u01/oradata/userdata01.dbfSIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;,2023/7/8,10,数据字典管理表空间,数据字典管理范围.在表空间中的每个段都有一个不同的存储子句.需要合并连续空闲区.DMT技术已经被放弃,CREATETABLESPACEuserdataDATAFILE/u01/oradata/userdata01.dbfSIZE500MEXTENTMANAGEMENTDICTIONARYDEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);,2023/7/8,11,回滚表空间,用于存储回滚段不能包含任何其他对象区是本地管理的,CREATEUNDOTABLESPACEundo1DATAFILE/u01/oradata/undo01.dbfSIZE40M;,2023/7/8,12,临时表空间,用于排序操作可以被多个用户共享不能存在任何永久的对象,CREATETEMPORARYTABLESPACEtempTEMPFILE/u01/oradata/temp01.dbfSIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;,2023/7/8,13,默认的临时表空间,指定一个数据库的默认临时表空间消除使用系统表空间做数据排序能用下列语句创建:
CREATEDATABASEALTERDATABASEALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;,2023/7/8,14,创建一个默认的临时表空间,CREATEDATABASEDBA01LOGFILEGROUP1(/$HOME/ORADATA/u01/redo01.log)SIZE100M,GROUP2(/$HOME/ORADATA/u02/redo02.log)SIZE100M,MAXLOGFILES5MAXLOGMEMBERS5MAXLOGHISTORY1MAXDATAFILES100MAXINSTANCES1DATAFILE/$HOME/ORADATA/u01/system01.dbfSIZE325MUNDOTABLESPACEundotbsDATAFILE/$HOME/ORADATA/u02/undotbs01.dbfSIZE200DEFAULTTEMPORARYTABLESPACEtempTEMPFILE/$HOME/ORADATA/u03/temp01.dbfSIZE4MCHARACTERSETUS7ASCII,2023/7/8,15,创建一个默认的临时表空间,在数据库创建后:
查询DATABASE_PROPERTIES可以找到默认的临时表空间:
ALTERDATABASEDEFAULTTEMPORARYTABLESPACEdefault_temp2;,SELECT*FROMDATABASE_PROPERTIES;,2023/7/8,16,默认临时表空间的限制,默认的临时表空间不能用于:
只能在创建一个新的默认临时表空间后原来的才可以删除不能离线修改为一个永久的表空间,2023/7/8,17,几点说明(UNIX下),初始创建临时表空间时并不会真正分配空间在随后的使用中开始分配由于空间问题可能会导致潜在故障,2023/7/8,18,Oracle10g-Thedefaulttablespace,缺省固定及临时表空间Oracle提供用户配置的缺省表空间,一旦你设置了一个用户缺省表空间,那么所有的新用户如果不指定,其缺省表空间都会分配在这个表空间中,而不是system表空间,selectproperty_name,property_valuefromdatabase_propertieswhereproperty_namelikeDEFAULT%;DEFAULT_TEMP_TABLESPACETEMPDEFAULT_PERMANENT_TABLESPACEUSERSDEFAULT_TBS_TYPESMALLFILE,2023/7/8,19,只读表空间,使用下列语句把表空间置为只读状态:
引起一个检查点(部分检查点)数据只能被读取表空间中的对象能被删除,ALTERTABLESPACEuserdataREADONLY;,2023/7/8,20,使一个表空间离线,表空间中的所有数据都不能被访问有些表空间是不能被离线的:
系统表空间存在激活的回滚段的表空间默认的临时表空间离线的语句:
联机的语句:
ALTERTABLESPACEuserdataOFFLINE;,ALTERTABLESPACEuserdataONLINE;,2023/7/8,21,Oracle10g-Easytorenameatablespace,Oracle允许使用rename命令直接修改表空间名称,SQLaltertablespacetestrenametoitpub;Tablespacealtered.,2023/7/8,22,改变一个表空间大小,一个表空间可以使用以下方法改变大小:
改变数据文件的大小:
自动就使用AUTOEXTEND手工使用ALTERDATABASE命令使用ALTERTABLESPACE命令增加一个数据文件,2023/7/8,23,启用数据文件的自动扩展,能够自动的扩展:
CREATEDATABASECREATETABLESPACEALTERTABLESPACEADDDATAFILE例如:
查询DBA_DATA_FILES可以查看数据文件的自动扩展启用没有.,CREATETABLESPACEuser_dataDATAFILE/u01/oradata/userdata01.dbfSIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;,2023/7/8,24,手工改变数据文件的大小,手工使用ALTERDATABASE增大或减小一个数据文件的大小.增大数据文件的空间不用增加更多的数据文件.手工改变数据文件的大小是回收没用的空间.例如:
ALTERDATABASEDATAFILE/u03/oradata/userdata02.dbfRESIZE200M;,2023/7/8,25,增加表空间的数据文件,增大表空间大小通过增加数据文件ADDDATAFILE语句用于增加数据文件例如:
ALTERTABLESPACEuser_dataADDDATAFILE/u01/oradata/userdata03.dbfSIZE200M;,2023/7/8,26,移动数据文件的方法,ALTERTABLESPACE表空间必须离线.OSCOPYREMANEONLINE目标数据文件必须存在.,ALTERTABLESPACEuserdataRENAMEDATAFILE/u01/oradata/userdata01.dbfTO/u02/oradata/userdata01.dbf;,2023/7/8,27,移动数据文件的方法,ALTERDATABASE数据库必须(需要)在MOUNT状态.目标数据文件必须存在.,ALTERDATABASERENAMEFILE/u01/oradata/system01.dbfTO/u03/oradata/system01.dbf;,2023/7/8,28,SQLselecttablespace_name,file_namefromdba_data_files;TABLESPACE_NAMEFILE_NAME-SYSTEME:
ORACLEORADATAVILENSYSTEM01.DBFUNDOTBS1E:
ORACLEORADATAVILENUNDOTBS01.DBFOEM_REPOSITORYE:
ORACLEORADATAVILENOEM_REPOSITORY.DBFTRAINE:
ORACLEORADATAVILENTEST01.DBFSQLaltertablespacetrainoffline;表空间已更改。
SQLhostcpE:
ORACLEORADATAVILENTEST01.DBFE:
ORACLEORADATAVILENsecondTEST01.DBFSQLalterdatabaserenamefileE:
ORACLEORADATAVILENTEST01.DBFtoE:
ORACLEORADATAVILENsecondTEST01.DBF;数据库已更改。
SQLaltertablespacetrainonline;表空间已更改。
移动数据文件的方法,2023/7/8,29,删除表空间,下列情况不能删除表空间:
系统表空间有激活段的表空间INCLUDINGCONTENTS将删除段.INCLUDINGCONTENTSANDDATAFILES将删除数据文件.CASCADECONSTRAINTS将删除所有一致性的限制.,DROPTABLESPACEuserdataINCLUDINGCONTENTSANDDATAFILES;,2023/7/8,30,获取表空间信息,获取表空间和数据文件的信息:
表空间信息:
DBA_TABLESPACESV$TABLESPACE数据文件信息:
DBA_DATA_FILESV$DATAFILE临时数据文件信息:
DBA_TEMP_FILESV$TEMPFILE,2023/7/8,31,小结,在这课中,我们应该学会:
使用表空间去分离数据创建各种不同类型的表空间管理表空间获取表空间信息,2023/7/8,32,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 管理 空间 数据文件