• 2024-09-27【实战篇】为什么临时表可以重名?
    背景在上一篇文章中,我们在优化join查询的时候使用到了临时表。当时,我们是这么用的:createtemporarytabletemp_tliket1;altertabletemp_taddindex(b);insertintotemp_tselect*fromt2whereb>=1andb<=2000;select*fromt1jointemp_ton(t1.b=tem
  • 2024-09-25第二十五讲:备库为什么会延迟好几个小时?
    第二十五讲:备库为什么会延迟好几个小时?简概开篇​ 在上一篇文章中,我和你介绍了几种可能导致备库延迟的原因。你会发现,这些场景里,不论是偶发性的查询压力,还是备份,对备库延迟的影响一般是分钟级的,而且在备库恢复正常以后都能够追上来。​ 但是,如果备库执行日志的速度持续低于主
  • 2024-09-24第二十四讲:MySQL是怎么保证高可用的?
    第二十四讲:MySQL是怎么保证高可用的?简概:依旧是开篇​ 在上一篇文章中,我和你介绍了binlog的基本内容,在一个主备关系中,每个备库接收主库的binlog并执行。正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一
  • 2024-09-20【实战篇】MySQL是怎么保证高可用的?
    背景在一个主备关系中,每个备库接收主库的binlog并执行。正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一致性。但是,MySQL要提供高可用能力,只有最终一致性是不够的。主备切换可能是一个主动运维动
  • 2024-09-20【实战篇】MySQL是怎么保证主备一致的?
    MySQL主备的基本原理如图1所示就是基本的主备切换流程。在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持节点B和A的数据是相同的。当需要切换的时候,就切成状态2。这时候客户端读写访问的都是节
  • 2024-09-18gh-ost
    优质博文:IT-BLOG-CN一、gh-ost的作用gh-ost是由Github提供的OnlineDDL工具,使用binlog代替之前的触发器做异步增量数据同步,从而降低主库负载。基于触发器的OnlineDDL工具原理:【1】根据原表结构执行alter语句,新建一个更新表结构之后的表,称为幽灵表,对用户是透明的。【2
  • 2024-09-14高可用架构
    高可用架构主备一致基本原理M-S架构:客户端的读写都直接访问A库,直到切换时把客户端读写切换给B库,A变成备库备库设置为readonly状态:防止切换过程出现双写,可以用readonly状态判断节点的角色基本原理:主库A和备库B之间维持一个长连接,主库内部有一个线程专门用于服务B的这个长连
  • 2024-08-22达梦读写分离集群的配置与测试
    操作系统版本CentOS7.6数据库版本DM8_20240712数据守护集群版本V4.0目录1.环境准备2.dm_svc.conf配置3.实现原理4.测试1.环境准备        配置读写分离集群,需要先搭建即时归档或实时归档模式的主备集群。我们使用上篇文档《在一台主机上搭建达梦主备集群
  • 2024-08-16【MySQL】开启并行复制
    一、介绍在官方的5.6版本之前,MySQL只支持单线程复制,由此在主库并发高、TPS高时就会出现严重的主备延迟问题。如果备库执行日志的速度持续低于主库生成日志的速度,那么主从延迟就有可能成了小时级别。而且对于一个压力持续比较高的主库来说,备库很可能永远都追不上主库。1>MyS
  • 2024-08-11PostgreSQL的同步异步复制简介及互相转换
    PostgreSQL的同步/异步复制简介及互相转换一、介绍1.概念1.1.同步流复制同步流复制就是当主库发生变化,比如有一条DML语句产生了WAL日志后,通过后台进程传送到备库,备库必须要应用这个日志,然后向主库返回一个成功应用的信号,主库才可以成功的commit;否则主库会一直等待到备库成功
  • 2024-08-07MySQL 备库可以设置 sync_binlog 非 1 吗?【转】
    众所周知,防止断电丢失Binlog、故障恢复过程丢失数据,MySQL主库必须设置sync_binlog=1。那么作为备库可以例外吗?我们的第一反应当然是不行,既然主库会丢数据,备库自然一样。但其实不然,备库丢了数据是可以重新从主库上复制的,只要这个复制的位置和备库本身数据的位置一致就OK了,它
  • 2024-08-02利用 Oracle 19c 新特性 from service 修复备库 GAP
    转发自:https://mp.weixin.qq.com/s/Jz8lEQ6QAnjoTeErbX0q_g前 言相信我们DBA在OracleDataGuard环境中遇到过因主库归档空间有限,归档日志又没有备份,空间满的时候直接删除了归档,导致丢失归档日志,而备库还没有及时接收到这个归档,导致备库出现了GAP现象。因为日志的中断,备
  • 2024-07-30达梦DM8读写分离环境搭建及原理
    达梦DM8读写分离环境搭建及原理 DM8读写分离是建立在主备基础上,搭建过程大致相同,区别如下:1、主备的dmarch.ini不同。读写分离是:ARCH_TYPE=TIMELY#即时归档类型主备是:ARCH_TYPE=REALTIME#实时归档类型2、客户端连接集群配置稍有不同。客户端主机上需要配置dm_sv
  • 2024-07-18达梦数据库的系统视图v$rapply_sys
    达梦数据库的系统视图v$rapply_sys在达梦数据库(DMDatabase)中,V$RAPPLY_SYS是一个系统视图,用于显示数据库的实时应用(Real-timeApply)系统信息。实时应用是一种数据库复制技术,允许将一个数据库的更改实时应用到另一个数据库中,通常用于数据同步、数据分发和灾难恢复等场景。
  • 2024-07-16【DG】DataGuard动态性能视图及日志传输/应用服务说明
    一、DataGuard相关动态性能视图 序号 动态性能视图名称 说明1 v$database 查询打开模式,角色,保护模式,保护级别2 v$managed_standby 备库查询进程情况,RFS、MRP03 v$standby_log 查看standbyredolog4 v$archive_dest_statu
  • 2024-06-24MySQL之复制(十四)
    复制复制有多快关于复制的一个比较普遍的问题是复制到底有多快?简单来讲,它与MySQL从主库复制事件并在备库重放的速度一样快。如果网络很慢并且二进制日志事件很大,记录二进制日志和在备库上执行的延迟可能会非常明显。如果查询需要执行很长事件而网络很快。通常可以认为查询
  • 2024-06-21MySQL之复制(九)
    复制复制管理和维护确定主备是否一致在理想情况下,备库和主库的数据应该是完全一样的。但事实上备库可能发生错误并导致数据不一致。即使没有明显的错误,备库同样可能因为MySQL自身的特性导致数据不一致,例如MySQL的Bug、网络中断、服务器崩溃,非正常关闭或者其他一些错误。(
  • 2024-06-18MySQL之复制(二)
    复制配置复制为MySQL服务器配置复制非常简单。但由于场景不同,基本的步骤还是有所差异的。最基本的场景是新安装的主库和备库,总的来说分为以下几步:1.在每台服务器上创建复制账号2.配置主库和备库3.通知备库连接到主库并从主库复制数据这里我们假定大部分配置采用默认值
  • 2024-05-14Oracle RAC备库启动service报"ORA-16000: database open for read-only access"
     OracleRAC备库启动service报"ORA-16000:databaseopenforread-onlyaccess" 还是2019.03.01那天的事了,当时在KFT客户就遇到这个问题,最近在规整一些资料看到当时待整理的文档,就抽空做做实验整理下。报错信息如下,ADG备库:[oracle@xxxprdoradb01~]$srvctlstartservic
  • 2024-05-0219.3 ADG备库,数据文件SCN不更新(Bug: 29056767),导致备库异常重启后,需要重新apply很久以前的归档日志
    故障现象:一套19.3ADG备库,备库安装完集群补丁重启后,发现需要重新apply很久以前的归档日志。分析过程:1、备库安装完补丁后,启动备库的日志恢复功能,在启动过程中报错,详细的日志如下所示。2024-04-16T18:34:40.895637+08:00BeginningStandbyCrashRecovery. Startedlogm
  • 2024-04-11openGauss监控场景处理
    openGauss监控场景处理死锁数量异常判断方法:selectsum(deadlocks)asdeadlocksfromdbe_perf.GLOBAL_STAT_DATABASE异常分析:请求与保持条件:获取资源的进程可以同时申请新的资源。非剥夺条件:已经分配的资源不能从该进程剥夺。循环等待条件:多个进程构成环路,并且每个进程
  • 2024-04-10openGauss数据与PostgreSQL的差异对比
    openGauss数据与PostgreSQL的差异对比前言openGauss数据库已经发布2.0.1版本了,中启乘数科技是一家专业的专注于极致性能的数据库服务提供商,所以也关注openGauss数据库的特性。因为openGauss是从PostgreSQL发展出来的,所以我们详细讲解对比一下openGauss与原生Po
  • 2024-04-09Postgres 数据库(一)基本命令
    一、主备数据一致性1、通过wal检测两个数据库实例数据是否一致(该sql语句需要在主库上执行)1.1pg_stat_replication可以进行流复制监控(pg_stat_replication视图显示WAL发送进程的详细信息)postgres=#SELECT*FROMpg_stat_replication;-[RECORD1]--—-----+-—--------
  • 2024-04-08Oracle ADG主备切换
    文章目录一、主库切换备库二、备库切换主库三、新备库(原主库)启用实时日志应用四、新主库切换日志五、查看当前主备库状态一、主库切换备库#查看切换前的状态,确认当前从操作的是主库selectname,open_mode,switchover_statusfromv$database;#切日志altersyste
  • 2024-03-29KingbaseES V8R6集群运维案例之---备库register故障
    案例说明:据现场实施人员说,备库执行了clone,启动数据库服务,执行'repmgrstandbyregister'后,无法将备库register到集群。适用版本:KingbaseESV8R6一、问题现象如下图所示,执行'repmgrstandbyregister',register失败:二、问题分析1、repmgrstandbyregister分析如下图所示: