首页 > 代码库 > 创建不同类型的表空间
创建不同类型的表空间
一、创建索引表空间:
指令:
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中排序区的大小)参数的整数倍。