表空间
1.查看表空间
DM8常用表空间:SYSTEM,ROLL,MAIN,TEMP,HMAIN
查看表空间:
SQL>select * from dba_tablespaces;
SYSTEM:系统表空间,存放数据字典信息
ROLL:回滚表空间,存放回滚记录
TEMP:临时表空间,做排序
MAIN:系统默认表空间,存放用户数据。创建用户时若没有指定表空间,默认就是 main 表空间。
HMAIN:huge 表空间
查询表空间和数据文件:
SQL>select * from DBA_DATA_FILE
2 创建表空间
例 1:创建一个初始大小为 30m 的表空间。
//错误示范:
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 30m;
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 30;
**********************************************************************
//正确示范:
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 32;
表空间数据文件初始大小:4096*8192=32m
注:表空间名要大写,表空间大小不能带单位,不能小于32M
案例 2:创建表空间 TEST2,数据文件初始大小为 50M,每次自动扩展 2M,最大可扩展 1G;
SQL>create tablespace "TEST2" datafile '/dm18/data/DAMENG/TEST2.DBF' size 50 autoextend on next 2 maxsize 1024 CACHE = NORMAL;
注:用管理工具创建时:要把自动扩展切换到打开模式,默认是不生效的。
作业:
创建表空间 TEST3,包含两个数据文件,初始大小为 40M,每次自动扩展 1M,最大可扩展 10G。
3 表空间状态
脱机状态
SQL>alter tablespace 表空间名 offline;
联机状态
SQL>alter tablespace 表空间名 online;
4 维护表空间
表空间名:TEST
数据文件:TEST01.DBF
4.1 表空间的空间不足
扩展数据文件
SQL>alter tablespace "TEST" resize datafile 'TEST01.DBF' to 200;
添加数据文件
SQL>alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TEST02.DBF' size 32 autoextend on;
4.2 更换数据文件路径
表空间脱机
SQL>alter tablespace TEST offline;
更换数据文件路径
SQL>alter tablespace "TEST" rename datafile '/dm8/data/DAMENG/TEST01.DBF' to '/dm8/TEST01.DBF';
表空间联机
SQL>alter tablespace TEST online;
5 维护回滚表空间
SQL>alter tablespace "ROLL" add datafile '/dm8/data/DAMENG/ROLL02.DBF' size 128;
6 临时表空间
SQL> select para_name,para_value from v$dm_ini where para_name like '%TEMP%';
注意:system、roll、temp 表空间不能脱机,temp 表空间不能被删除。
7 表空间删除
SQL> drop tablespace 表空间名;