命令行工具部署达梦数据库 DMDPC(BP 多副本架构)

打印 上一主题 下一主题

主题 1942|帖子 1942|积分 5826

解达梦数据库DPC集群的主要利用场景:

DMDPC 关注和解决的是大数据、计算与存储分离、高可用、支持全部的 SQL 标准、拥有完备的事务处置惩罚能力和集群规模可以大概动态伸缩的业务场景:

  • 大量的复杂查询操作要求优化器可以大概天生精良的执行计划,并且执行引擎可以大概充分利用多呆板、多核的硬件资源
  • 某些行业对数据同等性和多副本备份容灾有较高要求,同时希望维护本钱足够低和故障恢复时间足够短;
  • 用户的业务规模有峰值,要求所需的呆板资源可以大概灵活地添加和删除。
DPC架构:

一个完备的 DMDPC 架构由计划天生节点 SP、数据存储节点 BP 和元数据服务器节点 MP 三部分构成。


  • SP 对外提供分布式数据库服务,用户可以登录到恣意一个 SP 节点,得到完备的数据库服务,SP 节点不存储数据,配置成单机即可。
  • BP 负责存储数据,执行 SP 的调度指令并将执行结果返回给 SP。
  • MP 负责存储元数据并向 SP、BP 提供元数据服务。
    MP 和 BP 节点既可以配置成单机,也可以配置成多副本系统。此中每一个多副本系统中只有一个作为主节点,别的节点均作为备份节点。
1 集群规划

DMDPC 集群规划部署 1 个 SP,2 个 BP 和 1 个 MP。
MP 采用单机模式,BP 采用多副本模式,每个 BP 配置 2 个副本。
集群规划表示:

2 初始化数据库实例

根据集群规划,初始化 8 个实例,分别为 SP、MP 和 6 个 BP 角色。
初始化SP节点

  1. [root@192-168-145-130 ~]# mkdir -p /dmdata/dpc_data/sp1
  2. [root@192-168-145-130 ~]# chown -R dmdba:dinstall /dmdata/dpc_data/sp1
  3. [root@192-168-145-130 ~]# chmod -R 777 /dmdata/dpc_data/sp1
  4. [root@192-168-145-130 ~]#
  5. [dmdba@192-168-145-130 bin]$ ./dminit path=/dmdata/dpc_data/sp1 instance_name=SP1 port_num=5236 ap_port_num=6000 dpc_mode=SP
  6. initdb V8
  7. db version: 0x7000c
  8. file dm.key not found, use default license!
  9. License will expire on 2025-01-15
  10. write to dir [/dmdata/dpc_data/sp1/DAMENG].
  11. create dm database success. 2024-04-28 14:24:26
  12. [dmdba@10-8-148-8 bin]$
复制代码
初始化MP节点

  1. [root@192-168-145-130 ~]# mkdir -p /dmdata/dpc_data/mp
  2. [root@192-168-145-130 ~]# chown -R dmdba:dinstall /dmdata/dpc_data/mp
  3. [root@192-168-145-130 ~]# chmod -R 777 /dmdata/dpc_data/mp
  4. [root@192-168-145-130 ~]# su - dmdba
  5. 上一次登录: 日 4月 28 14:23:29 CST 2024 pts/0 上
  6. [dmdba@10-8-148-8 ~]$ cd /dm8/bin
  7. [dmdba@10-8-148-8 bin]$ ./dminit path=/dmdata/dpc_data/mp  instance_name=MP  port_num=5237 ap_port_num=7008 dpc_mode=MP
  8. initdb V8
  9. db version: 0x7000c
  10. file dm.key not found, use default license!
  11. License will expire on 2025-01-15
  12. Normal of FAST
  13. Normal of DEFAULT
  14. Normal of RECYCLE
  15. Normal of KEEP
  16. Normal of ROLL
  17. log file path: /dmdata/dpc_data/mp/DAMENG/DAMENG01.log
  18. log file path: /dmdata/dpc_data/mp/DAMENG/DAMENG02.log
  19. write to dir [/dmdata/dpc_data/mp/DAMENG].
  20. create dm database success. 2024-04-28 14:27:34
  21. [dmdba@192-168-145-130 bin]$
  22. [dmdba@192-168-145-130 bin]$ netstat -tunlp
  23. (Not all processes could be identified, non-owned process info
  24. will not be shown, you would have to be root to see it all.)
  25. Active Internet connections (only servers)
  26. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  27. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
  28. tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -
  29. tcp6       0      0 :::22                   :::*                    LISTEN      -
  30. tcp6       0      0 :::54360                :::*                    LISTEN      1561/dmwatcher
  31. tcp6       0      0 :::55360                :::*                    LISTEN      1568/dmserver
  32. tcp6       0      0 :::9090                 :::*                    LISTEN      -
  33. tcp6       0      0 :::52360                :::*                    LISTEN      1568/dmserver
  34. tcp6       0      0 :::4236                 :::*                    LISTEN      76037/dmap
  35. tcp6       0      0 :::9100                 :::*                    LISTEN      -
  36. tcp6       0      0 :::9103                 :::*                    LISTEN      -
  37. tcp6       0      0 :::111                  :::*                    LISTEN      -
  38. tcp6       0      0 :::53360                :::*                    LISTEN      1568/dmserver
  39. udp        0      0 0.0.0.0:68              0.0.0.0:*                           -
  40. udp        0      0 0.0.0.0:111             0.0.0.0:*                           -
  41. udp        0      0 127.0.0.1:323           0.0.0.0:*                           -
  42. udp6       0      0 :::111                  :::*                                -
  43. udp6       0      0 ::1:323                 :::*                                -
  44. udp6       0      0 :::53811                :::*                                -
  45. udp6       0      0 :::25826                :::*                                -
  46. [dmdba@192-168-145-130 bin]$
复制代码
初始化RAFT_1组中的BP实例

BP11:
  1. [root@192-168-145-131 ~]# mkdir -p /dmdata/dpc_data/bp11
  2. [root@192-168-145-131 ~]# chown -R dmdba:dinstall /dmdata/dpc_data/bp11
  3. [root@192-168-145-131 ~]# chmod -R 777 /dmdata/dpc_data/bp11
  4. [root@192-168-145-131 bin]# netstat -tunlp
  5. Active Internet connections (only servers)
  6. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  7. tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      859/rpcbind
  8. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1510/sshd: /usr/sbi
  9. tcp        0      0 0.0.0.0:30236           0.0.0.0:*               LISTEN      3023/docker-proxy
  10. tcp6       0      0 :::9090                 :::*                    LISTEN      1/systemd
  11. tcp6       0      0 :::15236                :::*                    LISTEN      1533/dmserver
  12. tcp6       0      0 :::9100                 :::*                    LISTEN      983/node_exporter
  13. tcp6       0      0 :::9103                 :::*                    LISTEN      1005/collectd_expor
  14. tcp6       0      0 :::111                  :::*                    LISTEN      859/rpcbind
  15. tcp6       0      0 :::5236                 :::*                    LISTEN      1534/dmserver
  16. tcp6       0      0 :::22                   :::*                    LISTEN      1510/sshd: /usr/sbi
  17. tcp6       0      0 :::30236                :::*                    LISTEN      3029/docker-proxy
  18. udp        0      0 0.0.0.0:68              0.0.0.0:*                           1210/dhclient
  19. udp        0      0 0.0.0.0:111             0.0.0.0:*                           859/rpcbind
  20. udp        0      0 127.0.0.1:323           0.0.0.0:*                           922/chronyd
  21. udp6       0      0 :::111                  :::*                                859/rpcbind
  22. udp6       0      0 ::1:323                 :::*                                922/chronyd
  23. udp6       0      0 :::25826                :::*                                1005/collectd_expor
  24. udp6       0      0 :::44794                :::*                                1007/collectd
  25. [dmdba@192-168-145-131 /]$ cd /dm8/bin
  26. [dmdba@192-168-145-131 bin]$ ./dminit path=/dmdata/dpc_data/bp11 instance_name=BP11 port_num=5238 ap_port_num=6002 dpc_mode=BP
  27. initdb V8
  28. db version: 0x7000c
  29. file dm.key not found, use default license!
  30. License will expire on 2024-12-26
  31. Normal of FAST
  32. Normal of DEFAULT
  33. Normal of RECYCLE
  34. Normal of KEEP
  35. Normal of ROLL
  36. log file path: /dmdata/dpc_data/bp11/DAMENG/DAMENG01.log
  37. log file path: /dmdata/dpc_data/bp11/DAMENG/DAMENG02.log
  38. write to dir [/dmdata/dpc_data/bp11/DAMENG].
  39. create dm database success. 2024-04-28 14:44:28
