16.2 表空间的管理
表空间的管理无非就是对表空间进行创建、修改、删除等操作,通过本节的学习将学会如何创建表空间、建立大文件表空间、修改表空间的状态以及删除表空间的操作。
16.2.1 创建表空间
创建表空间是每一个使用Oracle 11g数据库的人员经常要做的工作,创建表空间也可以通过企业管理器和SQL*Plus两种方式。
1.使用企业管理器创建表空间
【示例1】在企业管理器中创建表空间
在企业管理器的查看默认表空间的界面(图16.2所示)上,单击【创建】按钮,出现创建表空间的界面,如图16.6所示。
图 16.6 创建表空间
在图16.6所示的界面中,在【名称】文本框中填入表空间的名称EMTEST,选择相应的区管理方式、表空间的类型以及表空间的状态。这里全部使用默认选项,然后单击【添加】按钮为表空间添加数据文件。添加数据文件的界面如图16.7所示。
图 16.7 为EMTEST表空间添加数据文件
在图16.7所示的界面中填入数据文件的名称,并且选中【数据文件满后自动扩展】复选框,【增量】输入128,如图16.8所示。
图 16.8 添加数据文件详细信息
单击【继续】按钮,回到添加表空间的界面即图16.6所示,再单击【确定】按钮即完成了表空间EMTEST的创建。
2.在SQL*Plus中创建表空间
虽然在企业管理器中创建表空间很简单,但是在实际工作中数据库管理员还是使用语句创建表空间的比较普遍。下面就讲解如何在SQL*Plus中使用语句创建表空间。创建表空间的一般语法如下:
CREATE TABLESPACE tablespace_name
DATAFILE filename SIZE size
[AUTOEXTEND[ON/OFF]]NEXT size
[MAXSIZE size]
[PERMANENT|TEMPORARY]
[EXTENT MANAGEMENT
[DICTIONARY|LOCAL
[AUTOALLOCATE|UNIFORM.[SIZE integer[K|M]]]]]
【语法说明】
❑TABLESPACE:指定要创建的表空间的名称。
❑DATAFILE:指定在表空间中存放数据文件的文件名,这里还要指出文件存放的路径。
❑SIZE:指定数据文件的大小。
❑AUTOEXTEND:指定数据文件的扩展方式,ON代表自动扩展,OFF代表非自动扩展。另外,如果要把数据文件指定为自动扩展,应该在NEXT后面指定具体的大小。
❑MAXSIZE:指定数据文件为自动扩展方式时的最大值。
❑PERMANENT|TEMPORARY:指定表空间的类型,PERMANENT是指永久表空间;TEMPORARY是指临时表空间。在创建表空间时默认都是永久表空间。
❑EXTENT MANAGEMENT DICTIONARY|LOCAL:指定表空间的管理方式,DICTIONARY是指字典管理方式;LOCAL是指本地的管理方式。在创建表空间时默认的管理方式是本地的管理方式。
说明 使用本地表空间管理的方式可以减少数据字典表的争用现象,并且也不需要对空间进行回收。因此,Oracle推荐使用本地表空间管理的方式创建表空间。
【示例2】使用语句创建表空间
根据上面给出的创建表空间的语法,首先使用最简单的方式在SQL*Plus中创建一个表空间TESTONE,结果如图16.9所示。TESTONE表空间中的数据文件是TESTONE.DBF,大小是10MB。
图 16.9 创建TESTONE表空间
【示例3】使用语句创建自动扩展表空间
下面再创建一个可以自动扩展的表空间TESTTWO,并且设置扩展的最大值是128KB。创建结果如图16.10所示。
图 16.10 创建TESTTWO表空间