表空间是由一个或多个数据文件构成的,表空间是数据库容器,存放数据库中的对象(表,索引等)
一, 默认表空间
System
数据字典和全局的系统数据
Roll
存入了数据运行过程中产生的回滚记录
Temp
临时表空间
Main
存放对象数据的表空间,创建对象的时候,不指定表空间,就是存放在该表空间中
Hmain
huge表空间(列存表)
管理工具的设置
如何查询表空间相关信息
- 查询表空间相关的信息
select * from USER_TABLESPACES;
- 查表空间的具体情况
select file_name,file_id,status,tablespace_name,bytes/1024/1024 from dba_data_files
where tablespace_name='MAIN';
创建表空间
create tablespace "test" datafile '/dm8/data/DAMENG/TEST_01.DBF' size 1024 autoextend on next 1 maxsize 1024,'/dm8/data/DAMENG/TEST_02.DBF' size 1024 autoextend on next maxsize 10240 CACHE=NORMAL;
表空间的状态
- 联机:status=0
- 脱机:status=1,表空间的数据不能被访问
注意:system,roll,temp不能offline;
alter tablespace test01 offline;
维护表空间
- 表空间,空间不足
- 创建大表空间,数据导出,数据导入
- Resize数据文件大小
- 增加数据文件
查看表空间数据文件:
增加数据文件
alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TEST_03.DBF' size 1024 autoextend on next 1 maxsize 10240;
- 更换存储位置
- 表空间offline
alter tablespace test offline
- 修改存储位置
alter tablespace "TEST" rename datafile '/dm8/data/TEST_04.DBF' to '/dm8/data/DAMENG/TEST_04.DBF';
- 表空间
online alter tablespace test ONLINE;
- 修改表空间的缓冲区类型
ALTER TABLESPACE TEST CACHE="KEEP"
二,临时表空间
临时表空间不足的时候
1、修改 TEMP_SIZE 的值
# 调大
sp_set_para_value(2,’TEMP_SIZE’,128);
# 调大
alter tablespace temp resize datafile '/dm8/data/DAMENG/TEMP.DBF' TO 128;
# 调小
sp_set_para_value(2,'TEMP_SIZE',64);
三,Roll表空间
roll 表空间不足
ALTER TABLESPACE ROLL RESIZE DATAFILE '/dm8/data/DAMENG/ROLL.DBF' TO 256;
四,删除表间
删除表空间,不能删除已经使用的表空间,即使是该表空间处于脱机 状态) Drop tablespace test;