资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2 第4章管理表空间 本章要点 熟练掌握创建表空间的方法 掌握如何设置表空间的状态 了解如何重命名表空间 掌握表空间中数据文件的管理 了解临时表空间 了解大文件表空间 了解非标准数据块表空间 理解撤消表空间的作用 掌握创建与管理撤消表空间的方法 了解与表空间和数据文件相关的数据字典 3 4 1基本表空间 在创建数据库时 Oracle会自动地创建一系列表空间 例如system表空间 用户可以使用这些表空间进行数据操作 但是 在实际应用中 如果所有用户都使用系统自动创建的这几个表空间 将会严重影响I O性能 4 4 1 1创建表空间 创建表空间需要使用CREATETABLESPACE语句 其基本语法如下 CREATE TEMPORARY UNDO TABLESPACEtablespace name DATAFILE TEMPFILE file name SIZEsizeK M REUSE AUTOEXTENDOFF ON NEXTnumberK MMAXSIZEUNLIMITED numberK M MININUMEXTENTnumberK M BLOCKSIZEnumberK ONLINE OFFLINE LOGGING NOLOGGING FORCELOGGING DEFAULTSTORAGEstorage COMPRESS NOCOMPRESS PERMANENT TEMPORARY EXTENTMANAGEMENTDICTIONARY LOCAL AUTOALLOCATE UNIFORMSIZEnumberK M SEGMENTSPACEMANAGEMENTAUTO MANUAL 5 4 1 1创建表空间 语法说明如下 1 TEMPORARY UNDO 2 tablespace name 3 DATAFILE TEMPFILE file name 4 SIZEsize 5 REUSE 6 AUTOEXTENDOFF ON 7 NEXTnumber 8 MAXSIZEUNLIMITED number 9 MININUMEXTENTnumber 10 BLOCKSIZEnumber 11 ONLINE OFFLINE 12 LOGGING NOLOGGING 13 FORCELOGGING 14 DEFAULTSTORAGEstorage 15 COMPRESS NOCOMPRESS 16 PERMANENT TEMPORARY 17 EXTENTMANAGEMENTDICTIONARY LOCAL 18 AUTOALLOCATE UNIFORMSIZEnumber 19 SEGMENTSPACEMANAGEMENTAUTO MANUAL 6 4 1 2表空间状态属性 1 在线 ONLINE 语句形式如下 ALTERTABLESPACEtablespace nameONLINE 2 离线 OFFLINE 语句形式如下 ALTERTABLESPACEtablespace nameOFFLINEparameter 3 只读 READONLY 语句形式如下 ALTERTABLESPACEtablespace nameREADONLY 4 读写 READWRITE 语句形式如下 ALTERTABLESPACEtablespace nameREADWRITE 7 4 1 3重命名表空间 重命名表空间的语法如下 ALTERTABLESPACEtablespace nameRENAMETOnew tablespace name 例4 4 修改myspace表空间的名称为myspace2 语句如下 ALTERTABLESPACEmyspaceRENAMETOmyspace2 8 4 1 4修改表空间中数据文件的大小 例4 5 通过数据字典dba free space查看myspace表空间的空闲空间信息 如下 SQL SELECTtablespace name bytes blocks2FROMdba free space3WHEREtablespace name MYSPACE TABLESPACE NAMEBYTESBLOCKS MYSPACE209059842552其中 bytes字段以字节的形式表示表空间的空闲空间大小 blocks字段则以数据块数目的形式表示表空间空闲空间的大小 9 4 1 4修改表空间中数据文件的大小 例4 6 通过数据字典dba data files查看myspace表空间的数据文件信息 如下 SQL COLUMNfile nameFORMATA35 SQL COLUMNtablespace nameFORMATA15 SQL SELECTtablespace name file name bytes2FROMdba data files3WHEREtablespace name MYSPACE TABLESPACE NAMEFILE NAMEBYTES MYSPACEE APP ADMINISTRATOR ORADATA ORCL 20971520MYSPACE DBF其中 file name字段表示数据文件的名称与路径 bytes字段表示数据文件的大小 10 4 1 4修改表空间中数据文件的大小 例4 7 修改myspace表空间对应的数据文件的大小 如下 SQL ALTERDATABASE2DATAFILE E APP ADMINISTRATOR ORADATA ORCL MYSPACE DBF 3RESIZE40M 数据库已更改 11 4 1 5增加表空间的数据文件 增加新的数据文件需要使用ALTERTABLESPACE语句 其语法如下 ALTERTABLESPACEtablespace nameADDDATAFILEfile nameSIZEnumberK M AUTOEXTENDOFF ON NEXTnumberK MMAXSIZEUNLIMITED numberK M 12 4 1 5增加表空间的数据文件 例4 8 为myspace表空间增加两个新的数据文件 如下 SQL ALTERTABLESPACEmyspace2ADDDATAFILE3 E app Administrator oradata orcl myspace02 dbf 4SIZE10M5AUTOEXTENDONNEXT5MMAXSIZE40M 6 E app Administrator oradata orcl myspace03 dbf 7SIZE10M8AUTOEXTENDONNEXT5MMAXSIZE40M 表空间已更改 上述语句为myspace表空间在E app Administrator oradata orcl 目录下增加了两个数据文件 名称分别为myspace02 dbf和myspace03 dbf 13 4 1 6删除表空间的数据文件 删除表空间的数据文件的语法如下 ALTERTABLESPACEtablespace nameDROPDATAFILEfile name 例4 9 删除myspace表空间数据文件E app Administrator oradata orcl myspace03 dbf 如下 SQL ALTERTABLESPACEmyspace2DROPDATAFILE E app Administrator oradata orcl myspace03 dbf 表空间已更改 14 4 1 7修改表空间中数据文件的自动扩展性 在创建表空间时 可以设置数据文件的自动扩展性 在为表空间增加新的数据文件时 也可以设置新数据文件的自动扩展性 而对于已创建的表空间中的已有数据文件 则可以使用ALTERDATABASE语句修改其自动扩展性 语法如下 ALTERDATABASEDATAFILEfile nameAUTOEXTENDOFF ON NEXTnumberK MMAXSIZEUNLIMITED numberK M 15 4 1 7修改表空间中数据文件的自动扩展性 例4 10 修改myspace表空间中数据文件的自动扩展性 如下 SQL ALTERDATABASE2DATAFILE E app Administrator oradata orcl myspace02 dbf 3AUTOEXTENDOFF 数据库已更改 SQL ALTERDATABASE2DATAFILE E app Administrator oradata orcl myspace02 dbf 3AUTOEXTENDON4NEXT5MMAXSIZE40M 数据库已更改 上述两条SQL语句中 第一条语句用于关闭myspace表空间的myspace02 dbf文件的自动扩展性 第二条语句用于再次为myspace02 dbf文件设置自动扩展性 16 4 1 8修改表空间中数据文件的状态 数据文件的状态主要有3种 ONLINE OFFLINE和OFFLINEDROP 设置数据文件状态的语法如下 ALTERDATABASEDATAFILEfile nameONLINE OFFLINE OFFLINEDROP其中 ONLINE表示数据文件可以使用 OFFLINE表示数据文件不可使用 用于数据库运行在归档模式下的情况 OFFLINEDROP与OFFLINE一样用于设置数据文件不可用 但它用于数据库运行在非归档模式下的情况 17 4 1 9移动表空间中的数据文件 例4 12 移动myspace表空间中数据文件myspace02 dbf的步骤如下 1 修改myspace表空间的状态为OFFLINE 如下 SQL ALTERTABLESPACEmyspaceOFFLINE 表空间已更改 2 将磁盘中的myspace02 dbf文件移动到新的目录中 3 使用ALTERTABLESPACE语句 将myspace表空间中myspace02 dbf文件的原名称和路径修改为新名称和路径 4 修改myspace表空间的状态为ONLINE 如下 SQL ALTERTABLESPACEmyspaceONLINE 表空间已更改 检查文件是否移动成功 也就是检查myspace表空间的数据文件中是否包含了新的数据文件 18 4 1 10删除表空间 删除表空间需要使用DROPTABLESPACE语句 其语法如下 DROPTABLESPACEtablespace name INCLUDINGCONTENTS ANDDATAFILES 语法说明如下 1 INCLUDINGCONTENTS 2 ANDDATAFILES 例4 13 删除表空间myspace 并同时删除该表空间中的所有数据库对象 以及操作系统中与之相对应的数据文件 如下 SQL DROPTABLESPACEmyspace2INCLUDINGCONTENTSANDDATAFILES 表空间已删除 19 4 2临时表空间 临时表空间是一个磁盘空间 主要用于存储用户在执行ORDERBY等语句进行排序或汇总时产生的临时数据 它是所有用户公用的 默认情况下 所有用户都使用temp作为临时表空间 但是也允许使用其他表空间作为临时表空间 这需要在创建用户时进行指定 20 4 2 1创建临时表空间 创建临时表空间时需要使用TEMPORARY关键字 并且与临时表空间对应的是临时文件 由TEMPFILE关键字指定 而数据文件由DATAFILE关键字指定 例4 14 创建一个临时表空间mytemp 如下 SQL CREATETEMPORARYTABLESPACEmytemp2TEMPFILE F oraclefile mytemp dbf 3SIZE10M4AUTOEXTENDONNEXT2MMAXSIZE20M 表空间已创建 21 4 2 1创建临时表空间 例4 15 通过数据字典v tempfile 查看临时表空间mytemp的临时文件信息 如下 SQL COLUMNfile nameFORMATA40 SQL COLUMN
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号