复制代码
BP12:
  1. [root@192-168-145-131 bin]$ mkdir -p /dmdata/dpc_data/bp12
  2. [root@192-168-145-131 bin]$ chown -R dmdba:dinstall /dmdata/dpc_data/bp12
  3. [root@192-168-145-131 bin]$ chmod -R 777 /dmdata/dpc_data/bp12
  4. [dmdba@192-168-145-131 bin]$ cd /dm8/bin
  5. [dmdba@192-168-145-131 bin]$ ./dminit path=/dmdata/dpc_data/bp12 instance_name=BP12 port_num=5239 ap_port_num=6003 dpc_mode=BP
  6. initdb V8
  7. db version: 0x7000c
  8. file dm.key not found, use default license!
  9. License will expire on 2024-12-26
  10. Normal of FAST
  11. Normal of DEFAULT
  12. Normal of RECYCLE
  13. Normal of KEEP
  14. Normal of ROLL
  15. log file path: /dmdata/dpc_data/bp12/DAMENG/DAMENG01.log
  16. log file path: /dmdata/dpc_data/bp12/DAMENG/DAMENG02.log
  17. write to dir [/dmdata/dpc_data/bp12/DAMENG].
  18. create dm database success. 2024-04-28 14:47:17
  19. [dmdba@192-168-145-131 bin]$
复制代码
BP13:
  1. [root@192-168-145-131 bin]$ mkdir -p /dmdata/dpc_data/bp13
  2. [root@192-168-145-131 bin]$ chown -R dmdba:dinstall /dmdata/dpc_data/bp13
  3. [root@192-168-145-131 bin]$ chmod -R 777 /dmdata/dpc_data/bp13
  4. [dmdba@192-168-145-131 bin]$ ./dminit path=/dmdata/dpc_data/bp13 instance_name=BP13 port_num=5240 ap_port_num=6004 dpc_mode=BP
  5. initdb V8
  6. db version: 0x7000c
  7. file dm.key not found, use default license!
  8. License will expire on 2024-12-26
  9. Normal of FAST
  10. Normal of DEFAULT
  11. Normal of RECYCLE
  12. Normal of KEEP
  13. Normal of ROLL
  14. log file path: /dmdata/dpc_data/bp13/DAMENG/DAMENG01.log
  15. log file path: /dmdata/dpc_data/bp13/DAMENG/DAMENG02.log
  16. write to dir [/dmdata/dpc_data/bp13/DAMENG].
  17. create dm database success. 2024-04-28 14:49:26
  18. [dmdba@10-8-148-6 bin]$
复制代码
初始化RAFT_2组中的BP实例

BP21:
  1. [root@dw01:~]$ netstat -tunlp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  4. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1366/sshd: /usr/sbi
  5. tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      847/rpcbind
  6. tcp6       0      0 :::22                   :::*                    LISTEN      1366/sshd: /usr/sbi
  7. tcp6       0      0 :::9090                 :::*                    LISTEN      1/systemd
  8. tcp6       0      0 :::4236                 :::*                    LISTEN      462004/dmap
  9. tcp6       0      0 :::9100                 :::*                    LISTEN      961/node_exporter
  10. tcp6       0      0 :::9103                 :::*                    LISTEN      974/collectd_export
  11. tcp6       0      0 :::111                  :::*                    LISTEN      847/rpcbind
  12. udp        0      0 0.0.0.0:68              0.0.0.0:*                           1283/dhclient
  13. udp        0      0 0.0.0.0:111             0.0.0.0:*                           847/rpcbind
  14. udp        0      0 127.0.0.1:323           0.0.0.0:*                           917/chronyd
  15. udp6       0      0 :::52604                :::*                                977/collectd
  16. udp6       0      0 :::111                  :::*                                847/rpcbind
  17. udp6       0      0 ::1:323                 :::*                                917/chronyd
  18. udp6       0      0 :::25826                :::*                                974/collectd_export
  19. [root@dw01:~]$ mkdir -p /dmdata/dpc_data/bp21
  20. [root@dw01:~]$ chown -R dmdba:dinstall /dmdata/dpc_data/bp21
  21. [root@dw01:~]$ chmod -R 777 /dmdata/dpc_data/bp21
  22. [root@dw01:~]$
  23. [dmdba@dw01:~]$ cd /dm8_20240322/bin/
  24. [dmdba@dw01:/dm8_20240322/bin]$ ./dminit path=/dmdata/dpc_data/bp21 instance_name=BP21 port_num=5241 ap_port_num=6005 dpc_mode=BP
  25. initdb V8
  26. db version: 0x7000c
  27. file dm.key not found, use default license!
  28. License will expire on 2025-03-21
  29. Normal of FAST
  30. Normal of DEFAULT
  31. Normal of RECYCLE
  32. Normal of KEEP
  33. Normal of ROLL
  34. log file path: /dmdata/dpc_data/bp21/DAMENG/DAMENG01.log
  35. log file path: /dmdata/dpc_data/bp21/DAMENG/DAMENG02.log
  36. write to dir [/dmdata/dpc_data/bp21/DAMENG].
  37. create dm database success. 2024-04-28 14:56:41
  38. [dmdba@dw01:/dm8_20240322/bin]$
复制代码
BP22:
  1. [root@dw01:~]$ mkdir -p /dmdata/dpc_data/bp22
  2. [root@dw01:~]$ chown -R dmdba:dinstall /dmdata/dpc_data/bp22
  3. [root@dw01:~]$ chmod -R 777 /dmdata/dpc_data/bp22
  4. [dmdba@dw01:~]$ cd /dm8_20240322/bin/
  5. [dmdba@dw01:/dm8_20240322/bin]$ ./dminit path=/dmdata/dpc_data/bp22 instance_name=BP22 port_num=5242 ap_port_num=6006 dpc_mode=BP
  6. initdb V8
  7. db version: 0x7000c
  8. file dm.key not found, use default license!
  9. License will expire on 2025-03-21
  10. Normal of FAST
  11. Normal of DEFAULT
  12. Normal of RECYCLE
  13. Normal of KEEP
  14. Normal of ROLL
  15. log file path: /dmdata/dpc_data/bp22/DAMENG/DAMENG01.log
  16. log file path: /dmdata/dpc_data/bp22/DAMENG/DAMENG02.log
  17. write to dir [/dmdata/dpc_data/bp22/DAMENG].
  18. create dm database success. 2024-04-28 14:59:08
