一、达梦数据库表空间介绍
数据库的物理结构:文件系统-数据文件
数据库的逻辑结构:数据库–表空间(一个或多个数据文件)–段–簇–页
注:一个表空间只属于一个数据库,表空间有多个文件,一个表空间有多个段,一个段有多个簇,一个簇有多个连续页
DM中有5个预定义表空间,分别为
SYSTEM 系统表空间,存放数据字典信息
ROLL 回滚表空间,存放的回滚数据,支持MVCC(事务多版本机制)
TEMP 临时表空间,存在临时数据
MAIN main表空间,如果用户创建数据库对象时不指定表空间,则会默认存放在main中
HMAIN Hmain表空间存放的是huge table的信息
二、查询表空间
查询表空间
SQL> select tablespace_name from user_tablespaces;
查询表空间及表空间状态,0代表连机状态,1代表脱机状态
SQL> select tablespace_name,status from user_tablespaces;
查看表空间的数据文件
SQL> select FILE_NAME,STATUS,TABLESPACE_NAME from dba_data_files;
三、表空间的创建与删除
表空间创建
1)仅指定数据文件路劲和初始大小创建,单位为MB
SQL> create tablespace "TBS" datafile '/home/dm7/dmdbms/data/dm7/TBS01.DBF' size 32;
注:
create tablespace “TBS” 创建表空间TBS
datafile ‘/home/dm7/dmdbms/data/dm7/TBS01.DBF’ 指定数据文件路径
size 32 表空间大小为32M
2)创建两个数据文件,并自动扩展
SQL>create tablespace "TEST" datafile '/home/dm7/dmdbms/data/dm7/TEST01.DBF' size 32 autoextend on next 1 maxsize 1024, '/home/dm7/dmdbms/data/dm7/TEST02.DBF' size 32 autoextend on next 1 maxsize 1024 CACHE = NORMAL;
注:
autoextend on next 1 数据文件自动扩展,每次扩展1M
maxsize 1024 表空间最大1024M
CACHE = NORMAL 数据页的缓冲池名称
表空间删除
SQL> drop tablespace TBS
注:表空间有数据不允许删除
四、表空间状态
脱机状态
SQL>alter tablespace TBS offline;
联机状态
SQL> alter tablespace TBS online;
五、维护表空间
增加表空间数据文件
SQL> alter tablespace TBS add datafile '/dm8/data/PROD/TBS03.DBF' size 128;
更换数据文件存储位置
更换数据文件的存储位置要先让表空间属于脱机状态
SQL>alter tablespace TBS offline;
SQL>alter tablespace TBS rename datafile '/dm8/data/PROD/TBS03.DBF' to '/dm8/TBS03.dbf';
SQL> alter tablespace TBS online;
---------------------------------------------------------------------------------------------------------------------------------
关于达梦数据库更多的相关问题请浏览达梦云适配技术社区 达梦云适配技术社区 https://eco.dameng.com/