0
点赞
收藏
分享

微信扫一扫

达梦3节点DSC+1节点DW集群部署

清冷的蓝天天 2022-04-26 阅读 79
dba数据库

        DSC集群各大节点之间是相互独立且平等的存在,一旦某个节点发生故障,集群将会自动切换使其离线重新更改,重新开启服务后将会自动填充离线期间所丢失的数据更新。这种结构安全性、可靠性更高。

0.0部署结果

0.1制造故障节点dsc1

关闭dsc1节点的服务

可在三号机中的监视器查看到自动更新的信息

此时在dsc0节点

新建用户名、密码以及权限:

create user "DMDBA" identified by "dameng_dba"; 

//创建名为DMDBA和密码

新建名为TS_DMOA表空间:

create tablespace "TS_DMOA" datafile 'TS_DMOA' size 64 CACHE = NORMAL;

新建用户DMOA默认表空间为上,密码dameng_oa:

create user "DMOA" identified by "dameng_oa" default tablespace "TS_DMOA" default index tablespace "TS_DMOA";

使用DMOA用户新建USERS表格:

create table "DMOA"."USERS"
(
       "COLUMN_1" CHAR(10)
);

并在DM管理工具浏览数据快速插入数据

可在DSC2节点查询DMOA用户下的USERS表:

select * from "DMOA"."USERS";

此时启动故障节点DSC1,使其重新接入

此时重新启动DSC1几点后再次查询其于故障期间新建的表格USERS,可查到如下结果:

1.1 部署过程

1、准备虚拟机、且共享磁盘。

cmd通过windows进入VMware的vmware-vdiskmanager.exe路径下

提前在本地设置好共享磁盘文件

执行命令获得共享磁盘

vmware-vdiskmanager.exe -c -s 20G -a lsilogic -t 2 D:\sharedisk2\sharedisk.vmdk

2、挂载共享磁盘

1、2号机和3号机打开硬件配置-添加-硬盘-下一步-使用现有-选择刚创建的D:\sharedisk

sharedisk.vmdk文件即可

3、此时因为磁盘锁机制,无法同时打开两台报错

在2号机、3号机根目录的 .vmx文件最后添加

disk.locking = "FALSE"

4、打开虚拟机安装DM数据库、创建用户dmdba等

5、root权限在1号机划分共享磁盘

fdisk /dev/sdb

n

p

1

+4G

n

p

2

+4G

n

p

3

+6G

n

p

4

默认

然后按w保存

6、三机器新建70-persistent-ipoib.rules文件在/etc/udev/rules.d/目录下给刚划分的4个区域分别命名

ACTION=="add" , KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dmdba", MODE="660"

7、三机器分别执行

partprobe /dev/sdb

8、1号机执行

udevadm trigger --action=add

以下均为dmdba用户操作

9、1号机以dmdba用户新建两级目录/data/dsc/于/home/dmdba/dmdbms目录下

并在dsc目录新建dmdcr_cfg.ini文件

DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635

