达梦数据库迁移示例路径

官方文档: https://eco.dameng.com/document/dm/zh-cn/faq/faq-db-changes.html
博客: https://mp.weixin.qq.com/s/9ggRIiHdWz3LOIhfvS84mw

迁移

数据库实例路径 迁移目标路径
/usr/local/app/dmdbms/data/DAMENG /db-data/DAMENG

步骤

  1. 停止数据库服务
    进入达梦数据库安装目录下的bin目录,执行DmServiceDMSERVER stop命令,当数据OK表示停止成功。
[root@yyl bin]# ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER:                                [ OK ]
  1. 复制数据文件
    复制数据文件到迁移目录。
[root@yyl DAMENG]# cd /usr/local/app/dmdbms/data/
[root@yyl data]# ls
DAMENG  DAMENG2
[root@yyl data]# cp -R DAMENG /
backup/           data/             docker/           home/             lib64/            mmkv.default.crc  root/             srv/              temp/             work/
bin/              db-data/          etc/              httpaa            logs/             mnt/              run/              start.sh          tmp/
boot/             derby.log         .exectl_all       jdk17/            media/            opt/              sbin/             sudo/             usr/
box/              dev/              file:/            lib/              mmkv.default      proc/             soft/             sys/              var/
[root@yyl data]# cp -R DAMENG /db-data/

[root@yyl db-data]# chmod -R  755 /db-data/DAMENG/

[root@yyl db-data]# chown -R tracetech:tracetech  /db-data/DAMENG/

  1. 修改控制文件
    进入bin目录并利用dmctlcvt命令将控制文件转换为txt配置文件。

./dmctlcvt type=1 src=/dmdata/dmdb/dm.ctl dest=/dmdata/dmdb/dm.txt

[root@yyl ~]# cd /usr/local/app/dmdbms/bin
[root@yyl bin]# ls
asmtest                dmdbchk                   dmst2shp                                 libdmasm.so        libdmde.so             libdmmem.so               libdmsess.so         libmpfr.so
asmtestm               dmdbg                     dmstub                                   libdmasvrm.so      libdmdfi.so            libdmmout.so              libdmshmm.so         libmpfr.so.6
cexe                   dmdcrs                    dmukey_gen                               libdmasvr.so       libdmdfs.so            libdmmsg_parse.so         libdmshm.so          libproj.so
client_ssl             dmdcs                     dmwatcher                                libdmaud.so        libdmdpc_nts.so        libdmmsgparse.so          libdmshpldr.so       libproj.so.19
DAMENG                 dmdcstool                 dpc_new                                  libdmbak2.so       libdmdpc.so            libdmmsg.so               libdmstg.so          libregex.so
dclone                 dmdras                    enc_devices                              libdmbcast2.so     libdmdpi.so            libdmnci.so               libdmstrt.so         libSFCGAL.so
dexp                   dmdrs                     external_crypto_libs                     libdmbcast.so      libdmdrs.so            libdmnlssort.so           libdmsys.so          libSFCGAL.so.1
dexpdp                 dmdss                     GCC_VERSION                              libdmbifun.so      libdmdta.so            libdmnsort.so             libdmtbl.so          libsnappy.so
dimp                   dmdssinit                 GLIBC_VERSION                            libdmblb.so        libdmelog.so           libdmoopi.so              libdmtimer.so        libsqlite3.so
dimpdp                 dmfldr                    jexe                                     libdmbldr.so       libdmenet.so           libdmopt.so               libdmtlog.so         libsqlite3.so.0
disql                  dmimon                    jobdts                                   libdmbrtsk.so      libdmexe.so            libdmos.so                libdmtrc.so          libssl.so
disql_conf             dminit                    libboost_atomic-mt-x64.so.1.79.0         libdmbtr.so        libdmfil.so            libdmpara.so              libdmtrv.so          libtiff.so
dmamon                 DmInstanceMonitorService  libboost_chrono-mt-x64.so.1.79.0         libdmcalc.so       libdmfldr_comm.so      libdmp_disql_dll_java.so  libdmtrx.so          libxerces-c-3.1.so
dmamon_ctl             dmjmon                    libboost_date_time-mt-x64.so.1.79.0      libdmcfg.so        libdmfldr_dll_java.so  libdmp_dll.so             libdmuthr.so         libxerces-c.so
dmap                   DmJobMonitorService       libboost_serialization-mt-x64.so.1.79.0  libdmckpt.so       libdmfldr.so           libdmpif.so               libdmutl.so          libxml2.so
dmap_br                dmkey                     libboost_system-mt-x64.so.1.79.0         libdmclientlex.so  libdmhfs.so            libdmrac.so               libdmvtdskm.so       libxqilla.so
DmAPService            dmlcvt                    libboost_thread-mt-x64.so.1.79.0         libdmcomm.so       libdmimon_dll_java.so  libdmraft.so              libdmvtdsk.so        libxslt.so
dmasmcmd               dmldrc                    libCGAL_Core.so.11                       libdmcpr.so        libdmimon.so           libdmrarch.so             libdmwseg.so         libz.so
dmasmcmdm              dmldrp                    libCGAL.so                               libdmcpt.so        libdmjmon.so           libdmreadline.so          libdmxai.so          nohup.out
dmasmmgt               dmldrpc                   libCGAL.so.11                            libdmcrypt.so      libdmjob.so            libdmredo.so              libdmxa.so           OPENSSL_VERSION
dmasmmgtm              dmmdf                     libcrypto.so                             libdmcssmon.so     libdmjschdl.so         libdmregex.so             libdmxmal.so         pids
dmasmsvr               dmmkstore                 libcurl.so                               libdmcss.so        libdmjson.so           libdmrep.so               libdodbc.so          proj.db
dmasmsvrm              dmmonitor                 libcyt_java.so                           libdmcti.so        libdmknl.so            libdmrlog.so              libdwatcher.so       proj.ini
dmasmtool              dmrachk                   libdisql_dll.so                          libdmcvt.so        libdmldr.so            libdmrman.so              libdwmon.so          server_ssl
dmasmtoolm             dmrdc                     libdmamon.so                             libdmcyt.so        libdmlic.so            libdmrps.so               libgeos_c.so         service_desc_list
DmAuditMonitorService  dmrman                    libdmapx.so                              libdmdbg.so        libdmllog.so           libdmrs.so                libgeos_c.so.1       service_template
dmaudtool              dmrslcvt                  libdmasmapim.so                          libdmdci.so        libdmlnk.so            libdmrtree.so             libgeos_c.so.1.16.1  svc_ctl_linux
dmcss                  dmserver                  libdmasmapi.so                           libdmdcp.so        libdmlogmnr_client.so  libdmsbtex.so             libgeos.so           SYSWORD.UTF8.LIB
dmcssm                 DmServiceDMSERVER         libdmasmm.so                             libdmdcrm.so       libdmlogmnr.so         libdmsbtree.so            libgeos.so.3.10.3
dmctlcvt               DmServiceDMSERVER2        libdmasmparsem.so                        libdmdcr.so        libdmmal.so            libdmsbt.so               libjson-c.so
dmdata_cmp             dmshp2st                  libdmasmparse.so                         libdmdct.so        libdmmc.so             libdmscp.so               liblwgeom.so
[root@yyl bin]# ./dm
dmamon      dmap_br     dmasmmgt    dmasmsvrm   dmaudtool   dmctlcvt    dmdbg       dmdcstool   dmdss       dmimon      dmkey       dmldrp      dmmkstore   dmrdc       dmserver    dmstub
dmamon_ctl  dmasmcmd    dmasmmgtm   dmasmtool   dmcss       dmdata_cmp  dmdcrs      dmdras      dmdssinit   dminit      dmlcvt      dmldrpc     dmmonitor   dmrman      dmshp2st    dmukey_gen
dmap        dmasmcmdm   dmasmsvr    dmasmtoolm  dmcssm      dmdbchk     dmdcs       dmdrs       dmfldr      dmjmon      dmldrc      dmmdf       dmrachk     dmrslcvt    dmst2shp    dmwatcher
[root@yyl bin]# ./dmctlcvt type=1 src=/usr/local/app/dmdbms/data/DAMENG/dm.ctl dest=/usr/local/app/dmdbms/data/DAMENG/dm.txt
DMCTLCVT V8
convert ctl to txt success!

