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

news/2025/2/22 16:03:18/

概述

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

1.创建表空间

1.1表空间个数限制

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

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

1.2 命令行方式创建表空间

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

[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】:

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.DBF10 rows got已用时间: 1.674(毫秒). 执行号:35084801.

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

1.3 图形方式创建表空间

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

 

输入表空间名字【EBANKTBS】: 

点击【添加】按钮:

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

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

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

 2.管理表空间

2.1 修改表空间名字

 修改表空间EBANKTBS名字为DXHTBS:

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

2.2 修改表空间状态

 

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

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

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

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

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

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

注意:

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

 2.3 修改表空间数据缓冲区

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

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

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

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

注意:

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

3.管理数据文件

3.1 添加表空间数据文件

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

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:

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

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

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

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:

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

总结

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

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

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

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


http://www.ppmy.cn/news/1057935.html

相关文章

代码随想录算法训练营第59天| 503.下一个更大元素II 42. 接雨水

今日学习的文章链接&#xff0c;或者视频链接 第十章 单调栈part02 自己看到题目的第一想法 看完代码随想录之后的想法 503 解法一&#xff1a;拼接 class Solution { public:vector<int> nextGreaterElements(vector<int>& nums) {// 拼接一个新的nums…

前端基础踩坑记录

前言&#xff1a;在做vue项目时&#xff0c;有时代码没有报错&#xff0c;但运行时却各种问题&#xff0c;没有报错排查起来就很费劲&#xff0c;本人感悟&#xff1a;写前端&#xff0c;需要好的眼神&#xff01;&#xff01;&#xff01;谨以此博客记录下自己的踩坑点。 一、…

Day 58

Day 58 739. 每日温度 情况一&#xff1a;当前遍历的元素T[i]小于栈顶元素T[st.top()]的情况情况二&#xff1a;当前遍历的元素T[i]等于栈顶元素T[st.top()]的情况情况三&#xff1a;当前遍历的元素T[i]大于栈顶元素T[st.top()]的情况 class Solution:def dailyTemperatures…

【开个空调】语音识别+红外发射

废话少说&#xff0c;直接上空调板子&#xff1a;YAPOF3。红外接收发射模块用的某宝上发现的YF-33(遗憾解码还没搞清楚&#xff0c;不然做个lirc.conf功能才多)。最后是语音识别用的幻尔的&#xff0c;某宝自然也有&#xff0c;它是个i2c的接口。 本篇胡说八道其实纯粹为了留个…

sap 获取不同币种间汇率 rfc BAPI_EXCHANGERATE_GETDETAIL

不同 sap 日期格式略有不同&#xff0c;可以在 sm37 中查看 参考 https://www.sapcenter.cn/archive/post/428730824257605.html

lab6 cow

task cow的目标就是延迟分配&#xff0c;并且直到必须要复制的时候才会分配物理内存 cow的fork只为child创造了一个页表&#xff0c;其中的PTE指向了父进程的物理页面cow的fork将父进程和孩子进程的用户态的PTE都标记为不可写当某个进程想要去写一个cow的页面时&#xff0c;c…

MMEdu实现摄像头图像分类(Python版)

先安装MMEdu库&#xff01; MMEdu安装&#xff1a;https://blog.csdn.net/zyl_coder/article/details/132483865 下面的代码请在Jupyter上运行&#xff0c;并自己准备数据集。若模型还未训练&#xff0c;请先在本地训练完模型后再进行模型推理。 import cv2 capture cv2.Vi…

Spring Data JPA的@Entity注解

一、示例说明 rules\CouponTypeConverter.java Converter public class CouponTypeConverterimplements AttributeConverter<CouponType, String> {Overridepublic String convertToDatabaseColumn(CouponType couponCategory) {return couponCategory.getCode();}Overr…