[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = GRP_CSS
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60

[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.85.131
DCR_EP_PORT = 9341

[GRP_CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 192.168.85.151
DCR_EP_PORT = 9343

[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.85.161
DCR_EP_PORT = 9345

[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60

[GRP_ASM]
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.85.131
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.85.151
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93362
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.85.161
DCR_EP_PORT = 9353
DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60

[GRP_DSC]
DCR_EP_NAME = DSC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741

[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9742

[GRP_DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 1

DCR_EP_PORT = 5238
DCR_CHECK_PORT = 9743

10、dmdba用户下1号机bin目录使用DMASMCMD工具初始化

./dmasmcmd
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdbms/data/dsc/dmdcr_cfg.ini' identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdbms/data/dsc/dmdcr_cfg.ini'

11、三虚拟机dsc目录下新建dmasvrmal.ini配置文件

[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.85.131
MAL_PORT = 7236

[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.85.151
MAL_PORT = 7236

[MAL_INST3]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.85.161
MAL_PORT = 7236

12、1号机新建dmdcr.ini配置文件在dsc目录下

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/data/dsc/dmasvrmal.ini   #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0                                       #ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini                    #DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr
path=/home/dmdba/dmdbms/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

13、2号级dsc目录下新建dmdcr.ini配置文件

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/data/dsc/dmasvrmal.ini    #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1                                       #ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini                    #DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr
PATH=/home/dmdba/dmdbms/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

14、3号级dsc目录下新建dmdcr.ini配置文件

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/data/dsc/dmasvrmal.ini    #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 2                                      
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini            
DMDCR_DB_RESTART_INTERVAL = 0 #DB重启参数,命令行方式启动
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr
PATH=/home/dmdba/dmdbms/data/dsc2_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

bin目录下三机器先后执行ini文件

./dmcss DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

等待、复制ssh渠道

./dmasmsvr DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

15、1号机启动dmasmtool创建共享磁盘

./dmasmtool DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'  #创建磁盘日志组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4' #创建数据磁盘组

16、1号机在/home/dmdba/dmdbms/data/dsc目录下新建一个dminit.ini文件:

db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1                #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1

[DSC0]                                #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/dmdbms/data/dsc0_config
port_num = 5236
mal_host = 192.168.85.131
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log

[DSC1]                                #nst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/dmdbms/data/dsc1_config
port_num = 5237
mal_host = 192.168.85.151
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

[DSC2]                                #nst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/dmdbms/data/dsc2_config
port_num = 5238
mal_host = 192.168.85.161
mal_port = 9342
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

17、1号机进入bin目录执行

./dminit control=/home/dmdba/dmdbms/data/dsc/dminit.ini

之后在/home/dmdba/dmdbms/data/目录下会得到dsc0_config和dsc1_config、dsc2_config两个文件夹

使用XShell工具将dsc1_config文件夹传到2号机、dsc2_config文件夹传到3号机

然后重启

18、启动DSC集群

./dmserver /home/dmdba/dmdbms/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

./dmserver /home/dmdba/dmdbms/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

./dmserver /home/dmdba/dmdbms/data/dsc2_config/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

19、设置监视器

在三号机/home/dmdba/dmdbms/data/目录下创建监视器文件dmcssm.ini

CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.85.131:9341
CSSM_CSS_IP = 192.168.85.151:9343
CSSM_CSS_IP = 192.168.85.161:9345
CSSM_LOG_PATH =…/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

20、bin目录下启动监视器

./dmcssm INI_PATH=/home/dmdba/dmdbms/data/dmcssm.ini

*************************************************************************************************************

cd /home/dmdba/dmdbms/script/root

分别前往三台机器的root目录注册CSS服务:

./dm_service_installer.sh -t dmcss -p DMCSS0 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini
./dm_service_installer.sh -t dmcss -p DMCSS1 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini
./dm_service_installer.sh -t dmcss -p DMCSS2 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini

分别给三台机器注册ASM服务:

./dm_service_installer.sh -t dmasmsvr -p ASM0 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmCSSServiceDMCSS0

./dm_service_installer.sh -t dmasmsvr -p ASM1 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmCSSServiceDMCSS1

./dm_service_installer.sh -t dmasmsvr -p ASM2 -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmCSSServiceDMCSS2

三台机器分别注册实例服务:

./dm_service_installer.sh -t dmserver -p DSC0 -dm_ini /home/dmdba/dmdbms/data/dsc0_config/dm.ini -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmASMSvrServiceASM0

./dm_service_installer.sh -t dmserver -p DSC1 -dm_ini /home/dmdba/dmdbms/data/dsc1_config/dm.ini -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmASMSvrServiceASM1

./dm_service_installer.sh -t dmserver -p DSC2 -dm_ini /home/dmdba/dmdbms/data/dsc2_config/dm.ini -dcr_ini /home/dmdba/dmdbms/data/dsc/dmdcr.ini -y DmASMSvrServiceASM2

最后:

1号机前往bin目录按照顺序依次启动以下服务

./DmCSSServiceDMCSS0 start

./DmASMSvrServiceASM0 start

./DmServiceDSC0 start

2号机

./DmCSSServiceDMCSS1 start

./DmASMSvrServiceASM1 start

./DmServiceDSC1 start

3号机

./DmCSSServiceDMCSS2 start

./DmASMSvrServiceASM2 start

./DmServiceDSC2 start

可再次前往bin目录查看监视器

./dmcssm INI_PATH=/home/dmdba/dmdbms/data/dmcssm.ini

22、分别编辑三个DMDSC节点的dmarch.ini文件,增加本地归档和远程归档

dmarch.ini文件放在各自dm.ini中指定的CONFIG_PATH目录下。

且分别在dsc0的/home/dmdba/data/dsc0_config/目录下

新建arch  arch_remote1  arch_remote2

且分别在dsc1的/home/dmdba/data/dsc1_config/目录下

新建arch  arch_remote0  arch_remote2

且分别在dsc2的/home/dmdba/data/dsc2_config/目录下

新建arch  arch_remote0  arch_remote1

配置dsc0:

ARCH_LOCAL_SHARE = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/data/dsc0_config/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc0_config/arch_remote1

[ARCHIVE_REMOTE2]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc0_config/arch_remote2

[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1

配置dsc1:

ARCH_LOCAL_SHARE = 0

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/data/dsc1_config/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc1_config/arch_remote0


[ARCHIVE_REMOTE2]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc1_config/arch_remote2

[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1

配置DSC2

ARCH_LOCAL_SHARE = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/data/dsc2_config/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc2_config/arch_remote0

[ARCHIVE_REMOTE2]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc2_config/arch_remote1

[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1

 

23、配置dm.ini

分别编辑两个DMDSC节点的dm.ini文件,打开归档参数:ARCH_INI= 1

24、于DSC0号机备份DSC

重启DMDSC集群的两个dmserver实例,然后再正常退出。在DMDSC集群生成有归档日志的情况下进行脱机备份,以便后续校验日志连续性时使用。

./dmrman use_ap=2 dcr_ini=/home/dmdba/data/dsc/dmdcr.ini

backup database '/home/dmdba/data/dsc0_config/dm.ini' full backupset '/home/dmdba/data/db_full_bak_for_dsc'

 脱机备份时归档日志不完整

通过查看相关资料,对归档日志进行修复

25、配置单节点备库

--初始化备库

./dminit path=/home/dmdba/data/EP01/

--将dsc主库下的备份集发送到备库

[dmdba@dameng01 data]$ scp -r db_full_bak_for_dsc dmdba@192.168.85.161:/home/dmdba/dmdbms/data/

于备库启动dmrman

./dmrman use_ap=2

--还原、恢复、更新


restore database '/home/dmdba/data/EP01/DAMENG/dm.ini' from backupset '/home/dmdba/data/db_full_bak_for_dsc';

recover database '/home/dmdba/data/EP01/DAMENG/dm.ini' from backupset '/home/dmdba/data/db_full_bak_for_dsc';

recover database '/home/dmdba/data/EP01/DAMENG/dm.ini' update DB_MAGIC;

26、配置dm.ini

依次配置DMDSC主库所有节点和单节点备库的dm.ini文件,修改数据守护相关的参数配置。

(1)配置DSC0的dm.ini文件

#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过16
INSTANCE_NAME= DSC0
PORT_NUM= 5236#数据库实例监听端口
ALTER_MODE_STATUS= 0#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS= 2#不允许备库OFFLINE表空间
MAL_INI= 1#打开MAL系统
ARCH_INI= 1#打开归档配置

(2)配置DSC1的dm.ini文件

INSTANCE_NAME= DSC1
PORT_NUM= 5237#数据库实例监听端口
DW_INACTIVE_INTERVAL= 60#接收守护进程消息超时时间
ALTER_MODE_STATUS= 0#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS= 2#不允许备库OFFLINE表空间
MAL_INI= 1#打开MAL系统
ARCH_INI= 1#打开归档配置
RLOG_SEND_APPLY_MON= 64 #统计最近64次的日志发送信息

(3)配置DSC2的dm.ini文件

INSTANCE_NAME= DSC1
PORT_NUM= 5237#数据库实例监听端口
DW_INACTIVE_INTERVAL= 60#接收守护进程消息超时时间
ALTER_MODE_STATUS= 0#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS= 2#不允许备库OFFLINE表空间
MAL_INI= 1#打开MAL系统
ARCH_INI= 1#打开归档配置
RLOG_SEND_APPLY_MON= 64 #统计最近64次的日志发送信息

(4)配置DW1的dm.ini文件

INSTANCE_NAME= DW1
PORT_NUM= 5236
DW_INACTIVE_INTERVAL= 60
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS= 2
MAL_INI= 1 ARCH_INI= 1
RLOG_SEND_APPLY_MON= 64

27、配置dmmal.ini

MAL_CHECK_INTERVAL = 30                 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10             #判定MAL链路断开的时间
[mal_inst0]
    mal_inst_name  = DSC0
    mal_host       = 192.168.85.131
    mal_port       = 9340

MAL_INST_HOST = 192.168.85.131 #实例的对外服务IP地址   
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致   
MAL_DW_PORT= 3567 #实例本地的守护进程监听TCP连接的端口    
MAL_INST_DW_PORT = 4567 #实例监听守护进程TCP连接的端口

[mal_inst1]
    mal_inst_name  = DSC1
    mal_host       = 192.168.85.141
    mal_port       = 9341
MAL_INST_HOST = 192.168.85.141 #实例的对外服务IP地址
MAL_INST_PORT = 5237 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3568 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4568 #实例监听守护进程TCP连接的端口

[mal_inst2]
    mal_inst_name  = DSC2
    mal_host       = 192.168.85.151
    mal_port       = 9342
MAL_INST_HOST = 192.168.85.141 #实例的对外服务IP地址
MAL_INST_PORT = 5238 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口

[mal_inst3]
    mal_inst_name = DW1
    mal_host = 192.168.85.161
    mal_port = 8738

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3570 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4570 #实例监听守护进程TCP连接的端口

28、配置dmarch.ini

DSC0配置:

[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /home/dmdba/data/dsc0_config/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0

[ARCHIVE_REMOTE1]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC1
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc0_config/arch_remote1

[ARCHIVE_REMOTE2]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC2
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc0_config/arch_remote2

[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1



DSC1配置:

[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /home/dmdba/data/dsc1_config/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0

[ARCHIVE_REMOTE1]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC0
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc1_config/arch_remote0

[ARCHIVE_REMOTE2]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC2
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc1_config/arch_remote2


[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1





DSC2配置:

[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /home/dmdba/data/dsc2_config/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0

[ARCHIVE_REMOTE1]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC0
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc2_config/arch_remote0

[ARCHIVE_REMOTE2]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC1
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH = /home/dmdba/data/dsc2_config/arch_remote1

[ARCHIVE_REALTIME]
ARCH_TYPE= REALTIME
ARCH_DEST= DW1





DW1配置:

[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /home/dmdba/data/EP01/DAMENG/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
[ARCHIVE_REALTIME1]
ARCH_TYPE= REALTIME
ARCH_DEST= DSC0/DSC1/DSC2

29、配置dmwatcher

DSC0的dmwatcher:

[GRP1]

DW_TYPE= GLOBAL                         #全局守护类型
DW_MODE= MANUAL                     #手动切换模式
DW_ERROR_TIME= 60                #远程守护进程故障认定时间
INST_RECOVER_TIME= 60                 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35                    #本地实例故障认定时间
INST_INI= /home/dmdba/data/dsc0_config/dm.ini        #dm.ini配置文件路径
DCR_INI= /home/dmdba/data/dsc/dmdcr.ini #dmdcr.ini配置文件路径
INST_OGUID = 0                 #守护系统唯一OGUID值
INST_STARTUP_CMD= /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART= 0                   #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD= 0                   #指定主库发送日志到备库的时间阈值,默认关闭 RLOG_APPLY_THRESHOLD = 0#指定备库重演日志的时间阈值,默认关闭





DSC1的dmwatcher:

[GRP1]
DW_TYPE= GLOBAL                         #全局守护类型
DW_MODE= MANUAL                     #手动切换模式
DW_ERROR_TIME= 60                #远程守护进程故障认定时间
INST_RECOVER_TIME= 60                 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35                    #本地实例故障认定时间
INST_INI= /home/dmdba/data/dsc1_config/dm.ini        #dm.ini配置文件路径
DCR_INI= /home/dmdba/data/dsc/dmdcr.ini #dmdcr.ini配置文件路径
INST_OGUID = 0                 #守护系统唯一OGUID值
INST_STARTUP_CMD= /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART= 0                   #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD= 0                   #指定主库发送日志到备库的时间阈值,默认关闭 RLOG_APPLY_THRESHOLD = 0#指定备库重演日志的时间阈值,默认关闭

DSC2的dmwatcher:


[GRP1]
DW_TYPE= GLOBAL                         #全局守护类型
DW_MODE= MANUAL                     #手动切换模式
DW_ERROR_TIME= 60                #远程守护进程故障认定时间
INST_RECOVER_TIME= 60                 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35                    #本地实例故障认定时间
INST_INI= /home/dmdba/data/dsc2_config/dm.ini        #dm.ini配置文件路径
DCR_INI= /home/dmdba/data/dsc/dmdcr.ini #dmdcr.ini配置文件路径
INST_OGUID = 0                 #守护系统唯一OGUID值
INST_STARTUP_CMD= /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART= 0                   #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD= 0                   #指定主库发送日志到备库的时间阈值,默认关闭 RLOG_APPLY_THRESHOLD = 0#指定备库重演日志的时间阈值,默认关闭

DW1的dmwatcher.ini文件:

[GRP1]

DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /home/dmdba/data/EP01/dm.ini
INST_OGUID = 63635
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
INST_AUTO_RESTART = 0
RLOG_APPLY_THRESHOLD = 0

30、启动主备库

注意实例都要使用Mount方式启动。

(若已经以注册服务方式启动后,可进入disql更改状态:alter database mount;)

DSC0的bin目录下:

./dmserver /home/dmdba/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/data/dsc/dmdcr.ini mount

DSC1的bin目录下:

./dmserver /home/dmdba/data/dsc1_config/dm.ini DCR_INI=/home/dmdba/data/dsc/dmdcr.ini mount

DSC2的bin目录下:

 ./dmserver /home/dmdba/data/dsc2_config/dm.ini DCR_INI=/home/dmdba/data/dsc/dmdcr.ini mount

DW1的bin目录下:

 ./dmserver /home/dmdba/data/EP01/DAMENG/dm.ini mount

31、设置OGUID确定唯一标识符并更改DSC0为主库DW1为备库

启动命令行工具DIsql,连接DMDSC集群中的任意一个节点,设置DMDSC主库的OGUID值。

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(0);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
ALTER DATABASE PRIMARY;

DIsql连接单节点备库,设置备库OGUID。

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(0);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
ALTER DATABASE STANDBY;

32、启动主备守护线程

 ./dmwatcher /home/dmdba/data/dsc0_config/dmwatcher.ini
 ./dmwatcher /home/dmdba/data/dsc1_config/dmwatcher.ini
 ./dmwatcher /home/dmdba/data/dsc2_config/dmwatcher.ini

./dmwatcher /home/dmdba/data/EP01/DAMENG/dmwatcher.ini

达梦社区地址:https://eco.dameng.com 

举报

相关推荐

0 条评论