1、wanghailiang 5 1 第五章管理表空间 数据库存储层次建立表空间改变表空间存储设置改变表空间状态删除表空间改变表空间尺寸移动数据文件搬移表空间显示表空间信息 wanghailiang 5 2 数据库存储层次 wanghailiang 5 3 SYSTEM和非SYSTEM表空间 SYSTEM表空间自动建立存放数据字典包含SYSTEM回滚段非SYSTEM表空间分离回滚段 临时段 数据段和索引段易于备份和恢复分离静态和动态数据易于空间管理 wanghailiang 5 4 建立表空间 应用表空间索引表空间回滚段表空间临时表空间 wanghailiang 5 5 建立应用表空间 CREAT
2、ETABLESPACEusersDATAFILE g test users01 dbf SIZE10MDEFAULTSTORAGE INITIAL10KNEXT10KMINEXTENTS2MAXEXTENTS50PCTINCREASE50 wanghailiang 5 6 建立本地管理表空间 CREATETABLESPACEuser dataDATAFILE g test local dbf SIZE5MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K 降低递归空间管理不需要合并空间碎片 wanghailiang 5 7 建立索引表空间 CREATETABLESPACE
3、indxDATAFILE g test indx dbf SIZE3M wanghailiang 5 8 建立回滚段表空间 CREATETABLESPACErbkDATAFILE g test rbk dbf SIZE10M wanghailiang 5 9 建立临时表空间 CREATETEMPORARYTABLESPACEtempTEMPFILE g test temp dbf SIZE5MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K 用于排序操作不能包含永久对象推荐使用本地管理范围范围尺寸 SORT AREA SIZE n wanghailiang 5 10 改
4、变表空间存储设置 ALTERTABLESPACEusersMINIMUMEXTENT500K ALTERTABLESPACErbkDEFAULTSTORAGE INITIAL10KNEXT10KMINEXTENTS20 wanghailiang 5 11 改变表空间状态 使表空间脱机 ALTERTABLESPACEusersOFFLINE 使表空间联机 ALTERTABLESPACEusersONLINE wanghailiang 5 12 改变表空间读写状态 使表空间只读 ALTERTABLESPACEusersREADONLY 使表空间可读写 ALTERTABLESPACEusersREA
5、DWRITE wanghailiang 5 13 删除表空间 DROPTABLESPACEusersINCLUDINGCONTENTS 从数据字典中删除表空间信息OS文件不会被删除 wanghailiang 5 14 改变表空间尺寸 增加数据文件激活数据文件自动扩展手工改变数据文件尺寸 wanghailiang 5 15 增加数据文件 ALTERTABLESPACEusersADDDATAFILE g test users02 dbf SIZE5M USERS表空间 users dbf1M wanghailiang 5 16 激活数据文件自动扩展 ALTERDATABASEDATAFILE g
6、 test users01 dbf AUTOEXTENDONNEXT10MMAXSIZE200M wanghailiang 5 17 手工改变数据文件尺寸 ALTERDATABASEDATAFILE g test users02 dbf RESIZE10M wanghailiang 5 18 移动数据文件 ALTERTABLESPACE 使表空间脱机ALTERTABLESPACEusersOFFLINE 复制或移动文件 copy执行ALTERTABLESPACE命令ALTERTABLESPACEusersRENAMEDATAFILE g test users01 dbf TO g test u
7、sers03 dbf 使表空间联机ALTERTABLESPACEusersONLINE wanghailiang 5 19 移动数据文件 ALTERDATABASE 关闭数据库 SHUTDOWNIMMEDIATE 复制或移动文件 copy安装数据库 STARTUPMOUNT执行ALTERDATABASE命令ALTERDATABASERENAMEFILE g test sys1test dbf TO g test systest dbf 打开数据库 ALTERDATABASEOPEN wanghailiang 5 20 搬移表空间 wanghailiang 5 21 搬移表空间限制 源数据库和目
8、标数据库必须在相同硬件平台上源数据库和目标数据库必须具有相同的数据块尺寸源数据库和目标数据库必须具有相同的字符集目标数据库中不能存在同名表空间只适用于Oracle8i企业版 wanghailiang 5 22 搬移表空间步骤 挑选自包含表空间集合sqlplussys change on installexecutedbms tts transport set check users TRUE select fromtransport set violations 修改表空间为只读状态ALTERTABLESPACEusersREADONLY 导出表空间元信息EXPsys change on in
9、stallTRANSPORT TABLESPACE yTABLESPACES usersFILE expdat dmp wanghailiang 5 23 搬移表空间步骤 复制数据文件及导出文件到目标数据库 cp或copy导入表空间信息到目标数据库 impsys change on installTRANSPORT TABLESPACE yDATAFILES users dbf TABLESPACES usersFILE expdat dmp修改表空间为读写状态 ALTERTABLESPACEusersREADWRITE wanghailiang 5 24 显示表空间信息 DBA TABLES
10、PACESDBA DATA FILESDBA TEMP FILESV TABLESPACEV DATAFILEV TEMPFILE wanghailiang 5 25 练习五 建立以下表空间 然后显示相应信息 DATA01 2M 缺省存储设置RBK 2M 缺省存储设置INDX01 1M 自动扩展尺寸为500KRONLY 1M 存放只读表TEMP 2M 使用本地管理 临时表空间 为DATA02表空间增加500K空间 并检查结果移动INDX01表空间到磁盘二上 wanghailiang 5 26 练习五 在建表后将RONLY改变为只读 然后试着建立其它表 并删除原来存在的表 删除RONLY表空间以SYSTEM用户建立两个会话会话一 ALTERSESSIONSETSORT AREA SIZE 2048 c labs lab06 1 sql会话二 SELECTtablespace nameFROMv sort segment wanghailiang 5 27 练习五 在会话一和会话二中分别执行以下语句会话一 c labs lab06 2 sqlALTERSESSIONSETSORT AREA SIZE 2048 c labs lab06 1 sql会话二 SELECTtablespace nameFROMv sort segment