官方文档: 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 |
步骤
- 停止数据库服务
进入达梦数据库安装目录下的bin目录,执行DmServiceDMSERVER stop
命令,当数据OK表示停止成功。
[root@yyl bin]# ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
- 复制数据文件
复制数据文件到迁移目录。
[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/
- 修改控制文件
进入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中全局搜索然后逐个修改。
例如这些配置,都得进行修改。
将迁移目录的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!
- 修改数据实例配置文件
创建一个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配置的目录为我们刚才新建的那个目录。
- 修改服务启动脚本
进入dm数据库的bin目录下,修改DmServiceDMSERVER
服务启动脚本,修改配置文件目录地址。
[root@yyl bin]# cd /usr/local/app/dmdbms/bin
[root@yyl bin]# vim ./DmServiceDMSERVER
- 启动服务
进入命令执行./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
标签:示例,data,数据库,db,so,yyl,root,达梦,DAMENG
From: https://www.cnblogs.com/lyraHeartstrings/p/18554866