快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

【HICP Gaussdb】数据库 数据库管理(主备配置 常用视图 主备切换 故障处理 逻辑复制) -16

请联系QQ:1793040 索取软件

标签:ilo不一致目标perstrinstance

参数介绍
ARCHIVE_DEST_N
archive_dest_2=local_host=192.168.0.1 service=ip:port[sync| async] [primary_role | standby_role | all_roles ] [affirm | noaffirm ] [ zstd | LZ4]
sync async :同步数据 异步数据
local_host : 本机ip地址
service=ip:port 服务机器 ip+port
primary_role standby_role all_roles :参数生效针对角色:主机 备机 还是全部生效
affirm noaffirm : 事务提交时候 是否需要等待备机回复
zstd LZ4 :压缩算法
LSNR_ADDR 地址 LSNR_PORT 端口 ———-> 主备机配置

技术分享图片

# nomount 启动主机
zengine nomount-D/home/gaussdb &
# 在主机上建库
create database gauss archivelog
# nomount 启动备机
zengine nomount-D/home/gaussdb &
# 在备机上进行build
build database
# 在主机上查询角色和状态
select database_role ,database_condition from V$database;

技术分享图片

常用视图
V$DATABASE
database_role 数据库角色 【 primary 主机 | physical_standby 备机| cascaded_physical_standby 级联备机】
database_condition 数据库状态 【normal 状态正常| disconnected 主备机断开 | demoting/promoting/failover promoting/faft failover/wait to promote 主备切换状态| need repair 需要重建】
switchover_status 主备切换状态【to primary 可执行swith升主 | not allowed 不允许升主】
failover_status 是否可以执行failover操作【to primary 可以指定failver升主 | not allowed 不允许执行】

V$HA_SYNC_INFO
status 日志发送线程状态【not running 对应链路没有使用| disconnected 断开 尝试连接 | connected 未进入发送日志状态 | shifting 完全就绪 】
role_valid 本机使用archive_dest_n生效场景【all_role 主机和备机都会对等连接| primary_role 该实例是主机 会连接对端| primary_role 备机时 连接对端】
net_mode 日志传输 【sync 同步| async 异步 】
peer_host/peer_port 对端地址和端口
local_send_point 本地日志发送点
peer_flush_point 对端日志接收点 【peer_building 对端是否执行build操作 | local_LFN/peer_LFN 本地对端的LFN | local_LSN/peer_LSN 本地对端的LSN 】
flush_lag 对端日志接受的延迟时间
replay_lag 对端日志回放的延迟时间

V$MANAGED_STANDYBY
process 线程名称【RFS 日志接收线程 | MRP 日志重演线程 | ARCH 归档线程 | FAL 归档日志获取线程】
STATUS 线程状态 【open 运行 | connected 主备连接 未发送日志 | catching_up 备机处于追赶状态 | streaming 备机处于正常的日志复制状态 】
RESETLOG_ID 归档redo日志的resetlog号
thread 归档redo log线程号
Sequence 归档redo log序列号
flush_point 备机当前的日志罗盘点
primary_curr_point 主机当前的日志罗盘点
replay_point 备机当前的日志重演点

常用视图
查询主机切换状态

技术分享图片

查询日志同步状态

技术分享图片

查询备机重演状态

技术分享图片

技术分享图片

switchover 主备倒换
在主备实例均正常的情况下, 零数据丢失地完成主备角色切换 ,主要应用于有计划的停服 滚动升级
failover 故障倒换
备机在断开状态 ,可以在备机上执行failover 升主 继续对外提供服务 , 可能会造成数据损失, 原主机要启动mount状态 降为备 , 主要用于故障接管场景

举例:select database_role , database_condition,switchover_status from V$DATABASE ;
alter database switchover ; # 切换主备
select database_role , database_condition,switchover_status from V$DATABASE ;

技术分享图片

技术分享图片

failover
举例:select database_role , database_condition,switchover_status from V$DATABASE ;
alter database failover # 切换主备
select database_role , database_condition,switchover_status from V$DATABASE ;
zengine mount-D/home/gaussdba & # 原主机mount启动
starting instance(mount) # 原主机mount启动
alter database convert to physical standby ; # 原主机降备

