在日常运维中难免会遇到有迁移磁盘的需求,例如从A盘迁移到B盘,该如何去操作呢?下面给大家分享下,单机环境与读写分离集群操作相同,下面这种方法合适表空间数据文件不多的时候操作。
[dmdba@node3 ~]$ ps -ef|grep dmdb dmdba 998291 1 1 3月04 ? 02:26:31 /opt/dm8/bin/dmserver /dmdata/DAMENG/dm.ini -noconsole mount dmdba 3212876 1 0 2月09 ? 00:01:10 /opt/dm8/bin/dmap dmdba 3315873 1 0 2月10 ? 01:10:59 /opt/dm8/bin/dmwatcher /dmdata/DAMENG/dmwatcher.ini
DmWatcherServiceDMWATCHER stop
DmServiceDMSERVER stop
拷贝整个数据文件到新路劲下
cp -r dmdata /data
转存dm.ctl控制文件信息在dmctl.txt文件中
cd /opt/dm8/bin/
./dmctlcvt TYPE=1 SRC=/dmdata/DAMENG/dm.ctl DEST=/dmdata/DAMENG/dmctl.txt
查询需要修改的内容:
[dmdba@node3 DAMENG]$ cat dmctl.txt |grep /dmdata/ fil_path=/dmdata/DAMENG/SYSTEM.DBF fil_path=/dmdata/DAMENG/ROLL.DBF fil_path=/dmdata/DAMENG/DAMENG01.log fil_path=/dmdata/DAMENG/DAMENG02.log fil_path=/dmdata/DAMENG/MAIN.DBF fil_path=/dmdata/DAMENG/SYSTEM.DBF fil_path=/dmdata/DAMENG/ROLL.DBF fil_path=/dmdata/DAMENG/DAMENG01.log fil_path=/dmdata/DAMENG/DAMENG02.log fil_path=/dmdata/DAMENG/MAIN.DBF fil_path=/dmdata/OADATA/SRR01.dbf fil_path=/dmdata/OADATA/SRR_IDX01.dbf fil_path=/dmdata/OADATA/BSP01.dbf fil_path=/dmdata/OADATA/BSP_IDX01.dbf fil_path=/dmdata/OADATA/BPM01.dbf fil_path=/dmdata/OADATA/BPM_IDX01.dbf fil_path=/dmdata/OADATA/CFORM01.dbf fil_path=/dmdata/OADATA/CFORM_IDX01.dbf fil_path=/dmdata/OADATA/SC01.dbf fil_path=/dmdata/OADATA/SC_IDX01.dbf fil_path=/dmdata/OADATA/PORTAL01.dbf fil_path=/dmdata/OADATA/PORTAL_IDX01.dbf fil_path=/dmdata/OADATA/CFILE01.dbf fil_path=/dmdata/OADATA/CFILE_IDX01.dbf fil_path=/dmdata/OADATA/EDOC01.dbf fil_path=/dmdata/OADATA/EDOC_IDX01.dbf fil_path=/dmdata/OADATA/MEETING01.dbf fil_path=/dmdata/OADATA/MEETING_IDX01.dbf fil_path=/dmdata/OADATA/CMS01.dbf fil_path=/dmdata/OADATA/CMS_IDX01.dbf fil_path=/dmdata/OADATA/MOBILESERVER01.dbf fil_path=/dmdata/OADATA/MOBILESERVER_IDX01.dbf fil_path=/dmdata/OADATA/FTS01.dbf fil_path=/dmdata/OADATA/FTS_IDX01.dbf fil_path=/dmdata/OADATA/OA01.dbf fil_path=/dmdata/OADATA/OA_IDX01.dbf fil_path=/dmdata/OADATA/PLAN01.dbf fil_path=/dmdata/OADATA/PLAN_IDX01.dbf fil_path=/dmdata/OADATA/EXSRR01.dbf fil_path=/dmdata/OADATA/EXSRR_IDX01.dbf fil_path=/dmdata/OADATA/EXBSP01.dbf fil_path=/dmdata/OADATA/EXBSP_IDX01.dbf fil_path=/dmdata/OADATA/EXEDOC01.dbf fil_path=/dmdata/OADATA/EXEDOC_IDX01.dbf fil_path=/dmdata/OADATA/EXPORTAL01.dbf fil_path=/dmdata/OADATA/EXPORTAL_IDX01.dbf fil_path=/dmdata/OADATA/EXSC01.dbf fil_path=/dmdata/OADATA/GCLOUD_EXSC_IDX01.dbf htspath=/dmdata/DAMENG/HMAIN
修改/dmdata为/data
把原来的 dm.ctl 文件备份为 dm.ctl.bak ,使用以下命令将dmctl.txt转换新的dmctl.txt
为新的 dm.ctl控制文件
cd /opt/dm8/bin/
./dmctlcvt TYPE=2 SRC=/dmdata/DAMENG/dmctl.txt DEST=/data/DAMENG/dm.ctl
/dmdata
改为 /data
将原来的/dmdata替换为/data
cd /opt/dm8/bin
vi DmServiceDMSERVER
INI_PATH="/data/DAMENG/dm.ini"
修改守护进程服务地址
vi DmWatcherServiceDMWATCHER
INI_PATH="/data/DAMENG/dmwatcher.ini"
DmServiceDMSERVER start
DmWatcherServiceDMWATCHER start
注意:
如果是集群数据,备库守护配置文件是auto的时候没配置确认监视器,修改会遇到一个问题备库停止服务之后会导致主库处于 挂起 的状态影响业务
解决办法:是将主备恢复正常,通过监视器将备库剔除集群服务,登录监视器使用以下命令操作
detach database DM2
恢复完成之后,如何加入集群呢?使用方式如下
attach database DM2
至此数据文件已迁移完成,当我们在使用以上方式迁移时需确保控制参数修改正确避免出现漏修改参数,导致迁移失败。当环境数据文件多比较复杂时,还可以使用备份恢复的方式迁移数据文件。
文章
阅读量
获赞