复制代码
BP23:
  1. [root@dw01:~]$ mkdir -p /dmdata/dpc_data/bp23
  2. [root@dw01:~]$ chown -R dmdba:dinstall /dmdata/dpc_data/bp23
  3. [root@dw01:~]$ chmod -R 777 /dmdata/dpc_data/bp23
  4. [root@dw01:~]$ su - dmdba
  5. [dmdba@dw01:~]$ cd /dm8_20240322/bin/
  6. [dmdba@dw01:/dm8_20240322/bin]$ ./dminit path=/dmdata/dpc_data/bp23 instance_name=BP23 port_num=5243 ap_port_num=6007 dpc_mode=BP
  7. initdb V8
  8. db version: 0x7000c
  9. file dm.key not found, use default license!
  10. License will expire on 2025-03-21
  11. Normal of FAST
  12. Normal of DEFAULT
  13. Normal of RECYCLE
  14. Normal of KEEP
  15. Normal of ROLL
  16. log file path: /dmdata/dpc_data/bp23/DAMENG/DAMENG01.log
  17. log file path: /dmdata/dpc_data/bp23/DAMENG/DAMENG02.log
  18. write to dir [/dmdata/dpc_data/bp23/DAMENG].
  19. create dm database success. 2024-04-28 15:00:24
  20. [dmdba@dw01:/dm8_20240322/bin]$
复制代码
3 为 SP、BP 和 MP 配置 MP.INI 文件

为 SP、BP 和 MP 实例配置 MP.INI 文件。
MP.INI 文件内容如下:
  1. [dmdba@10-8-148-8 bin]$ cd /dmdata/dpc_data/mp/DAMENG/
  2. [dmdba@10-8-148-8 DAMENG]$ vi mp.ini
  3. [dmdba@10-8-148-8 DAMENG]$ cat mp.ini
  4. mp_host = 10.8.148.8
  5. mp_port =8000   #与MP、BP和SP上的ap_port_num不冲突的端口号
  6. [dmdba@10-8-148-8 DAMENG]$
复制代码
将 MP.INI 文件内容分别写入 SP(SP1)、两个 RAFT 组内的全部 BP(BP11、BP12、BP13、BP21、BP22、BP23)和 MP 中。
4 启动 MP

注意相关端口是否被占用,涉及相关的服务器,防火墙是否关闭大概是否将相关端口参加到白名单。
如果端口没被占用,持续报端口的错误,
ps -ef|grep dmdba
kill掉相关的进程,再重新启动
  1. [dmdba@10-8-148-8 bin]$ ./dmserver /dmdata/dpc_data/mp/DAMENG/dm.ini dpc_mode=MP
  2. file dm.key not found, use default license!
  3. version info: develop
  4. DM Database Server 64 V8 03134284132-20240115-215128-20081 startup...
  5. Normal of FAST
  6. Normal of DEFAULT
  7. Normal of RECYCLE
  8. Normal of KEEP
  9. Normal of ROLL
  10. Database mode = 0, oguid = 0
  11. License will expire on 2025-01-15
  12. begin redo pwr log collect, last ckpt lsn: 3 ...
  13. redo pwr log collect finished
  14. main rfil[/dmdata/dpc_data/mp/DAMENG/DAMENG01.log]'s grp collect 0 valid pwr record, discard 1 invalid pwr record
  15. EP[0]'s cur_lsn[43482], file_lsn[43482]
  16. begin redo log recover, last ckpt lsn: 3 ...
  17. redo log recover finished
  18. ndct db load finished, code:0
  19. [EDCT]edct_sys_mp_set_last_modify_tick force (4294967295->1857152437) in [edct_tables_load]
  20. pseg_set_gtv_trxid_low next_trxid in mem:[14014]
  21. pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
  22. next_trxid in mem:[16016]
  23. next_trxid = 18018.
  24. pseg recv finished
  25. nsvr_startup end.
  26. uthr_pipe_create, create pipe[read:14, write:15]
  27. uthr_pipe_create, create pipe[read:16, write:17]
  28. uthr_pipe_create, create pipe[read:18, write:19]
  29. uthr_pipe_create, create pipe[read:20, write:21]
  30. uthr_pipe_create, create pipe[read:22, write:23]
  31. uthr_pipe_create, create pipe[read:24, write:25]
  32. uthr_pipe_create, create pipe[read:26, write:27]
  33. uthr_pipe_create, create pipe[read:28, write:29]
  34. uthr_pipe_create, create pipe[read:30, write:31]
  35. uthr_pipe_create, create pipe[read:32, write:33]
  36. uthr_pipe_create, create pipe[read:34, write:35]
  37. uthr_pipe_create, create pipe[read:36, write:37]
  38. uthr_pipe_create, create pipe[read:38, write:39]
  39. uthr_pipe_create, create pipe[read:40, write:41]
  40. uthr_pipe_create, create pipe[read:42, write:43]
  41. uthr_pipe_create, create pipe[read:44, write:45]
  42. aud sys init success.
  43. aud rt sys init success.
  44. systables desc init success.
  45. ndct_db_load_info finished, code:0.
  46. nsvr_process_before_open begin.
  47. nsvr_process_before_open success.
  48. comm_create_lsnr_sockets_low failed to create socket or listen port:6008, errno:107.
  49. [dmdba@10-8-148-8 bin]$ netstat -tunlp
  50. (Not all processes could be identified, non-owned process info
  51. will not be shown, you would have to be root to see it all.)
  52. Active Internet connections (only servers)
  53. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  54. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
  55. tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -
  56. tcp6       0      0 :::22                   :::*                    LISTEN      -
  57. tcp6       0      0 :::54360                :::*                    LISTEN      1561/dmwatcher
  58. tcp6       0      0 :::55360                :::*                    LISTEN      1568/dmserver
  59. tcp6       0      0 :::9090                 :::*                    LISTEN      -
  60. tcp6       0      0 :::52360                :::*                    LISTEN      1568/dmserver
  61. tcp6       0      0 :::4236                 :::*                    LISTEN      76037/dmap
  62. tcp6       0      0 :::9100                 :::*                    LISTEN      -
  63. tcp6       0      0 :::9103                 :::*                    LISTEN      -
  64. tcp6       0      0 :::111                  :::*                    LISTEN      -
  65. tcp6       0      0 :::53360                :::*                    LISTEN      1568/dmserver
  66. udp        0      0 0.0.0.0:68              0.0.0.0:*                           -
  67. udp        0      0 0.0.0.0:111             0.0.0.0:*                           -
  68. udp        0      0 127.0.0.1:323           0.0.0.0:*                           -
  69. udp6       0      0 :::111                  :::*                                -
  70. udp6       0      0 ::1:323                 :::*                                -
  71. udp6       0      0 :::53811                :::*                                -
  72. udp6       0      0 :::25826                :::*                                -
  73. [dmdba@10-8-148-8 bin]$ netstat -tuln | grep 8000
  74. [dmdba@10-8-148-8 bin]$ comm_create_lsnr_sockets_low failed to create socket or listen port:8000, errno:107.^C
  75. [dmdba@10-8-148-8 bin]$ ps -ef|grep dmdba
  76. dmdba       1561       1  0 2月18 ?       00:36:27 /data/dm8_rww/bin/dmwatcher path=/data/dm8_rww/data/DAMENG/dmwatcher.ini -noconsole
  77. dmdba       1568       1  0 2月18 ?       01:33:05 /data/dm8_rww/bin/dmserver path=/data/dm8_rww/data/DAMENG/dm.ini -noconsole mount
  78. dmdba      64104       1  0 3月06 ?       00:00:01 /usr/lib/systemd/systemd --user
  79. dmdba      64105   64104  0 3月06 ?       00:00:00 (sd-pam)
  80. dmdba      76037       1  0 3月06 ?       00:03:17 /dm8/bin/dmap
  81. root      211133  211077  0 14:20 pts/0    00:00:00 su - dmdba
  82. dmdba     211134  211133  0 14:20 pts/0    00:00:00 -bash
  83. dmdba     211420  211134  0 14:37 pts/0    00:00:00 ps -ef
  84. dmdba     211421  211134  0 14:37 pts/0    00:00:00 grep dmdba
  85. [dmdba@10-8-148-8 bin]$  ps -ef|grep dmdba
  86. root      211133  211077  0 14:20 pts/0    00:00:00 su - dmdba
  87. dmdba     211134  211133  0 14:20 pts/0    00:00:00 -bash
  88. dmdba     211454  211134  0 14:39 pts/0    00:00:00 ps -ef
  89. dmdba     211455  211134  0 14:39 pts/0    00:00:00 grep dmdba
  90. [dmdba@10-8-148-8 bin]$ cd /dm8/bin
  91. [dmdba@localhost bin]$ ./dmserver /dmdata/dpc_data/mp/DAMENG/dm.ini dpc_mode=MP
  92. file dm.key not found, use default license!
  93. version info: develop
  94. DM Database Server 64 V8 03134284132-20231226-213242-20081 startup...
  95. Normal of FAST
  96. Normal of DEFAULT
  97. Normal of RECYCLE
  98. Normal of KEEP
  99. Normal of ROLL
  100. Database mode = 0, oguid = 0
  101. License will expire on 2024-12-26
  102. begin redo pwr log collect, last ckpt lsn: 3 ...
  103. redo pwr log collect finished
  104. main rfil[/dmdata/dpc_data/mp/DAMENG/DAMENG01.log]'s grp collect 0 valid pwr record, discard 3 invalid pwr record
  105. EP[0]'s cur_lsn[43858], file_lsn[43858]
  106. begin redo log recover, last ckpt lsn: 3 ...
  107. redo log recover finished
  108. ndct db load finished, code:0
  109. [EDCT]edct_sys_mp_set_last_modify_tick force (4294967295->3750878) in [edct_tables_load]
  110. pseg_set_gtv_trxid_low next_trxid in mem:[26026]
  111. pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
  112. next_trxid in mem:[28028]
  113. next_trxid = 30030.
  114. pseg recv finished
  115. nsvr_startup end.
  116. uthr_pipe_create, create pipe[read:12, write:13]
  117. uthr_pipe_create, create pipe[read:14, write:15]
  118. uthr_pipe_create, create pipe[read:16, write:17]
  119. uthr_pipe_create, create pipe[read:18, write:19]
  120. uthr_pipe_create, create pipe[read:20, write:21]
  121. uthr_pipe_create, create pipe[read:22, write:23]
  122. uthr_pipe_create, create pipe[read:24, write:25]
  123. uthr_pipe_create, create pipe[read:26, write:27]
  124. uthr_pipe_create, create pipe[read:28, write:29]
  125. uthr_pipe_create, create pipe[read:30, write:31]
  126. uthr_pipe_create, create pipe[read:32, write:33]
  127. uthr_pipe_create, create pipe[read:34, write:35]
  128. uthr_pipe_create, create pipe[read:36, write:37]
  129. uthr_pipe_create, create pipe[read:38, write:39]
  130. uthr_pipe_create, create pipe[read:40, write:41]
  131. uthr_pipe_create, create pipe[read:42, write:43]
  132. aud sys init success.
  133. aud rt sys init success.
  134. systables desc init success.
  135. ndct_db_load_info finished, code:0.
  136. nsvr_process_before_open begin.
  137. nsvr_process_before_open success.
  138. SYSTEM IS READY.
  139. Enable xa trx service after collect trx from all bp compilied!
  140. Enable min_tid service after confirm trx from all bp compilied!