技术分享图片

技术分享图片

技术分享图片

故障处理
故障1:RFS is not ready can not get peer role
场景:一般出现在备机做build 由于这个报错造成build失败
原因分析:直接原因是因为主机没有链接上备机
1、 主机没有启动 主机在停止状态下 build不可能成功
2、 主机没有open 主机只有在open状态下 才会去连接备机
3、 防火墙问题:主备机器上任一防火墙没有关闭 都会造成build失败
4、 archive_dest_2 参数配置问题 , IP或者端口错误 ,role_valid错误
5、achive_dest_state_2 参数配置问题:该参数配置成了defer 主机不在连接备机
排查:根据上述原因逐一排查

故障2:备机状态显示 need repair
场景:主机在执行业务的过程中被异常中断, 备机failver升主 , 原主降备 备机可能显示 need repair
原因分析:备机显示 need repair 在运行日志里面都会打印相应原因
1、 主备不同源 主机的DBID和备机的DBID不一致 , 两者来自不同源头
2、主备redo日志不尽一致,主备的日志个数 大小 类型 block size等信息都要一致
3、resetid 大小有误 :主机的resetid必须要大于或者等于备机 但差值又不能超过1 ;
4、备机日志 比主机日志还多:主机的日志 至少要和备机一样多 但是绝对不能比备机少
5、主机归档文件不存在 :备机在回放日志过程中,如果缺少归档文件, 会向主机请求 如果主机上的归档文件找不到,则备机无法继续回放 ,备机显示 needrepir
排查:重建备机来恢复主备关系
# build database

技术分享图片

逻辑复制的原理:
逻辑复制工具 是通过解析包含逻辑日志信息的REDO日志和归档日志 获取数据变更信息 。然后将改变的变更信息放到目标端数据源。
逻辑复制主要场景如下:
1、主备数据库的增量数据备份
2、不同业务系统之间的数据同步
3、系统升级过程中的在线迁移

逻辑复制相当于屋里复制的优势:
1、物理复制对日志物理格式依赖强,而逻辑复制可以灵活实现gaussdb跨版本复制以及数据库异构
2、 逻辑复制可以支持源,目标数据库表结构不一致时的判定

技术分享图片

技术分享图片

步骤 :1、登录数据库
2、 mkdir-p/opt/software/tools # 按规划创建存放逻辑复制工具的目录 将逻辑复制工具 安装包上传至目录 解压 进入 logicrep 目录
3、进入逻辑复制工具的conf目录下 , 修改进程 启动参数的取值, 所有改动需要重启逻辑复制服务生效 conf/init.properties配置如下
thread.number 线程个数 ,replayer.class 回放类 ,dispath.queue.size 工作队列大小

技术分享图片
4、使用zsql登录源数据库 、执行一下sql

技术分享图片
5、在源数据库上 为源数据库和目录数据库 中逻辑复制服务使用的用户生成密码密文 。逻辑复制秘钥配置文件目录 conf/sec
key1.properties 保存随机秘钥因子 ,key2.properity 保存工作秘钥
http://www.bubuko.com/zencrypt-e AES256-f 秘钥因子-k 工作秘钥—> 将生成的密码密文 填入 conf目录下的datasrouce.properity文件对应的ds.passwd配置项中
修改参数如下:ds.type 数据源类型 当前支持 gauss oracle kafka 、 ds.url 数据库url地址 、 dsusername 逻辑复制服务使用的用户名称 、ds.passwd 逻辑密码

技术分享图片
6、配置conf/repconf 目录下的reconf_db.xml 该文件是映射关系
repname 复制关系名称、 datasource 复制的源数据库名称和目标数据库名称、filtereduser 过滤信息的用户 、 modemapping 定义复制关系中 模型映射

技术分享图片

【HICP Gaussdb】数据库 数据库管理(主备配置 常用视图 主备切换 故障处理 逻辑复制)-16

标签:ilo不一致目标perstrinstance

原文:https://www.cnblogs.com/oscarli/p/12145663.html

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040