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