签到成功

知道了

CNDBA社区CNDBA社区

DM 达梦数据库 移动 数据文件 方法说明

2020-12-15 21:20 327 0 原创 DM 达梦
作者: Dave

在之前的博客我们测试了表空间相关的内容,如下:https://www.cndba.cn/dave/article/4329

https://www.cndba.cn/dave/article/4329

DM 达梦数据库 临时表空间 管理说明
https://www.cndba.cn/dave/article/4315

https://www.cndba.cn/dave/article/4329
https://www.cndba.cn/dave/article/4329

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

https://www.cndba.cn/dave/article/4329
https://www.cndba.cn/dave/article/4329https://www.cndba.cn/dave/article/4329

DM7 达梦数据库 误删数据文件 恢复方法
https://www.cndba.cn/cndba/dave/article/3570

对于达梦数据库,TEMP 临时表空间是DB自己维护的,我们不用单独管理。 对于业务表空间的数据库,我们可以直接改变其存储路径,比如当磁盘空间不足时,将数据文件转移到其他磁盘目录中。

操作方法有两种:

1)使用SQL,将表空间离线,rename 数据文件路径,在online 表空间。 该方法同Oracle 12c 之前的版本操作一致,但不需要物理移动数据文件。 Oracle 也是到12c 以后才支持在线移动数据文件。https://www.cndba.cn/dave/article/4329

2)停库,移动数据文件,重建控制。 因为数据文件的路径记录在控制文件, 该方法具体操作参考之前的博客:

https://www.cndba.cn/dave/article/4329

DM7 达梦数据库 查看并重建控制文件 操作示例
https://www.cndba.cn/dave/article/3574https://www.cndba.cn/dave/article/4329

我们这里演示第一种方法,使用SQL语句来操作。

创建表空间:

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

服务器[127.0.0.1:6236]:处于普通打开状态
登录使用时间 : 3.798(ms)
disql V8
SQL>  select tablespace_name, file_name, status from dba_data_files order by 1;

行号     TABLESPACE_NAME FILE_NAME                        STATUS
---------- --------------- -------------------------------- ---------
1          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF   AVAILABLE
2          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   AVAILABLE
3          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF AVAILABLE
4          TEMP            /dm/dmdbms/data/TEMP.DBF         AVAILABLE

已用时间: 13.062(毫秒). 执行号:204.
SQL> create tablespace dave datafile '/dm/dmdbms/data/cndba/dave01.DBF' size 32, '/dm/dmdbms/data/cndba/dave02.DBF' size 32;
操作已执行
已用时间: 44.174(毫秒). 执行号:205.
SQL>  select tablespace_name, file_name, status from dba_data_files order by 1;

行号     TABLESPACE_NAME FILE_NAME                        STATUS
---------- --------------- -------------------------------- ---------
1          DAVE            /dm/dmdbms/data/cndba/dave01.DBF AVAILABLE
2          DAVE            /dm/dmdbms/data/cndba/dave02.DBF AVAILABLE
3          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF   AVAILABLE
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   AVAILABLE
5          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF AVAILABLE
6          TEMP            /dm/dmdbms/data/TEMP.DBF         AVAILABLE

6 rows got

已用时间: 1.171(毫秒). 执行号:206.
SQL>

[dave@www.cndba.cn cndba]$ ls -l /dm/dmdbms/data/cndba/dave0*
-rw-r--r-- 1 dmdba dinstall 33554432 12月 15 21:09 /dm/dmdbms/data/cndba/dave01.DBF
-rw-r--r-- 1 dmdba dinstall 33554432 12月 15 21:09 /dm/dmdbms/data/cndba/dave02.DBF
[dave@www.cndba.cn cndba]$

OFFLINE表空间并移动数据文件位置:

SQL>  alter tablespace dave offline;
操作已执行
已用时间: 84.568(毫秒). 执行号:706.
SQL> alter tablespace dave rename datafile '/dm/dmdbms/data/cndba/dave01.DBF' to '/dm/dave01.dbf';
操作已执行
已用时间: 51.262(毫秒). 执行号:707.
SQL> alter tablespace dave rename datafile '/dm/dmdbms/data/cndba/dave02.DBF' to '/dm/dave02.dbf';
操作已执行
已用时间: 46.731(毫秒). 执行号:708.
SQL> alter tablespace dave online;
操作已执行
已用时间: 2.225(毫秒). 执行号:709.
SQL> select tablespace_name, file_name, status from dba_data_files order by 1;

