[转帖]DM 达梦数据库 临时表空间 管理说明

dm,数据库,临时,空间,管理,说明 · 浏览次数 : 0

小编点评

**达梦数据库的临时表空间** **简介** 达梦数据库提供了两种类型的临时表空间: * **TEMP 表空间**用于临时数据处理,其大小由 `TEMP_SIZE` 参数控制。 * **DM 数据库中的系统表空间**,其大小由 `TEMP_SPACE_LIMIT` 参数控制。 **TEMP 表空间** * 创建时无法单独指定创建临时表空间。 * `TEMP_SIZE` 参数指定默认创建的临时表空间大小。 * `TEMP_SPACE_LIMIT` 参数设置系统级临时表空间大小上限。 * 默认值是 `4294967294`。 **系统表空间** * 在实例启动时根据 `TEMP_SIZE` 和 `TEMP_SPACE_LIMIT` 参数创建和分配临时表空间。 * `TEMP_PATH` 参数指定临时表空间的存储路径。 **创建和设置** * `SP_SET_PARA_VALUE()` 函数可设置 `TEMP_SIZE` 和 `TEMP_SPACE_LIMIT` 参数的值。 * `SP_SET_PARA_STRING_VALUE()` 函数可设置 `TEMP_PATH` 参数的值。 **结论** 达梦数据库提供了两种类型的临时表空间,分别用于存储临时数据和系统表空间。 了解这些表空间的配置和操作方法对于优化数据库性能至关重要。

正文

 

2020-12-01 21:3516090原创DM 达梦

在之前的2篇博客中我们了解了达梦数据库表空间的基本操作,如下:

 

DM7 达梦数据库 表空间 管理 说明
https://www.cndba.cn/dave/article/3569

DM 达梦数据库 创建表空间 秒结束 测试
https://www.cndba.cn/dave/article/3757

实际上达梦数据库的临时表空间是另外一种管理方式,我们先查询达梦数据库表空间相关的信息,如下:

[dave@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@127.0.0.1:6236

服务器[127.0.0.1:6236]:处于普通打开状态
登录使用时间 : 2.109(ms)
disql V8
SQL> select tablespace_name,FILE_NAME,bytes/1024/1024 from dba_data_files;

服务器[127.0.0.1:6236]:处于普通打开状态
已连接

行号     TABLESPACE_NAME FILE_NAME                        BYTES/1024/1024
---------- --------------- -------------------------------- --------------------
1          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF 23
2          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF   128
3          TEMP            /dm/dmdbms/data/cndba/TEMP.DBF   2048
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   128

已用时间: 17.282(毫秒). 执行号:104.
SQL>

在这里我们看到有4个表空间,其中TEMP 临时表空间大小2048M。 这里要注意,虽然达梦与Oracle 在管理上很类似,但在TEMP 表空间管理上,达梦与Oracle 的差距很大。

我们这里先查看实例的配置参数dm.ini:

[root@www.cndba.cn cndba]# cat dm.ini |grep TEMP
                TEMP_PATH     = /dm/dmdbms/data/cndba            #temporary file path
                TEMP_SIZE     = 1024                  #temporary file size  in Megabytes
                TEMP_SPACE_LIMIT     = 20480                 #temp space limit in megabytes
[root@www.cndba.cn cndba]#

通过查询我们可以得知,达梦的临时表空间大小是由这3个参数控制的,每次在实例启动时,根据这3个参数的配置,来创建和分配临时表空间,而不是Oracle 数据库中可以单独创建临时表空间。 并且在创建表空间时也无法单独指定创建临时表空间。

TEMP_SIZE:参数是静态参数,指定默认创建的临时表空间大小,以 M 为单位。有效值范围(10~1048576)。
TEMP_SPACE_LIMIT:动态,系统级临时表空间大小上限,以 M 为单位。0 表示不限制临时表空间大小。 有效范围(0~ 4294967294)。
注:TEMP_SPACE_LIMIT 一定要大于等于TEMP_SIZE

 

达梦的参数修改参考我之前的博客:

 

DM7 达梦数据库 参数 修改方法
https://www.cndba.cn/dave/article/3578

我们这里来测试一下效果:

[dave@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@127.0.0.1:6236

服务器[127.0.0.1:6236]:处于普通打开状态
登录使用时间 : 2.109(ms)
disql V8
SQL> select tablespace_name,FILE_NAME,bytes/1024/1024 from dba_data_files;

服务器[127.0.0.1:6236]:处于普通打开状态
已连接

行号     TABLESPACE_NAME FILE_NAME                        BYTES/1024/1024
---------- --------------- -------------------------------- --------------------
1          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF 23
2          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF   128
3          TEMP            /dm/dmdbms/data/cndba/TEMP.DBF   2048
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   128

已用时间: 17.282(毫秒). 执行号:104.
SQL> SP_SET_PARA_VALUE(2,'TEMP_SIZE',           666);
DMSQL 过程已成功完成
已用时间: 3.277(毫秒). 执行号:105.
SQL> SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT',    8888);
DMSQL 过程已成功完成
已用时间: 2.675(毫秒). 执行号:106.
SQL> SP_SET_PARA_STRING_VALUE(2,'TEMP_PATH',    '/dm/dmdbms/data/dave');
SP_SET_PARA_STRING_VALUE(2,'TEMP_PATH',    '/dm/dmdbms/data/dave');
[-836]:不可修改的配置参数.
已用时间: 0.332(毫秒). 执行号:0.
SQL>

注意这里的TEMP_PATH参数,只能手工修改dm.ini 文件,无法通过SQL语句来修改, 修改之后如下:

[dave@www.cndba.cn cndba]$ cat dm.ini|grep TEMP_PATH
                TEMP_PATH                       = /dm/dmdbms/data            #temporary file path
[dave@www.cndba.cn cndba]$

重启实例:

[root@www.cndba.cn root]# systemctl restart DmServicedave.service
[root@www.cndba.cn root]#

查询表空间信息:

[dave@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@127.0.0.1:6236

服务器[127.0.0.1:6236]:处于普通打开状态
登录使用时间 : 2.257(ms)
disql V8
SQL>  select tablespace_name,FILE_NAME,bytes/1024/1024 from dba_data_files;

行号     TABLESPACE_NAME FILE_NAME                        BYTES/1024/1024
---------- --------------- -------------------------------- --------------------
1          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF 23
2          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF   128
3          TEMP            /dm/dmdbms/data/TEMP.DBF         666
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   128

已用时间: 11.231(毫秒). 执行号:4.
SQL>

此时表空间已经根据我们之前的参数配置进行创建。

因为达梦的临时表空间与Oracle 的临时表空间管理不同,所以专门写此篇博客,记录一下。

与[转帖]DM 达梦数据库 临时表空间 管理说明相似的内容:

[转帖]DM 达梦数据库 临时表空间 管理说明

2020-12-01 21:3516090原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/4315 在之前的2篇博客中我们了解了达梦数据库表空间的基本操作,如下: DM7 达梦数据库 表空间 管理 说明https://www.cndba.cn/dave/

[转帖]DM 达梦数据库 记录超长 错误解决方法

2022-08-24 09:423551原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/108596 1 问题说明与分析 在达梦数据库中进行数据库Insert时可能会遇到如下错误: java.sql.SQLException: Record length

[转帖]DM 达梦数据库 忘记 SYSDBA 密码 解决方法

2022-08-04 22:2318321原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/108578 1 背景说明 在其他的关系型数据库中,都有OS认证,所以我们并不担心忘记超级管理员密码的问题。 在达梦数据库中,因为安全的原因,默认并没有启用本地OS

[转帖]DM8 达梦数据库 查看数据库版本号 方法

2020-09-28 17:24183572原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/4260 在DM7 中,查询数据库版本号的方法和Oracle 一样,通过v$version 视图可以查询。 [dmdba@www.cndba.cn ~]$ dis

[转帖]达梦数据库 DM8 中 注册服务 说明

2019-10-29 19:3830480原创DM 达梦 本文链接:https://www.cndba.cn/dave/article/3753 达梦数据库 DM8 中 注册服务 说明 在之前的博客我们了解了DM7中的服务注册,如下: DM7 达梦数据库 通过dminit 创建 并 注册 数据库实例

[转帖]测试工具 sysbench (Centos 7.x) for DM数据库

1、简单介绍 sysbench是一个开源,模块化的多线程性能测试工具,可以用来进行硬件环境性能测试,也可进行数据库的性能测试。但是由于需要支持DM测试,所以我们一般使用源码进行编译。 2、运行方法 sysbench通过运行lua脚本进行数据库测试。而每次测试都分为prepare、run、cleanu

[转帖]测试工具 sysbench (Centos 7.x) for DM数据库

1、简单介绍 sysbench是一个开源,模块化的多线程性能测试工具,可以用来进行硬件环境性能测试,也可进行数据库的性能测试。但是由于需要支持DM测试,所以我们一般使用源码进行编译。 2、运行方法 sysbench通过运行lua脚本进行数据库测试。而每次测试都分为prepare、run、cleanu

[转帖]tidb之旅——tidb架构选择

https://zhuanlan.zhihu.com/p/641650168 前言 从4月份开始利用tidb改造了我们公司bi系统。这个过程中,我感觉到了tidb的强大。也打算记录一下整个改造过程。我打算从4个方面来记录这个改造过程。tidb架构选择,dm工具的使用——这两个部分还是tidb6.5.

[转帖] date命令详解

https://www.cnblogs.com/qmfsun/p/4598650.html date "+今天是%Y-%d-%m,现在是%H:%M:%S" 1. 显示时间date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间。如下: 如果需要以指定的格式显示日期,可以使用“+”

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to