kingbase集群新增流复制备节点

原数据库架构是一套一主几备的集群,现由于灾备要求,新增一个流复制备节点参与数据同步,但不受集群软件纳管

IP节点
192.168.40.119集群vip
192.168.40.120集群主节点
192.168.40.121集群备节点
192.168.40.122流复制备节点(计划搭建的)

1 查看集群

repmgr cluster show
repmgr service status

1

2 备节点上安装数据库

参考单机安装,在备节点上安装kingbase数据库
确定安装完成没有问题,停数据库,删除data目录

sys_ctl stop -D /data/kingbase/data_replicate/
rm -rf /data/kingbase/data_replicate/*
rm -rf /data/kingbase/data_replicate/.wallet/

3 主节点上检查文件

检查sys_hba.conf文件
确认复制用户有连接和复制权限
2

4 构建流复制备节点

全量传输

sys_basebackup -h 192.168.40.119 -U esrep -p 54321 -D /data/kingbase/data_replicate -c fast -X stream -v -P -R

3
修改kingbase.auto.conf文件,删除红框里的参数
4
5
查看参数文件,根据实际情况可调整
vim /data/kingbase/data_replicate/kingbase.conf
vim /data/kingbase/data_replicate/es_rep.conf
vim /data/kingbase/data_replicate/kingbase.auto.conf

创建备库信号文件

touch /data/kingbase/data_replicate/standby.signal

启动数据库

sys_ctl start -D /data/kingbase/data_replicate/

主库查看

select * from sys_stat_replication ;

6
至此,流复制已构建完成

为流复制创建复制槽(可选),集群主备节点都要建
01 查看复制槽
select * from sys_replication_slots ;
01 创建复制槽
select sys_create_physical_replication_slot(‘replicate_slot’);
7
03 流复制备节点修改参数,并重启生效
vim /data/kingbase/data_replicate/kingbase.auto.conf
primary_slot_name = ‘replicate_slot’
sys_ctl restart -D /data/kingbase/data_replicate
8
04 主节点查看复制槽,已正常在用
9

5 集群主备发生切换,流复制节点跟随新的主节点

集群主备切换

repmgr cluster show
repmgr standby switchover
repmgr cluster show

10
11
12
新的集群主节点查看流复制

select * from sys_stat_replication ;

13
新的集群备节点重建复制槽(如果没有复制槽则没有这步)

select * from sys_replication_slots ;
select sys_drop_replication_slot('replicate_slot');
select * from sys_replication_slots ;
select sys_create_physical_replication_slot('replicate_slot');
select * from sys_replication_slots ;

14

给定的参考引用中未提及在ABAP逻辑数据库新增报告类的方法。一般而言,在ABAP逻辑数据库新增报告类可以按以下常规步骤操作: 1. **创建程序**:使用事务码`SE38`或`SE80`创建一个新的ABAP程序。在创建时,选择程序类型为“可执行程序”或“报表程序”,因为只有这两类程序可以使用逻辑数据库 [^4]。 2. **定义逻辑数据库节点**:在程序中使用`NODES`语句来定义要使用的逻辑数据库节点。例如: ```abap NODES: spfli, sflight, sbook. ``` 此语句为指定的逻辑数据库节点相应的存储空间,存储区域类型(工作区或表区域)由节点类型决定 [^4][^5]。 3. **使用逻辑数据库关键字**:使用`NODE <node>`关键字确定要使用逻辑数据库中的哪个节点。在程序中,可使用`GET <node>`语句触发逻辑数据库的读取操作,但要注意`GET <node>`本身并不取数据,而是在逻辑数据库数据库中读取数据时执行`PUT <node>`从而触发`GET`事件,事件的执行顺序由逻辑数据库本身的结构决定 [^4][^5]。 示例代码如下: ```abap START-OF-SELECTION. WRITE: 'GET Eevent Testing'. GET spfli. " 取spfli 里面的一行数据。 WRITE: / 'From:', spfli-cityfrom, 'To:', spfli-cityto. GET sflight. FORMAT COLOR COL_NEGATIVE INVERSE ON. WRITE: / 'Carrid:', sflight-carrid, 'Connid:', sflight-connid. ULINE. GET sflight LATE. FORMAT COLOR COL_POSITIVE INVERSE ON. WRITE: / 'Total luggage weight =', weight. ULINE. weight = 0. GET sbook. FORMAT COLOR COL_TOTAL INVERSE ON. WRITE: / 'Fldate:', sflight-fldate, 'Boolid:', sbook-bookid, 'Luggweight:', sbook-luggweight. ``` 4. **设置动态选择条件**:若需要设置动态选择条件,可参考《User Dialogs.docx》中的`Calling Programs——WITH FREE SELECTION <freesel>`章节。每个被选择的逻辑数据库屏幕动态选择字段都会形成一个条件,并存储到`RSDS_TYPE-CLAUSES-WHERE_TAB`内表中,该内表中存储的是可直接用在`Where`从句中的动态选择条件 [^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值