行号     TABLESPACE_NAME FILE_NAME                        STATUS
---------- --------------- -------------------------------- ---------
1          DAVE            /dm/dave01.dbf                   AVAILABLE
2          DAVE            /dm/dave02.dbf                   AVAILABLE
3          MAIN            /dm/dmdbms/data/cndba/MAIN.DBF  AVAILABLE
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   AVAILABLE
5          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF AVAILABLE
6          TEMP            /dm/dmdbms/data/TEMP.DBF         AVAILABLE

6 rows got

已用时间: 1.422(毫秒). 执行号:710.
SQL>

注意这里的rename 即修改控制文件,也进行物理操作,不再需要单独在操作系统上移动数据文件:

[dave@www.cndba.cn cndba]$ ls -l /dm/dmdbms/data/cndba/dave0*
ls: 无法访问/dm/dmdbms/data/cndba/dave0*: 没有那个文件或目录
[dave@www.cndba.cn cndba]$ ls -l /dm/dave*
-rw-r--r-- 1 dmdba dinstall 33554432 12月 15 21:11 /dm/dave01.dbf
-rw-r--r-- 1 dmdba dinstall 33554432 12月 15 21:11 /dm/dave02.dbf
[dave@www.cndba.cn cndba]$

这里除了TEMP、SYSTEM 、ROLL 三个系统表空间不能移动之外,其他表空间都可以移动:

SQL> alter tablespace SYSTEM offline;
alter tablespace SYSTEM offline;
第1 行附近出现错误[-3409]:表空间[SYSTEM]不能置为脱机状态.
已用时间: 0.298(毫秒). 执行号:0.
SQL> alter tablespace roll offline;
alter tablespace roll offline;
第1 行附近出现错误[-3409]:表空间[ROLL]不能置为脱机状态.
已用时间: 0.318(毫秒). 执行号:0.
SQL> alter tablespace temp offline;
alter tablespace temp offline;
第1 行附近出现错误[-3409]:表空间[TEMP]不能置为脱机状态.
已用时间: 0.252(毫秒). 执行号:0.
SQL>

MAIN表空间进行测试:

SQL> alter tablespace MAIN offline;
操作已执行
已用时间: 86.206(毫秒). 执行号:323.
SQL> alter tablespace MAIN rename datafile '/dm/dmdbms/data/cndba/MAIN.DBF' to '/dm/MAIN.DBF';
操作已执行
已用时间: 155.364(毫秒). 执行号:324.
SQL>  alter tablespace MAIN online;
操作已执行
已用时间: 2.917(毫秒). 执行号:325.
SQL>

SQL> select tablespace_name, file_name, status from dba_data_files order by 1;

行号     TABLESPACE_NAME FILE_NAME                        STATUS
---------- --------------- -------------------------------- ---------
1          DAVE            /dm/dave01.dbf                   AVAILABLE
2          DAVE            /dm/dave02.dbf                   AVAILABLE
3          MAIN            /dm/MAIN.DBF                     AVAILABLE
4          ROLL            /dm/dmdbms/data/cndba/ROLL.DBF   AVAILABLE
5          SYSTEM          /dm/dmdbms/data/cndba/SYSTEM.DBF AVAILABLE
6          TEMP            /dm/dmdbms/data/TEMP.DBF         AVAILABLE

6 rows got

已用时间: 1.422(毫秒). 执行号:710.
SQL>

[dave@www.cndba.cn cndba]$ ls -l /dm/MAIN*
-rw-r--r-- 1 dmdba dinstall 134217728 12月 15 20:52 /dm/MAIN.DBF
[dave@www.cndba.cn cndba]$

另外需要注意一点,数据文件不能移动到/tmp 目录下,虽然移动到/tmp 下不影响运行,也可以通过dba_data_files查询到路径,但是在操作系统级别通过ls 命令无法查找到文件,这点需要留意。

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1832
    原创
  • 2
    翻译
  • 417
    转载
  • 119
    评论
  • 访问:3164762次
  • 积分:2888
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群