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

概述

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

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

相关推荐
大气层煮月亮34 分钟前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel
云和数据.ChenGuang44 分钟前
达梦数据库的命名空间
数据库·oracle
三三木木七1 小时前
mysql拒绝连接
数据库·mysql
蹦跶的小羊羔1 小时前
sql数据库语法
数据库·sql
唐古乌梁海1 小时前
【mysql】InnoDB的聚簇索引和非聚簇索引工作原理
数据库·mysql
我变秃了也没变强1 小时前
pgsql配置密码复杂度策略
数据库·postgresql
PawSQL1 小时前
企业级SQL审核工具PawSQL介绍(1) - 六大核心能力
数据库·sql·oracle
幼稚园的山代王1 小时前
NoSQL介绍
数据库·nosql
猫林老师2 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
沃达德软件2 小时前
视频图像数据库基础服务
数据库·图像处理·人工智能·计算机视觉·视觉检测