SQL> create tablespace tbs datafile '/home/dmdba/dmdbms/data/DAMENG/tbs.dbf' size 10 autoextend on maxsize 100;
create tablespace tbs datafile '/home/dmdba/dmdbms/data/DAMENG/tbs.dbf' size 10 autoextend on maxsize 100;
第1 行附近出现错误[-2410]:数据文件[/home/dmdba/dmdbms/data/DAMENG/tbs.dbf]大小无效.
已用时间: 0.325(毫秒). 执行号:0.
SQL> create tablespace tbs datafile '/home/dmdba/dmdbms/data/DAMENG/tbs.dbf' size 50 autoextend on maxsize 100;
操作已执行
已用时间: 87.766(毫秒). 执行号:2174.
最小32M。
表空间:
物理结构:数据文件—os文件系统类型
逻辑结构:数据库---表空间----段-----簇----页
一个数据文件只能隶属于一个表空间
达梦数据库的表空间有那些:
select tablespace_name from dba_tablespace;
system表空间: 系统表空间 数据字典
ROLL 表空间 : 回滚表空间 MVCC(事务多版本机制), 消除行锁,回滚段,保留时常(undo_retention 支持毫秒)
TEMP 临时表空间: 临时段,创建的临时表
MAIN 表空间:这是数据库默认的表空间,在创建表和数据对象的时候,不指存储位置,默认存放在该表空间。
HMAIN 存放huge 表的表空间。
查询表空间的系统表:
dba_data_files
v$tablespace
v$huge_tablespace
dba_tablesapces;
select name from v$tablespace;
select name from v$tablesapce union select name from v$huge_tablespace;
如何规划表空间:
案例1 注意初始值 表空间初始文件大小是:页大小的4096倍。
Create tablespace tbs1 datafile '/dm7/data/DAMENG/tbs01.dbf' size 31;
格式:
create tablespace 表空间名 datafile 数据文件路径 size 数据文件初始大小 autoextend on maxsize 最大值
案例2:创建一个表空间,初始大小50M, 最大100M
create tablespace tbs3 datafile '/dm7/data/DAMENG/tbs3_01.dbf' size 50 autoextend on maxsize 100;
案例3:创建一个表空间,初始大小50M, 表空间由2个数据文件组成,分别存储在不同的磁盘上,每次扩展1M, 每个数据文件最大100M
create tablespace tb4 datafile '/dm7/disk1/tbs4_01.dbf' size 50 autoextend on next 1 maxsize 100,'/dm7/disk2/tbs4_02.dbf' size 50 autoextend on next 1 maxsize 100;
查看表空间剩余空间:dba_free_space
如何维护表空间?
空间不足
1、创建大表空间,数据导入导出。
2、resize 表空间数据文件的大小
3、增加数据文件
alter tablespace tb4 add datafile '/dm7/disk1/tb403.dbf' size 50 autoextend on next 1 maxsize 100;
更换表空间的存储位置
表空间的状态
0---Online 1---offline
Select tablespace_name,status from dba_tablespaces;
表空间offline
alter tablespace tbs1 offline;
更改位置
SQL> select file_name,tablespace_name from dba_data_files;
SQL> alter tablespace tbs1 rename datafile '/dm7/data/DAMENG/tbs01.dbf' to '/dm7/disk1/tbs01.dbf';
表空间online
alter tablespace tbs1 online;
SQL> select tablespace_name,status from dba_tablespaces;
删除表空间
SQL> select tablespace_name,status from dba_tablespaces;
注意:
表空间存在数据,不允许直接删除。
了解:
SQL> create huge tablesapce H1 path '/dm7/data/DAMENG/H1';