背景描述
客户要求将本地物理服务器上的达梦服务迁移至云服务器上,迁移方式有逻辑备份恢复、物理备份恢复、数据目录拷贝。本文档采用数据目录拷贝方式
- 源服务器信息:
服务器地址:192.168.183.107
安装目录:/dmdb8/dmdbms
数据目录:/dmdb8/dmdata/fuwa
- 目标服务器信息:
服务器地址:192.168.183.110
安装目录:/dmdb8/dmdbms
数据目录:/dmdata
迁移前准备
查数据库版本(源库)
--查看版本
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/disql -id
DM Database 64 V8 03134284094-20231109-208042-20067
或
[dmdba@localhost ~]$ /dmdb8/dmdbms/bin/disql SYSDBA:5237
SQL> select * from v$version;
LINEID BANNER
---------- ---------------------------------
1 DM Database Server 64 V8
2 DB Version: 0x7000c
3 03134284094-20231109-208042-20067 #着重看该值
或 小版本号看v$instance
SQL> select svr_version,db_version,build_version from v$instance;
LINEID svr_version db_version build_version
---------- -------------------------- ------------------- -----------------------------------
1 DM Database Server x64 V8 DB Version: 0x7000c 1-3-62-2023.11.09-208042-20067-ENT
或 查看具体的版本号(准确说是发布日期)
SQL> select id_code;
行号 id_code
---------- ---------------------------
1 --03134284094-20231109-208042-20067 Pack10
已用时间: 0.656(毫秒). 执行号:55.
或
SQL> select top 1 banner ||' '||id_code from v$version;
1 DM Database Server 64 V8 --03134284094-20231109-208042-20067 Pack10确认数据目录位置(源库)
--查看进程
[dmdba@localhost ~]$ ps -ef | grep dmserver
dmdba 939 1 1 08:34 ? 00:00:02 /dmdb8/dmdbms/bin/dmserver path=/dmdb8/dmdata/fuwa/dm.ini -nocons
安装目录:/dmdb8/dmdbms
数据目录位置:/dmdb8/dmdata/fuwa
参数文件位置:/dmdb8/dmdata/fuwa/dm.ini查看数据库文件位置(源库)
查看控制文件位置
[root@localhost /]# cat /dmdb8/dmdata/fuwa/dm.ini | grep CTL
CTL_PATH = /dmdb8/dmdata/fuwa/dm.ctl #ctl file path
CTL_BAK_PATH = /dmdb8/dmdata/fuwa/ctl_bak #dm.ctl backup path
CTL_BAK_NUM = 10 #backup number of dm.ctl, allowed to keep one more backup file besides specified number.
DSC_N_CTLS = 132096 #Number Of LBS/GBS ctls查看数据文件位置
--查询表空间与数据文件对应关系 数据文件 临时数据文件
SELECT ts.NAME, df.PATH FROM V$TABLESPACE AS ts, V$DATAFILE AS df WHERE ts.ID
= df.GROUP_ID order by 1;
LINEID NAME PATH
---------- ------ --------------------------------------
1 fuwa /dmdb8/dmdata/fuwa/fuwa01.dbf
2 fuwa /dmdb8/dmdata/fuwa/fuwa02024012602.dbf
3 fuwa /dmdb8/dmdata/fuwa/fuwa02024012601.dbf
4 MAIN /dmdb8/dmdata/fuwa/MAIN.DBF
5 ROLL /dmdb8/dmdata/fuwa/ROLL.DBF
6 SYSTEM /dmdb8/dmdata/fuwa/SYSTEM.DBF
7 TEMP /dmdb8/dmdata/fuwa/TEMP.DBF查看日志文件位置
SQL> select * from v$rlogfile;
LINEID GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- ----------------------------- ----------- -------------------------- -------------------- ------------ -----------
1 2 0 /dmdb8/dmdata/fuwa/fuwa01.log fuwa01.log 2023-10-16 15:14:39.000000 2147483648 V8.1.1.1 4
2 2 1 /dmdb8/dmdata/fuwa/fuwa02.log fuwa02.log 2023-10-16 15:14:39.000000 2147483648 V8.1.1.1 4查看数据库是否归档
SQL> select * from v$database;
LINEID NAME CREATE_TIME ARCH_MODE LAST_CKPT_TIME STATUS$ ROLE$ MAX_SIZE TOTAL_SIZE DSC_NODES OPEN_COUNT STARTUP_COUNT LAST_STARTUP_TIME
---------- ---- ------------------- --------- ------------------- ----------- ----------- -------------------- -------------------- ----------- ----------- -------------------- -------------------
1 fuwa 2023-10-16 15:14:39 N 2024-02-09 09:03:36 4 0 0 48960 1 9 9 2024-01-29 19:57:46
停止数据库(源库)
--停止数据库
cd /dmdb8/dmdbms/bin
./DmServicewwmh stop
--查看进程
[root@top175 bin]# ps -ef | grep dmserver
无输出,可确定已停止安装数据库软件(目标库)
目录服务器上安装数据库软件
安装目录:/dmdb8/dmdbms
规划新数据目录(目标库)
目录服务器上规划数据目录
su - root
mkdir -p /dmdata
chown -R dmdba:dinstall /dmdata具体步骤
传输源库数据库文件至目标库数据目录
--传输数据库文件至目标库数据目录下
cd /dmdata
scp -r /dmdb8/dmdata/fuwa/* dmdba@192.168.183.110:/dmdata/
--传输启库文件至目标库安装目录下
scp /dmdb8/dmdbms/bin/DmServicefuwa dmdba@192.168.183.110:/dmdb8/dmdbms/bin/更改dm.ini
--备份dm.ini
su - dmdba
cd /dmdata/
cp dm.ini dm.ini_bak_20240209
--更改数据目录
vi dm.ini
:%s#/dmdb8/dmdata/fuwa#/dmdata#g更改控制文件内容
使用 dmctlcvt 工具在 DM 服务器关闭的状态下对控制文件进行修改。使用 dmctlcvt 工具将控制文件转换为文本文件,编辑文本文件中要修改的文件的路径后再使用 dmctlcvt 工具将文本文件转换为控制文件即可
备份控制文件
cd /dmdata/
mv dm.ctl dm.ctl_bak_20240209转储控制文件为文本
dmctlcvt c2t /dmdb8/dmdata/fuwa/dm.ctl /home/dmdba/ctl.txt更改路径为目标服务器数据目录
vi /home/dmdba/ctl.txt
:%s#/dmdb8/dmdata/fuwa#/dmdata#g将文本文件转换为控制文件
dmctlcvt t2c /home/dmdba/ctl.txt /dmdata/dm.ctl更改启动命令
cd /dmdb8/dmdbms/bin
vi DmServicefuwa
--更改前
INI_PATH="/dmdb8/dmdata/fuwa/dm.ini"
--更改后
INI_PATH="/dmdata/dm.ini"启动数据库
cd /dmdb8/dmdbms/bin/
./DmServicefuwa start问题处理
启库失败数据文件不存在
--服务器重启后启库失败
[dmdba@top175 log]$ cd /dmdb8/dmdbms/log/
[dmdba@top175 log]$ tail -300f dm_WWMH_202402.log
2024-02-06 11:38:13.157 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/SYSTEM.DBF, code: 2
2024-02-06 11:38:13.157 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/SYSTEM.DBF, code: 2
2024-02-06 11:38:13.157 [INFO] database P0000019439 T0000000000000019465 Can not open database file: /dmdb8/dmdbms/data/wwmh/SYSTEM.DBF, it may be damaged.
2024-02-06 11:38:13.179 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/ROLL.DBF, code: 2
2024-02-06 11:38:13.179 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/ROLL.DBF, code: 2
2024-02-06 11:38:13.179 [INFO] database P0000019439 T0000000000000019465 Can not open database file: /dmdb8/dmdbms/data/wwmh/ROLL.DBF, it may be damaged.
2024-02-06 11:38:13.212 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/wwmh01.log, code: 2
2024-02-06 11:38:13.212 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/wwmh01.log, code: 2
2024-02-06 11:38:13.212 [INFO] database P0000019439 T0000000000000019465 Can not open database file: /dmdb8/dmdbms/data/wwmh/wwmh01.log, it may be damaged.
2024-02-06 11:38:13.212 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/wwmh02.log, code: 2
2024-02-06 11:38:13.212 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/wwmh02.log, code: 2
2024-02-06 11:38:13.212 [INFO] database P0000019439 T0000000000000019465 Can not open database file: /dmdb8/dmdbms/data/wwmh/wwmh02.log, it may be damaged.
2024-02-06 11:38:13.216 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/MAIN.DBF, code: 2
2024-02-06 11:38:13.216 [ERROR] database P0000019439 T0000000000000019465 os_file_open_low_real error! desc: No such file or directory, path: /dmdb8/dmdbms/data/wwmh/MAIN.DBF, code: 2
2024-02-06 11:38:13.216 [INFO] database P0000019439 T0000000000000019465 Can not open database file: /dmdb8/dmdbms/data/wwmh/MAIN.DBF, it may be damaged.
--解决办法
参考以上更改控制文件内容的步骤·「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




