达梦数据库表空间创建和管理

概述

本文将介绍在达梦数据库如何创建和管理表空间。

1.创建表空间

1.1表空间个数限制

理论上最多允许有65535个表空间,但用户允许创建的表空间 ID 取值范围为0~32767,

超过 32767 的只允许系统使用,ID 由系统自动分配,ID不能重复使用,即使删除掉已有表空间,也无法重复使用已用ID号,也就是说只要创建32768次表空间后,用户将无法再创建表空间。

1.2 命令行方式创建表空间

用SYSDBA用户登录数据库,创建表空间【LCPTTBS】,具体命令如下:

bash 复制代码
[dmdba@owumvyu4iuuzaxxp-0004 ~]$ disql SYSDBA/SYSDBA@127.0.0.1:5236
服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间 : 1.871(ms)
disql V8
SQL> create tablespace "LCPTTBS" datafile '/dm8/data/LCPTTBS01.DBF' size 64 autoextend on next 1 maxsize 1024, '/dm8/data/LCPTTBS02.DBF' size 64 autoextend on next 1 maxsize 1024 CACHE = NORMAL;
操作已执行
已用时间: 198.361(毫秒). 执行号:35084800.
SQL>

通过sql命令查看是否成功创建了表空间【LCPTTBS】:

bash 复制代码
SQL> select a.name,b.id,b.path from v$tablespace a, v$datafile b where a.id=b.group_id;

行号     NAME     ID          PATH
---------- -------- ----------- -----------------------------
1          LCPTTBS  1           /dm8/data/LCPTTBS02.DBF
2          TEST     0           /dm8/data/TEST01.DBF
3          TEST     1           /dm8/data/TEST02.DBF
4          BOOKSHOP 0           /dm8/data/DAMENG/BOOKSHOP.DBF
5          SYSTEM   0           /dm8/data/DAMENG/SYSTEM.DBF
6          DMHR     0           /dm8/data/DAMENG/DMHR.DBF
7          TEMP     0           /dm8/data/DAMENG/TEMP.DBF
8          ROLL     0           /dm8/data/DAMENG/ROLL.DBF
9          MAIN     0           /dm8/data/DAMENG/MAIN.DBF
10         LCPTTBS  0           /dm8/data/LCPTTBS01.DBF

10 rows got

已用时间: 1.674(毫秒). 执行号:35084801.

通过上面SQL语句,查看已经成功创建了表空间【LCPTTBS】有两个数据文件【LCPTTBS01.DBF】和【LCPTTBS02.DBF】。

1.3 图形方式创建表空间

使用SYSDBA用户登录数据库,用鼠标点击右键,选择【新建表空间】:

输入表空间名字【EBANKTBS】:

点击【添加】按钮:

设置表空间选项如【文件路径】、【文件大小】等:

查看表空间创建语句和点击【确定】:

查看EBANKTBS表空间创建结果,已经成功创建:

2.管理表空间

2.1 修改表空间名字

修改表空间EBANKTBS名字为DXHTBS:

bash 复制代码
SQL> ALTER TABLESPACE EBNKTBS RENAME TO DXHTBS;
操作已执行
已用时间: 14.709(毫秒). 执行号:35143700.
SQL>

2.2 修改表空间状态

用户表空间有联机和脱机两种状态。

设置表空间状态为脱机状态时,如果该表空间有未提交的事务,则脱机失败报错。脱机后可对表空间的数据进行备份。

修改DXHTBS表空间状态为脱机:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS OFFLINE;
操作已执行
已用时间: 111.804(毫秒). 执行号:35143701.
SQL>

修改DXHTBS表空间状态为联机:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS ONLINE;
操作已执行
已用时间: 12.368(毫秒). 执行号:35143702.
SQL>

注意:

系统(SYSTEM)表空间、回滚(ROLL)表空间、重做日志表空间(RLOG)和临时(TEMP)表空间不允许脱机。

2.3 修改表空间数据缓冲区

用户表空间可以切换使用的数据缓冲区。