将dm.txt的数据目录修改为迁移后的目录,把/usr/local/app/dmdbms/data/DAMENG相关的配置都修改成/db-data/DAMENG目录
可以在vim中全局搜索然后逐个修改。
例如这些配置,都得进行修改。
image
将迁移目录的ctl文件删除,并使用dmctlcvt命令创建新的ctl文件到迁移目录中。

[root@yyl bin]# rm -rf /db-data/DAMENG/dm.ctl
[root@yyl bin]# ./dmctlcvt type=2 src=/usr/local/app/dmdbms/data/DAMENG/dm.txt dest=/db-data/DAMENG/dm.ctl
DMCTLCVT V8
convert txt to ctl success!
  1. 修改数据实例配置文件
    创建一个bak目录,待会修改配置文件时会用到。
[root@yyl bin]# cd /db-data/
[root@yyl db-data]# mkdir bak
[root@yyl db-data]# chmod -R  755 /db-data/bak

[root@yyl db-data]# chown -R tracetech:tracetech  /db-data/bak

进入迁移目录并编辑dm.ini配置文件,将之前旧的数据文件目录修改为新的数据文件的目录,bak配置的目录为我们刚才新建的那个目录。
image

  1. 修改服务启动脚本
    进入dm数据库的bin目录下,修改DmServiceDMSERVER服务启动脚本,修改配置文件目录地址。
[root@yyl bin]# cd /usr/local/app/dmdbms/bin
[root@yyl bin]# vim ./DmServiceDMSERVER

image

  1. 启动服务
    进入命令执行./DmServiceDMSERVER start 输出ok表示启动服务启动成功。
    之后删除旧的数据文件即可。
[root@yyl bin]# ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: 上一次登录: 二 11月 19 15:15:19 CST 2024
                                                           [ OK ]
[root@yyl bin]# cd ..
[root@yyl dmdbms]# cd data/
[root@yyl data]# rm -rf DAMENG
posted @   RainbowMagic  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示