复制代码
5 将 MP、SP 和 BP 参加集群

增加 1 个 MP、1 个 SP 和 6 个 BP 节点。只有在注册当前登录 MP 节点后,才可以注册别的节点。后续增加 MP、SP 节点和 BP 节点无先后之分。
  1. //搭建DMDPC过程中加入MP、SP和BP,必须登录MP进行操作
  2. [dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA@LOCALHOST:5237
  3. 服务器[LOCALHOST:5237]:处于普通打开状态
  4. 登录使用时间 : 62.989(ms)
  5. disql V8
  6. SQL>
  7. //增加MP节点
  8. //注册当前MP实例,MP的RAFT组名可以指定为'MP_RAFT'
  9. SP_CREATE_DPC_INSTANCE(NULL,'MP','MP',7008,5237, '192.168.145.130', '192.168.145.130','NORMAL',1,'MP instance');
  10. //增加BP节点
  11. //注册RAFT组,名为RAFT_1
  12. SQL> SP_CREATE_DPC_RAFT('BP', 'RAFT_1');
  13. DMSQL 过程已成功完成
  14. 已用时间: 9.292(毫秒). 执行号:502.
  15. //在RAFT_1组内注册BP实例BP11、BP12、BP13
  16. //所有实例均以STANDBY模式、INVALID状态注册进MP,实例启动后,在RAFT组内选举出有效主库后,会自动更新MP中的模式、状态信息。
  17. SQL> SP_CREATE_DPC_INSTANCE('RAFT_1', 'BP11', 'BP', 6002, 5238, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  18. DMSQL 过程已成功完成
  19. 已用时间: 2.339(毫秒). 执行号:503.
  20. SQL> SP_CREATE_DPC_INSTANCE('RAFT_1', 'BP12', 'BP', 6003, 5239, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  21. DMSQL 过程已成功完成
  22. 已用时间: 1.801(毫秒). 执行号:504.
  23. SQL> SP_CREATE_DPC_INSTANCE('RAFT_1', 'BP13', 'BP', 6004, 5240, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  24. DMSQL 过程已成功完成
  25. 已用时间: 2.159(毫秒). 执行号:505.
  26. SQL>
  27. //注册RAFT组,名为RAFT_2
  28. SQL> SP_CREATE_DPC_RAFT('BP', 'RAFT_2');
  29. //在RAFT_2内注册BP实例BP21、BP22、BP23
  30. SQL> SP_CREATE_DPC_INSTANCE('RAFT_2', 'BP21', 'BP', 6005, 5241, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  31. DMSQL 过程已成功完成
  32. 已用时间: 1.827(毫秒). 执行号:508.
  33. SQL> SP_CREATE_DPC_INSTANCE('RAFT_2', 'BP22', 'BP', 6006, 5242, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  34. DMSQL 过程已成功完成
  35. 已用时间: 1.960(毫秒). 执行号:509.
  36. SQL> SP_CREATE_DPC_INSTANCE('RAFT_2', 'BP23', 'BP', 6007, 5243, '192.168.145.131', '192.168.145.131','STANDBY', 0, 'BP instance');
  37. DMSQL 过程已成功完成
  38. 已用时间: 2.212(毫秒). 执行号:510.
  39. SQL>
  40. //注册一个BP组,名为BG_1
  41. SQL> SP_CREATE_DPC_BP_GROUP('BG_1', 'bp group1');
  42. DMSQL 过程已成功完成
  43. 已用时间: 9.339(毫秒). 执行号:511.
  44. //在BP组内添加RAFT组
  45. SQL> SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_1');
  46. DMSQL 过程已成功完成
  47. 已用时间: 32.191(毫秒). 执行号:512.
  48. SQL> SP_BP_GROUP_ADD_RAFT('BG_1', 'RAFT_2');
  49. DMSQL 过程已成功完成
  50. 已用时间: 2.059(毫秒). 执行号:513.
  51. SQL>
  52. //增加SP节点
  53. //增加SP,也要注册RAFT组,参数1为空串
  54. SQL> SP_CREATE_DPC_RAFT('SP', 'RAFT_SP1');
  55. DMSQL 过程已成功完成
  56. 已用时间: 2.347(毫秒). 执行号:514.
  57. //在RAFT_SP1内注册SP实例SP1
  58. SQL> SP_CREATE_DPC_INSTANCE('RAFT_SP1', 'SP1', 'SP', 6000, 5236, '192.168.145.130', '192.168.145.130','NORMAL', 2, 'SP instance');
  59. DMSQL 过程已成功完成
  60. 已用时间: 1.913(毫秒). 执行号:515.
  61. //注册三个容错域:FDOM_1 FDOM_2 FDOM_3
  62. SQL> SP_CREATE_FAULT_DOMAIN ('FDOM_1', 'shanghai_1');
  63. DMSQL 过程已成功完成
  64. 已用时间: 2.827(毫秒). 执行号:516.
  65. SQL> SP_CREATE_FAULT_DOMAIN ('FDOM_2', 'shanghai_2');
  66. DMSQL 过程已成功完成
  67. 已用时间: 1.865(毫秒). 执行号:517.
  68. SQL> SP_CREATE_FAULT_DOMAIN ('FDOM_3', 'shanghai_3');
  69. DMSQL 过程已成功完成
  70. 已用时间: 1.727(毫秒). 执行号:518.
  71. SQL>
  72. //往容错域中添加实例
  73. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'MP');
  74. DMSQL 过程已成功完成
  75. 已用时间: 31.256(毫秒). 执行号:519.
  76. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'BP11');
  77. DMSQL 过程已成功完成
  78. 已用时间: 2.147(毫秒). 执行号:520.
  79. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_1', 'BP21');
  80. DMSQL 过程已成功完成
  81. 已用时间: 1.909(毫秒). 执行号:521.
  82. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_2', 'BP12');
  83. DMSQL 过程已成功完成
  84. 已用时间: 1.979(毫秒). 执行号:522.
  85. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_2', 'BP22');
  86. DMSQL 过程已成功完成
  87. 已用时间: 2.068(毫秒). 执行号:523.
  88. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_3', 'BP13');
  89. DMSQL 过程已成功完成
  90. 已用时间: 1.939(毫秒). 执行号:524.
  91. SQL> SP_FAULT_DOMAIN_MV_INST('FDOM_3', 'BP23');
  92. DMSQL 过程已成功完成
  93. 已用时间: 2.772(毫秒). 执行号:525.
复制代码
6 查抄注册是否成功

查询系统表,查抄上一步骤的注册是否成功。能查到相关信息表现注册成功。
  1. SQL> select * from DPC_BP_GROUP;
  2. 行号     ID          NAME DESCRIPTION RAFT_NUM    RAFT_INFO  INFO1      
  3. ---------- ----------- ---- ----------- ----------- ---------- -----------
  4.            INFO2                INFO3     
  5.            -------------------- ----------
  6. 1          0           BG_1 bp group1   2           0x01000200 0
  7.            NULL                 NULL
  8. 已用时间: 5.657(毫秒). 执行号:526.
  9. SQL> select * from DPC_BP_RAFT;
  10. 行号     RAFT_ID     GROUP_ID    DPC_MODE NAME     IS_VALID    INFO1      
  11. ---------- ----------- ----------- -------- -------- ----------- -----------
  12.            INFO2                INFO3     
  13.            -------------------- ----------
  14. 1          0           -1          MP       MP_RAFT  1           NULL
  15.            NULL                 NULL
  16. 2          1           -1          BP       RAFT_1   1           NULL
  17.            NULL                 NULL
  18. 3          2           -1          BP       RAFT_2   1           NULL
  19.            NULL                 NULL
  20. 行号     RAFT_ID     GROUP_ID    DPC_MODE NAME     IS_VALID    INFO1      
  21. ---------- ----------- ----------- -------- -------- ----------- -----------
  22.            INFO2                INFO3     
  23.            -------------------- ----------
  24. 4          3           -1          SP       RAFT_SP1 1           NULL
  25.            NULL                 NULL
  26. 已用时间: 1.058(毫秒). 执行号:527.
  27. SQL> select * from DPC_INSTANCE;
  28. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  29. ---------- ----------- ----------- ---- -------- ----------- -----------
  30.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  31.            --------------- -------- ----------- ----------- -----------
  32.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  33.            --------------- ----------- -------------------- ----------
  34. 1          0           4096        MP   MP       7008        5237
  35.            192.168.145.130 NORMAL   4           1           MP instance
  36.            192.168.145.130 65536       NULL                 NULL
  37. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  38. ---------- ----------- ----------- ---- -------- ----------- -----------
  39.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  40.            --------------- -------- ----------- ----------- -----------
  41.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  42.            --------------- ----------- -------------------- ----------
  43. 2          1           4097        BP11 BP       6002        5238
  44.            192.168.145.131 STANDBY  6           0           BP instance
  45.            192.168.145.131 65536       NULL                 NULL
  46. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  47. ---------- ----------- ----------- ---- -------- ----------- -----------
  48.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  49.            --------------- -------- ----------- ----------- -----------
  50.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  51.            --------------- ----------- -------------------- ----------
  52. 3          1           4098        BP12 BP       6003        5239
  53.            192.168.145.131 STANDBY  6           0           BP instance
  54.            192.168.145.131 131072      NULL                 NULL
  55. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  56. ---------- ----------- ----------- ---- -------- ----------- -----------
  57.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  58.            --------------- -------- ----------- ----------- -----------
  59.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  60.            --------------- ----------- -------------------- ----------
  61. 4          1           4099        BP13 BP       6004        5240
  62.            192.168.145.131 STANDBY  6           0           BP instance
  63.            192.168.145.131 196608      NULL                 NULL
  64. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  65. ---------- ----------- ----------- ---- -------- ----------- -----------
  66.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  67.            --------------- -------- ----------- ----------- -----------
  68.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  69.            --------------- ----------- -------------------- ----------
  70. 5          2           4100        BP21 BP       6005        5241
  71.            192.168.145.131 STANDBY  6           0           BP instance
  72.            192.168.145.131 65536       NULL                 NULL
  73. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  74. ---------- ----------- ----------- ---- -------- ----------- -----------
  75.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  76.            --------------- -------- ----------- ----------- -----------
  77.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  78.            --------------- ----------- -------------------- ----------
  79. 6          2           4101        BP22 BP       6006        5242
  80.            192.168.145.131 STANDBY  6           0           BP instance
  81.            192.168.145.131 131072      NULL                 NULL
  82. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  83. ---------- ----------- ----------- ---- -------- ----------- -----------
  84.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  85.            --------------- -------- ----------- ----------- -----------
  86.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  87.            --------------- ----------- -------------------- ----------
  88. 7          2           4102        BP23 BP       6007        5243
  89.            192.168.145.131 STANDBY  6           0           BP instance
  90.            192.168.145.131 196608      NULL                 NULL
  91. 行号     RAFT_ID     INST_ID     NAME DPC_MODE XMAL_PORT   INST_PORT  
  92. ---------- ----------- ----------- ---- -------- ----------- -----------
  93.            IP_INTERNAL     SYS_MODE SYS_STATUS  STATUS      DESCRIPTION
  94.            --------------- -------- ----------- ----------- -----------
  95.            IP_EXTERNAL     INFO1       INFO2                INFO3     
  96.            --------------- ----------- -------------------- ----------
  97. 8          3           4103        SP1  SP       6000        5236
  98.            192.168.145.130 NORMAL   6           2           SP instance
  99.            192.168.145.130 NULL        NULL                 NULL
  100. 8 rows got
  101. 已用时间: 1.002(毫秒). 执行号:528.
  102. SQL>
复制代码
7 配置 BP11

1: 配置 BP11 的 dm.ini
  1. ARCH_INI = 1   #打开归档配置
复制代码
2: 配置 BP11 的本地归档 dmarch.ini。此处先只配本地归档,制止提前发起 RAFT 选举
  1. [ARCHIVE_LOCAL1]
  2. ARCH_TYPE = LOCAL #本地归档类型
  3. ARCH_DEST =/dmdata/dpc_data/bp11/DAMENG/arch  #本地归档文件路径
  4. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  5. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
3:正常启动 BP11 到 Open 状态
  1. [dmdba@localhost bin]$ ./dmserver /dmdata/dpc_data/bp11/DAMENG/dm.ini dpc_mode=bp
  2. file dm.key not found, use default license!
  3. version info: develop
  4. enet begin to find valid MP....
  5. enet check MP success! MP[](cfg:192.168.145.130:8000, inst_id:4096, xmal_port:7008, rraft_stat:1, l_term_id:0) SELF(raft_id:1, inst_id:4097)
  6. enet fix valid MP SUCCESS! MP[](cfg:192.168.145.130:8000, inst_id:4096, xmal_port:7008, rraft_stat:1, l_term_id:0) SELF(raft_id:1, inst_id:4097)
  7. enet select raft valid inst. raft:0, inst:4096, ps_flag:1, xsite:(nil), l_term_id:0.
  8. enet set new xsite[0x7f411a4ce800] from raft:0 inst:4096 valid_flag:1
  9. enet_check_mp_ini complete. elnk:[0x7f411a4ce800] to site[4096] code:0
  10. [EDCT]edct_sys_bsp_set_last_modify_tick (4294967295->29822804). current dpc_dct_refresh_policy:1
  11. edct_collect_raft_primary_info get self_stat:0.curr_sys_status:0, curr_sys_mode:0, raft_cnt:0, raft_stat:1,inst_sys_status:6, inst_sys_mode:2, inst_status:0, is_to_mount:0.
  12. DM Database Server 64 V8 03134284132-20240115-215128-20081 startup...
  13. Normal of FAST
  14. Normal of DEFAULT
  15. Normal of RECYCLE
  16. Normal of KEEP
  17. Normal of ROLL
  18. Database mode = 0, oguid = 0
  19. License will expire on 2025-01-15
  20. file lsn: 0
  21. ckpt2_exec_immediately begin.
  22. checkpoint begin, used_space[0], free_space[536862720]...
  23. checkpoint begin, used_space[0], free_space[536862720]...
  24. pseg_set_gtv_trxid_low next_trxid in mem:[36066]
  25. pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
  26. next_trxid in mem:[36066]
  27. next_trxid = 38068.
  28. pseg recv finished
  29. nsvr_startup end.
  30. uthr_pipe_create, create pipe[read:43, write:44]
  31. uthr_pipe_create, create pipe[read:45, write:46]
  32. uthr_pipe_create, create pipe[read:47, write:48]
  33. uthr_pipe_create, create pipe[read:49, write:50]
  34. uthr_pipe_create, create pipe[read:51, write:52]
  35. uthr_pipe_create, create pipe[read:53, write:54]
  36. uthr_pipe_create, create pipe[read:55, write:56]
  37. uthr_pipe_create, create pipe[read:57, write:58]
  38. uthr_pipe_create, create pipe[read:59, write:60]
  39. uthr_pipe_create, create pipe[read:61, write:62]
  40. uthr_pipe_create, create pipe[read:63, write:64]
  41. uthr_pipe_create, create pipe[read:65, write:66]
  42. uthr_pipe_create, create pipe[read:67, write:68]
  43. uthr_pipe_create, create pipe[read:69, write:70]
  44. uthr_pipe_create, create pipe[read:71, write:72]
  45. uthr_pipe_create, create pipe[read:73, write:74]
  46. aud sys init success.
  47. aud rt sys init success.
  48. nsvr_process_before_open begin.
  49. nsvr_process_before_open success.
  50. SYSTEM IS READY.
复制代码
8 准备 RAFT_1 组内数据

1 退出 BP11 并进行脱机备份

起首,退出 BP11。
其次,对 BP11 进行脱机备份。
  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/dpc_data/bp11/DAMENG/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. BACKUP DATABASE '/dmdata/dpc_data/bp11/DAMENG/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Database mode = 0, oguid = 0
  6. Normal of FAST
  7. Normal of DEFAULT
  8. Normal of RECYCLE
  9. Normal of KEEP
  10. Normal of ROLL
  11. EP[0]'s cur_lsn[4510], file_lsn[4510]
  12. Processing backupset /dmdata/dpc_data/bp11/BACKUP_01
  13. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  14. backup successfully!
  15. time used: 00:00:03.915
复制代码
2 将 BP11 的备份文件脱机还原到 BP12

  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/dpc_data/bp12/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. RESTORE DATABASE '/dmdata/dpc_data/bp12/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Normal of FAST
  6. Normal of DEFAULT
  7. Normal of RECYCLE
  8. Normal of KEEP
  9. Normal of ROLL
  10. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  11. restore successfully.
  12. time used: 00:00:02.472
  13. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dpc_data/bp12/DAMENG/dm.ini' UPDATE DB_MAGIC" USE_AP=2
  14. dmrman V8
  15. RECOVER DATABASE '/dmdata/dpc_data/bp12/DAMENG/dm.ini' UPDATE DB_MAGIC
  16. file dm.key not found, use default license!
  17. Database mode = 2, oguid = 0
  18. Normal of FAST
  19. Normal of DEFAULT
  20. Normal of RECYCLE
  21. Normal of KEEP
  22. Normal of ROLL
  23. EP[0]'s cur_lsn[4510], file_lsn[4510]
  24. recover successfully!
  25. time used: 00:00:01.321
  26. [dmdba@localhost bin]$
复制代码
3 BP11 的备份文件脱机还原到 BP13

  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/dpc_data/bp13/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. RESTORE DATABASE '/dmdata/dpc_data/bp13/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp11/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Normal of FAST
  6. Normal of DEFAULT
  7. Normal of RECYCLE
  8. Normal of KEEP
  9. Normal of ROLL
  10. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  11. restore successfully.
  12. time used: 00:00:02.503
  13. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dpc_data/bp13/DAMENG/dm.ini' UPDATE DB_MAGIC" USE_AP=2
  14. dmrman V8
  15. RECOVER DATABASE '/dmdata/dpc_data/bp13/DAMENG/dm.ini' UPDATE DB_MAGIC
  16. file dm.key not found, use default license!
  17. Database mode = 2, oguid = 0
  18. Normal of FAST
  19. Normal of DEFAULT
  20. Normal of RECYCLE
  21. Normal of KEEP
  22. Normal of ROLL
  23. EP[0]'s cur_lsn[4510], file_lsn[4510]
  24. recover successfully!
  25. time used: 00:00:01.095
  26. [dmdba@localhost bin]$
复制代码
9 配置 BP21

1: 配置 BP21 的 dm.ini
  1. ARCH_INI = 1   #打开归档配置
复制代码
2: 配置 BP21 的本地归档 dmarch.ini。此处先只配本地归档,制止提前发起 RAFT 选举
  1. [ARCHIVE_LOCAL1]
  2. ARCH_TYPE = LOCAL #本地归档类型
  3. ARCH_DEST =/dmdata/dpc_data/bp21/DAMENG/arch  #本地归档文件路径
  4. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  5. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
3:正常启动 BP21 到 Open 状态
  1. [dmdba@localhost bin]$ ./dmserver /dmdata/dpc_data/bp21/DAMENG/dm.ini  dpc_mode=bp
  2. file dm.key not found, use default license!
  3. version info: develop
  4. enet begin to find valid MP....
  5. enet check MP success! MP[](cfg:192.168.145.130:8000, inst_id:4096, xmal_port:7008, rraft_stat:1, l_term_id:0) SELF(raft_id:2, inst_id:4100)
  6. enet fix valid MP SUCCESS! MP[](cfg:192.168.145.130:8000, inst_id:4096, xmal_port:7008, rraft_stat:1, l_term_id:0) SELF(raft_id:2, inst_id:4100)
  7. enet select raft valid inst. raft:0, inst:4096, ps_flag:1, xsite:(nil), l_term_id:0.
  8. enet set new xsite[0x7ff1a3e00800] from raft:0 inst:4096 valid_flag:1
  9. enet_check_mp_ini complete. elnk:[0x7ff1a3e00800] to site[4096] code:0
  10. [EDCT]edct_sys_bsp_set_last_modify_tick (4294967295->29822804). current dpc_dct_refresh_policy:1
  11. DM Database Server 64 V8 03134284132-20240115-215128-20081 startup...
  12. Normal of FAST
  13. Normal of DEFAULT
  14. Normal of RECYCLE
  15. Normal of KEEP
  16. Normal of ROLL
  17. edct_collect_raft_primary_info get self_stat:0.curr_sys_status:1, curr_sys_mode:0, raft_cnt:0, raft_stat:1,inst_sys_status:6, inst_sys_mode:2, inst_status:0, is_to_mount:0.
  18. Database mode = 0, oguid = 0
  19. License will expire on 2025-01-15
  20. file lsn: 0
  21. ckpt2_exec_immediately begin.
  22. checkpoint begin, used_space[0], free_space[536862720]...
  23. checkpoint begin, used_space[0], free_space[536862720]...
  24. pseg_set_gtv_trxid_low next_trxid in mem:[36066]
  25. pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
  26. next_trxid in mem:[36066]
  27. next_trxid = 38068.
  28. pseg recv finished
  29. nsvr_startup end.
  30. uthr_pipe_create, create pipe[read:43, write:44]
  31. uthr_pipe_create, create pipe[read:45, write:46]
  32. uthr_pipe_create, create pipe[read:47, write:48]
  33. uthr_pipe_create, create pipe[read:49, write:50]
  34. uthr_pipe_create, create pipe[read:51, write:52]
  35. uthr_pipe_create, create pipe[read:53, write:54]
  36. uthr_pipe_create, create pipe[read:55, write:56]
  37. uthr_pipe_create, create pipe[read:57, write:58]
  38. uthr_pipe_create, create pipe[read:59, write:60]
  39. uthr_pipe_create, create pipe[read:61, write:62]
  40. uthr_pipe_create, create pipe[read:63, write:64]
  41. uthr_pipe_create, create pipe[read:65, write:66]
  42. uthr_pipe_create, create pipe[read:67, write:68]
  43. uthr_pipe_create, create pipe[read:69, write:70]
  44. uthr_pipe_create, create pipe[read:71, write:72]
  45. uthr_pipe_create, create pipe[read:73, write:74]
  46. aud sys init success.
  47. aud rt sys init success.
  48. nsvr_process_before_open begin.
  49. nsvr_process_before_open success.
  50. SYSTEM IS READY.
复制代码
10 准备 RAFT_2 组内数据

1:对BP12进行脱机备份

  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/dpc_data/bp21/DAMENG/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. BACKUP DATABASE '/dmdata/dpc_data/bp21/DAMENG/dm.ini' FULL TO BACKUP_01 BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Database mode = 0, oguid = 0
  6. Normal of FAST
  7. Normal of DEFAULT
  8. Normal of RECYCLE
  9. Normal of KEEP
  10. Normal of ROLL
  11. EP[0]'s cur_lsn[4511], file_lsn[4511]
  12. Processing backupset /dmdata/dpc_data/bp21/BACKUP_01
  13. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  14. backup successfully!
  15. time used: 00:00:03.917
复制代码
2 将 BP21 的备份文件脱机还原到 BP22

  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/dpc_data/bp22/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. RESTORE DATABASE '/dmdata/dpc_data/bp22/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Normal of FAST
  6. Normal of DEFAULT
  7. Normal of RECYCLE
  8. Normal of KEEP
  9. Normal of ROLL
  10. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  11. restore successfully.
  12. time used: 00:00:02.472
  13. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dpc_data/bp22/DAMENG/dm.ini' UPDATE DB_MAGIC" USE_AP=2
  14. dmrman V8
  15. RECOVER DATABASE '/dmdata/dpc_data/bp22/DAMENG/dm.ini' UPDATE DB_MAGIC
  16. file dm.key not found, use default license!
  17. Database mode = 2, oguid = 0
  18. Normal of FAST
  19. Normal of DEFAULT
  20. Normal of RECYCLE
  21. Normal of KEEP
  22. Normal of ROLL
  23. EP[0]'s cur_lsn[4511], file_lsn[4511]
  24. recover successfully!
  25. time used: 00:00:01.323
  26. [dmdba@localhost bin]$
复制代码
2 将 BP21 的备份文件脱机还原到 BP23

  1. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/dpc_data/bp23/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'" USE_AP=2
  2. dmrman V8
  3. RESTORE DATABASE '/dmdata/dpc_data/bp23/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dpc_data/bp21/BACKUP_01'
  4. file dm.key not found, use default license!
  5. Normal of FAST
  6. Normal of DEFAULT
  7. Normal of RECYCLE
  8. Normal of KEEP
  9. Normal of ROLL
  10. [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
  11. restore successfully.
  12. time used: 00:00:02.503
  13. [dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dpc_data/bp23/DAMENG/dm.ini' UPDATE DB_MAGIC" USE_AP=2
  14. dmrman V8
  15. RECOVER DATABASE '/dmdata/dpc_data/bp23/DAMENG/dm.ini' UPDATE DB_MAGIC
  16. file dm.key not found, use default license!
  17. Database mode = 2, oguid = 0
  18. Normal of FAST
  19. Normal of DEFAULT
  20. Normal of RECYCLE
  21. Normal of KEEP
  22. Normal of ROLL
  23. EP[0]'s cur_lsn[4511], file_lsn[4511]
  24. recover successfully!
  25. time used: 00:00:01.097
  26. [dmdba@localhost bin]$
复制代码
11 配置 BP dm.ini

RAFT_1 组各实例(BP11、BP12、BP13)和 RAFT_2 组各实例(BP21、BP22、BP23)中 dm.ini 文件的配置方法完全相同。
下面以 BP11 的 dm.ini 为例进行介绍。dm.ini 文件配置如下:
  1. ARCH_INI = 1   #打开归档配置
  2. ALTER_MODE_STATUS = 0   #不答应用户直接通过SQL语句修改服务器模式
复制代码
12 配置 BP RAFT _1归档文件

修改 DMARCH.INI,配置 RAFT 归档与本地归档。RAFT_1 组配置如下:
1: 配置 BP11 归档文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5   #节点通信检测间隔RAFT_HB_INTERVAL = 150   #选举心跳间隔RAFT_VOTE_INTERVAL = 1500  #选举超时时间,三个库设置不同以尽快选出主库RAFT_SELF_ID = 1   #多副本自身节点ID[ARCHIVE_RAFT1]ARCH_TYPE = RAFT   #RAFT归档ARCH_DEST = BP12  #归档目的实例名ARCH_DEST_ID = 2   #归档目的多副本节点ID[ARCHIVE_RAFT2]ARCH_TYPE = RAFT   #RAFT归档ARCH_DEST = BP13   #归档目的 实例名ARCH_DEST_ID = 3   #归档目的多副本节点ID[ARCHIVE_LOCAL1]
  2. ARCH_TYPE = LOCAL #本地归档类型
  3. ARCH_DEST =/dmdata/dpc_data/bp11/DAMENG/arch  #本地归档文件路径
  4. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  5. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
2.配置 BP12 归档配置文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5  #节点通信检测间隔
  2. RAFT_HB_INTERVAL = 150   #选举心跳间隔
  3. RAFT_VOTE_INTERVAL = 2000   #选举超时时间
  4. RAFT_SELF_ID = 2   #多副本自身节点ID
  5. [ARCHIVE_RAFT1]
  6. ARCH_TYPE = RAFT  #RAFT归档
  7. ARCH_DEST = BP11  #归档目标实例名
  8. ARCH_DEST_ID = 1  #归档目标多副本节点ID
  9. [ARCHIVE_RAFT2]
  10. ARCH_TYPE = RAFT   #RAFT归档
  11. ARCH_DEST = BP13   #归档目标实例名
  12. ARCH_DEST_ID = 3   #归档目标多副本节点ID
  13. [ARCHIVE_LOCAL1]
  14. ARCH_TYPE = LOCAL   #本地归档类型
  15. ARCH_DEST = /dmdata/dpc_data/bp12/DAMENG/arch   #本地归档文件路径
  16. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  17. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
配置 BP13 归档配置文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5   #节点通信检测间隔
  2. RAFT_HB_INTERVAL = 150   #选举心跳间隔
  3. RAFT_VOTE_INTERVAL = 2500   #选举超时时间
  4. RAFT_SELF_ID = 3   #多副本自身节点ID
  5. [ARCHIVE_RAFT1]
  6. ARCH_TYPE = RAFT   #RAFT归档
  7. ARCH_DEST = BP11   #归档目标实例名
  8. ARCH_DEST_ID = 1   #多副本归档目标节点ID
  9. [ARCHIVE_RAFT2]
  10. ARCH_TYPE = RAFT   #RAFT归档
  11. ARCH_DEST = BP12   #归档目标实例名
  12. ARCH_DEST_ID = 2   #多副本归档目标节点ID
  13. [ARCHIVE_LOCAL1]
  14. ARCH_TYPE = LOCAL   #本地归档类型
  15. ARCH_DEST = /dmdata/dpc_data/bp13/DAMENG/arch  #本地归档文件路径
  16. ARCH_FILE_SIZE = 128  #本地单个归档文件最大值,单位MB
  17. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
13 配置 BP RAFT _2归档文件

1: 配置 BP21 归档文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5   #节点通信检测间隔RAFT_HB_INTERVAL = 150   #选举心跳间隔RAFT_VOTE_INTERVAL = 1500  #选举超时时间,三个库设置不同以尽快选出主库RAFT_SELF_ID = 1   #多副本自身节点ID[ARCHIVE_RAFT1]ARCH_TYPE = RAFT   #RAFT归档ARCH_DEST = BP22  #归档目的实例名ARCH_DEST_ID = 2   #归档目的多副本节点ID[ARCHIVE_RAFT2]ARCH_TYPE = RAFT   #RAFT归档ARCH_DEST = BP23   #归档目的 实例名ARCH_DEST_ID = 3   #归档目的多副本节点ID[ARCHIVE_LOCAL1]
  2. ARCH_TYPE = LOCAL #本地归档类型
  3. ARCH_DEST =/dmdata/dpc_data/bp21/DAMENG/arch  #本地归档文件路径
  4. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  5. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
2.配置 BP22 归档配置文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5  #节点通信检测间隔
  2. RAFT_HB_INTERVAL = 150   #选举心跳间隔
  3. RAFT_VOTE_INTERVAL = 2000   #选举超时时间
  4. RAFT_SELF_ID = 2   #多副本自身节点ID
  5. [ARCHIVE_RAFT1]
  6. ARCH_TYPE = RAFT  #RAFT归档
  7. ARCH_DEST = BP21  #归档目标实例名
  8. ARCH_DEST_ID = 1  #归档目标多副本节点ID
  9. [ARCHIVE_RAFT2]
  10. ARCH_TYPE = RAFT   #RAFT归档
  11. ARCH_DEST = BP23   #归档目标实例名
  12. ARCH_DEST_ID = 3   #归档目标多副本节点ID
  13. [ARCHIVE_LOCAL1]
  14. ARCH_TYPE = LOCAL   #本地归档类型
  15. ARCH_DEST = /dmdata/dpc_data/bp22/DAMENG/arch   #本地归档文件路径
  16. ARCH_FILE_SIZE = 128   #本地单个归档文件最大值,单位MB
  17. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
配置 BP23 归档配置文件 DMARCH.INI
  1. XMAL_HB_INTERVAL = 5   #节点通信检测间隔
  2. RAFT_HB_INTERVAL = 150   #选举心跳间隔
  3. RAFT_VOTE_INTERVAL = 2500   #选举超时时间
  4. RAFT_SELF_ID = 3   #多副本自身节点ID
  5. [ARCHIVE_RAFT1]
  6. ARCH_TYPE = RAFT   #RAFT归档
  7. ARCH_DEST = BP21   #归档目标实例名
  8. ARCH_DEST_ID = 1   #多副本归档目标节点ID
  9. [ARCHIVE_RAFT2]
  10. ARCH_TYPE = RAFT   #RAFT归档
  11. ARCH_DEST = BP22   #归档目标实例名
  12. ARCH_DEST_ID = 2   #多副本归档目标节点ID
  13. [ARCHIVE_LOCAL1]
  14. ARCH_TYPE = LOCAL   #本地归档类型
  15. ARCH_DEST = /dmdata/dpc_data/bp23/DAMENG/arch  #本地归档文件路径
  16. ARCH_FILE_SIZE = 128  #本地单个归档文件最大值,单位MB
  17. ARCH_SPACE_LIMIT = 0   #本地归档文件总大小,0表示无限制
复制代码
14 启动 SP 和 RAFT 组内全部 BP

启动 SP 和 BP 没有先后之分。
  1. ./dmserver path=/dmdata/dpc_data/sp1/DAMENG/dm.ini dpc_mode=sp
  2. ./dmserver /dmdata/dpc_data/bp11/DAMENG/dm.ini  dpc_mode=bp mount
  3. ./dmserver /dmdata/dpc_data/bp12/DAMENG/dm.ini  dpc_mode=bp mount
  4. ./dmserver /dmdata/dpc_data/bp13/DAMENG/dm.ini  dpc_mode=bp mount
  5. ./dmserver /dmdata/dpc_data/bp21/DAMENG/dm.ini  dpc_mode=bp mount
  6. ./dmserver /dmdata/dpc_data/bp22/DAMENG/dm.ini  dpc_mode=bp mount
  7. ./dmserver /dmdata/dpc_data/bp23/DAMENG/dm.ini  dpc_mode=bp mount
复制代码
15v连接SP,可以对外提供服务

  1. [dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA@192.168.145.130:5236
  2. 服务器[192.168.145.130:5236]:处于普通打开状态
  3. 登录使用时间 : 96.731(ms)
  4. disql V8
  5. SQL>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表