DM8数据库表空间管理
1.查看表空间
DM8常用表空间:SYSTEM,ROLL,MAIN,TEMP,HMAIN
SYSTEM:系统表空间,存放数据字典信息
ROLL:回滚表空间,存放回滚记录
TEMP:临时表空间,做排序
MAIN:系统默认表空间,存放用户数据。创建用户时若没有指定表空间,默认就是 main 表空间。
HMAIN:huge 表空间
查看表空间:
SQL>select * from dba_tablespaces;
查询表空间和数据文件:
SQL>select * from DBA_DATA_FILES;
2.创建表空间
例 1:创建一个初始大小为 30m 的表空间。
//错误示范1
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 30m;
//错误示范2
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 30;
//正确示范:
SQL> create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' size 32;
总结:表空间名要大写,表空间大小不能带单位,不能小于32m。(表空间数据文件初始大小:4096*8192=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;
注:用管理工具创建时:要把自动扩展切换到打开模式,默认是不生效的。
3.表空间状态
脱机状态
命令行实现:
SQL>alter tablespace 表空间名 offline;
manager工具实现:
联机状态
命令行实现:
SQL>alter tablespace 表空间名 online;
manager工具实现:
4.表空间状态
表空间名:TEST
数据文件:TEST01.DBF
4.1表空间的空间不足
1.扩展数据文件
SQL>alter tablespace "TEST" resize datafile 'TEST01.DBF' to 200;
2.添加数据文件
SQL>alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TEST02.DBF' size 32 autoextend on;
4.2更换数据文件路径
1.表空间脱机
SQL>alter tablespace TEST offline;
2.更换数据文件路径
SQL>alter tablespace "TEST" rename datafile '/dm8/data/DAMENG/TEST01.DBF' to '/dm8/TEST01.DBF';
3.表空间联机
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 表空间名;