可以使用的数据缓冲区有 NORMAL 和 KEEP。表空间修改成功后,并不会立即生效,而是需要服务器重启。缓冲池名 KEEP 是达梦的保留关键字,使用时必须加双引号。

将DXHTBS表空间绑定到KEEP缓冲区:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS CACHE= "KEEP";
操作已执行
已用时间: 17.763(毫秒). 执行号:35191900.
SQL>

注意:

系统(SYSTEM)表空间、回滚(ROLL)表空间、重做日志表空间(RLOG)和临时(TEMP)表空间不允许修改数据缓冲区。

3.管理数据文件

3.1 添加表空间数据文件

举例,给表空间DXHTBS 添加数据文件:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS ADD DATAFILE '/dm8/data/DXHTBS02.DBF' SIZE 64;
操作已执行
已用时间: 19.313(毫秒). 执行号:35191902.
SQL>

一个表空间中,数据文件和镜像文件一起不能超过256个。例如,如果创建表空间的时候已经指定了1个数据文件,那么添加数据文件的时候,最多只能添加255个。

3.2 扩展数据文件大小

将表空间DXHTBS的DXHTBS02.DBF数据文件扩展至128M:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS RESIZE DATAFILE '/dm8/data/DXHTBS02.DBF' TO 128;
操作已执行
已用时间: 7.903(毫秒). 执行号:35191903.
SQL>

3.4 修改表空间数据库文件路径

将表空间DXHTBS的DXHTBS02.DBF文件路径进行修改:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS OFFLINE;
操作已执行
已用时间: 31.408(毫秒). 执行号:35191904.
SQL> ALTER TABLESPACE DXHTBS RENAME DATAFILE '/dm8/data/DXHTBS02.DBF' TO '/dm8/data/DAMENG/DXHTBS02.DBF';
操作已执行
已用时间: 149.623(毫秒). 执行号:35191905.
SQL> ALTER TABLESPACE DXHTBS ONLINE;
操作已执行
已用时间: 10.537(毫秒). 执行号:35191906.
SQL>

3.5 修改数据文件属性

修改表空间DXHTBS的DXHTBS02.DBF自动扩展最大至256M:

bash 复制代码
SQL> ALTER TABLESPACE DXHTBS  DATAFILE '/dm8/data/DAMENG/DXHTBS02.DBF' AUTOEXTEND ON NEXT 10 MAXSIZE 256;
操作已执行
已用时间: 511.962(毫秒). 执行号:35191910.
SQL>

总结

本文首先介绍了表空间限制和命令行及图形两种方式创建表空间操作例子;

其次介绍了表空间管理操作例子;

最后介绍了表空间管理数据文件操作例子;

关于达梦数据库更多学习内容,欢迎访问达梦社区:
https://eco.dameng.com

相关推荐
程序猿乐锅44 分钟前
【黑马点评 | 第四篇】Redis缓存雪崩
java·数据库·spring boot·redis·缓存
Sun 32851 小时前
集中式主备中,CM、OM 和 DN 是怎样协作的?
数据库·opengauss·cm·磐维数据库·集中式·om·dn
其实防守也摸鱼1 小时前
堆叠注入(Stacked Injection)详解
服务器·数据库·windows·https·ssl
两点王爷10 小时前
PostgreSQL 常用 SQL 语句与 GIS 相关函数详解
数据库·后端
两点王爷10 小时前
PostgreSQL 好用又独特的特性与空间函数
数据库
梦帮科技10 小时前
AI 音乐产品的发布工程:验证门、数据发布、回滚与生产运维纪律
数据结构·数据库·架构·node.js·音视频·动态规划·推荐算法
TDengine (老段)11 小时前
TDengine 常见问题 TOP3
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
螺蛳粉 螺蛳粉14 小时前
MySQL 分布式集群系列 · 第五篇——全方位对比:NDB、MGR、主从复制、分库分表怎么选?
数据库·分布式·mysql
这个DBA有点耶18 小时前
从OLTP到OLAP到HTAP:数据库负载分类的技术演进与选型指南
数据库·mysql·架构
YangYang9YangYan20 小时前
商业数据分析校招项目怎么选,附项目设计与简历包装思路
大数据·数据库·数据分析