您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle教程10_管理表空间和数据文件
2019/7/311管理表空间和数据文件•李俊逸(SKAYA)•Mobile:13910113943•Mail:lijunyi@hthorizon.com•MSN:ljy_java@hotmail.com•QQ:402599082019/7/312数据存储DatabaseLogicalPhysicalTablespaceDatafileOSblockOracleblockSegmentExtent2019/7/313表空间类型系统表空间数据库创建的时候创建存在数据字典存在系统回滚段非系统表空间分隔不同的段对用户对象限制使用空间2019/7/314Bigfiletalbespaceandsmallfiletalbespace大文件表空间(bigfiletablespaces)OracleDatabase允许你创建大文件表空间,大文件表空间由单个文件组成最大可以包含4G(2^32)个blocks.大文件表空间使得Oracle获得如下收益:显著的增强了Oracle数据库的存储容量检查点的性能提升对于8k的blocks,最大数据文件可以达到32T;对于32K的blocks,最大数据文件可达128T缩减了超大型数据库的数据文件的数量简化了管理2019/7/315Continue…Smallfiletablespace缺省的Oracle采用小文件表空间更改缺省表空间模式SQLSELECTPROPERTY_VALUEFROMDATABASE_PROPERTIES2WHEREPROPERTY_NAME='DEFAULT_TBS_TYPE';PROPERTY_VALUE--------------------------------------------------------------------------------SMALLFILESQLALTERDATABASESETDEFAULTBIGFILETABLESPACE;Databasealtered.2019/7/316Howtocreateit?创建bigfiletablespace缺省LOCAL和ASSM管理对于bigfile普通表空间,只能为LMT+ASSM对于UNDO,TEMP,SYSTEM可以是LMT+MANUALSQLcreatebigfiletablespacebigtbs2datafile'/data1/oradata/systemfile/bigtbs.dbf'size50G;Tablespacecreated.SQLselectTABLESPACE_NAME,EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT2fromdba_tablespaces3wheretablespace_name='BIGTBS';TABLESPACE_NAMEEXTENT_MANSEGMEN----------------------------------------------BIGTBSLOCALAUTO2019/7/317创建表空间CREATETABLESPACE命令CREATETABLESPACEtbsDATAFILE'/u01/oradata/tbs01.dbf'SIZE5M;2019/7/318表空间的空间管理本地管理表空间:在表空间里面管理自由的范围Bitmap用于记录自由的范围每位对应一个block或者一组block位的值表明空闲或者被使用数据字典管理表空间:数据字典管理自由的分区当分区被分配或者释放的时候相应的表空间被更新uet$,fet$2019/7/319本地管理表空间减少在数据字典中的竞争当空间分配或者释放的时候不产生回滚信息不需要表空间空闲空间的合并CREATETABLESPACEtbsDATAFILE'/u01/oradata/tbs01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;2019/7/3110数据字典管理表空间数据字典管理范围在表空间中的每个段都有一个不同的存储子句需要合并连续空闲区DMT技术已经被放弃CREATETABLESPACEtbsDATAFILE'/u01/oradata/tbs01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARYDEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);2019/7/3111移植一个DMT系统表空间移植数据字典管理的系统表空间到本地管理的表空间:DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');2019/7/3112回滚表空间用于存储回滚段不能包含任何其他对象区是本地管理的CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;2019/7/3113临时表空间用于排序操作可以被多个用户共享不能存在任何永久的对象CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;2019/7/3114默认的临时表空间指定一个数据库的默认临时表空间消除使用系统表空间做数据排序能用下列语句创建:CREATEDATABASEALTERDATABASEALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;2019/7/3115创建一个默认的临时表空间在数据库创建后:查询DATABASE_PROPERTIES可以找到默认的临时表空间:ALTERDATABASEDEFAULTTEMPORARYTABLESPACEdefault_temp2;SELECT*FROMDATABASE_PROPERTIES;2019/7/3116默认临时表空间的限制默认的临时表空间不能用于:只能在创建一个新的默认临时表空间后原来的才可以删除不能离线不能修改为一个永久的表空间2019/7/3117几点说明初始创建临时表空间时并不会真正分配空间在随后的使用中开始分配由于空间问题可能会导致潜在故障可以通过reuse方式在创建时初始化2019/7/3118只读表空间使用下列语句把表空间置为只读状态:引起一个检查点数据只能被读取表空间中的对象能被删除ALTERTABLESPACEtbsREADONLY;2019/7/3119使一个表空间离线表空间中的所有数据都不能被访问有些表空间是不能被离线的:系统表空间存在激活的回滚段的表空间默认的临时表空间离线的语句:联机的语句:ALTERTABLESPACEtbsOFFLINE;ALTERTABLESPACEtbsONLINE;2019/7/3120改变一个表空间大小一个表空间可以使用以下方法改变大小:改变数据文件的大小:自动就使用AUTOEXTEND手工使用ALTERDATABASE命令使用ALTERTABLESPACE命令增加一个数据文件2019/7/3121启用数据文件的自动扩展能够自动的扩展:CREATEDATABASECREATETABLESPACEALTERTABLESPACE…ADDDATAFILE例如:查询DBA_DATA_FILES可以查看数据文件的自动扩展启用没有CREATETABLESPACEtbsDATAFILE'/u01/oradata/tbs01.dbf'SIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;2019/7/3122手工改变数据文件的大小手工使用ALTERDATABASE增大或减小一个数据文件的大小增大数据文件的空间不用增加更多的数据文件手工改变数据文件的大小是回收未用的空间例如:ALTERDATABASEDATAFILE'/u03/oradata/tbs02.dbf'RESIZE200M;2019/7/3123增加表空间的数据文件增大表空间大小通过增加数据文件ADDDATAFILE语句用于增加数据文件例如:ALTERTABLESPACEtbsADDDATAFILE'/u01/oradata/tbs03.dbf'SIZE200M;2019/7/3124移动数据文件的方法ALTERTABLESPACE表空间必须离线目标数据文件必须存在ALTERTABLESPACEtbsRENAMEDATAFILE'/u01/oradata/tbs01.dbf'TO'/u02/oradata/tbs01.dbf';2019/7/3125移动数据文件的方法ALTERDATABASE数据库必须(需要)在MOUNT状态目标数据文件必须存在ALTERDATABASERENAMEFILE'/u01/oradata/tbs01.dbf'TO'/u03/oradata/tbs01.dbf';2019/7/3126EasytorenameatablespaceOracle允许使用rename命令直接修改表空间名称SQLaltertablespaceTBSrenametoTBS_NEW;Tablespacealtered.2019/7/3127删除表空间下列情况不能删除表空间:系统表空间有激活段的表空间INCLUDINGCONTENTS将删除段INCLUDINGCONTENTSANDDATAFILES将删除数据文件CASCADECONSTRAINTS将删除所有一致性的限制DROPTABLESPACEtbsINCLUDINGCONTENTSANDDATAFILES;2019/7/3128获取表空间信息获取表空间和数据文件的信息:表空间信息:DBA_TABLESPACESV$TABLESPACE数据文件信息:DBA_DATA_FILESV$DATAFILE临时数据文件信息:DBA_TEMP_FILESV$TEMPFILE
本文标题:oracle教程10_管理表空间和数据文件
链接地址:https://www.777doc.com/doc-12071 .html