在日常运维的时候偶尔会遇到由于前期磁盘规划等原因,或者资源限制等原因,在数据不断增长的情况下。要移动数据文件目录的情况。具体操作如下。

原来目录是:/dmdata

新目录是:/newdata

1.记录原环境信息。

2.停止数据库相关服务。

3.拷贝数据到新的目录下

[root@localhost /]# cp -r /dmdata /newdata/

4.转换原来的控制文件

 5.修改dmctl.txt 里面所有的路径参数

查询需要修改的内容

[dmdba@localhost dmdb]$ cat dm.txt | grep /dmdata
fil_path=/dmdata/dmdb/SYSTEM.DBF
fil_path=/dmdata/dmdb/ROLL.DBF
fil_path=/dmdata/dmdb/dmdb01.log
fil_path=/dmdata/dmdb/dmdb02.log
fil_path=/dmdata/dmdb/MAIN.DBF
htspath=/dmdata/dmdb/HMAIN
编辑文档把路径/dmdata改为新的目录路径/newdata

6.更新控制文件到新的目录。

把新路径下的 dm.ctl 文件备份为 dm.ctl.bak ,转换新的 dmctl.txt 为新的 dm.ctl

[dmdba@localhost dmdb]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ./dmctlcvt TYPE=2 SRC=/dmdata/dmdb/dm.txt DEST=/dmdata/dmdb/dm.ctl
DMCTLCVT V8
convert txt to ctl success!
[dmdba@localhost bin]$ cp /dmdata/dmdb/dm.ctl /newdata/dmdb/

7.修改实例下参数配置文件,dm.ini与dmarch.ini,同样把旧路径更改为新路径。

[dmdba@localhost bin]$ vi /newdata/dmdb/dm.ini

[dmdba@localhost bin]$ vi /newdata/dmdb/dmarch.ini

8.修改服务启动脚本,同样把旧路径更改为新路径。

[dmdba@localhost bin]$ pwd
/home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ vi DmServicedmdb

9.确定更改完以上配置后,启动数据库服务

[dmdba@localhost bin]$ DmServicedmdb start

达梦技术社区:https://eco.dameng.com

Logo

一站式 AI 云服务平台

更多推荐