首页 > 代码库 > 创建不同类型的表空间

创建不同类型的表空间

一、创建索引表空间:

指令:

create tablespace orcl_index

  datafile ‘D:\app\Administrator\oradata\orclyg\index\orcl_index.dbf‘

  size 50M

  extent management local

  uniform size 1M

设置索引表空间对应的数据文件大小为50M,但是在初始化表空间时表空间大小为1M,随着extent的扩展逐渐增加表空间的大小。

查询表空间信息:

select tablespace_name,block_size,extent_management,segment_space_management from dba_tablespaces;

确定表空间的磁盘管理是基于本地管理的表空间

查看数据文件信息;

select file_id,file_name,tablespace_name from dba_data_files;

二、创建还原表空间:

还原表空间是用来自动管理还原回滚数据的,是用来存储还原段的。在还原表空间中不能包含其他任何对象,还原表空间中的区段是本地管理的,而且在创建还原表空间时

的sql语句中只能使用datafile和extent management子句。

create undo tablespace orcl_undo

  datafile ‘D:\app\Administrator\oradata\orclyg\undo\orcl_undo.dbf‘

  size 20M;

除了制定datafile和size外不能再使用任何子句来设置还原表空间的属性

确认创建的表空间是否是还原表空间通过contents字段来查看

select tablespace_name,extent_management,contents from dba_tablespaces;

三、创建临时表空间:

临时表空间是用作排序操作使用的,如果排序的数据量很大,内存的排序区(在PGA内)就可能装不下,oracle服务器就把中间的排序结果写在磁盘上即临时表空间。使用临时表空间可以改进数据库的效率。

临时表空间可以被多个用户共享但是其中不能包含任何永久性对象。临时表空间中的排序段是在instance启动后当有第一个排序操作时创建的。随后按照需要扩展extent。创建临时表空间时必须使用标准数据块

dba_data_files字典中不包含临时表空间对应的的数据文件,所以为了得到临时表空间的数据文件使用v$tablespace,v$tempfile数据字典查看。

select ts.ts#,ts.name as temp_tablespace_name,tf.file#,tf.name as temp_datafile_name from v$tablespace ts,v$tempfile tf

  where ts.ts#=tf.ts#

显示临时表空间对应的数据文件

创建临时表空间指令:

create temporary tablespace orcl_temp

  tempfile ‘D:\app\Administrator\oradata\orclyg\temp\orcl_temp.dbf‘

  size 10M

  extent management local

  uniform size 2M

临时表空间的文件总是置为nologging状态,不能使用alter database命令创建临时数据文件,介质恢复时是不能恢复临时数据文件的。

另外为了优化临时表空间排序的效率还应将uniform size置为sort_area_size(PGA中排序区的大小)参数的整数倍。