数据同步
文章平均质量分 70
Hehuyi_In
这个作者很懒,什么都没留下…
展开
-
MySQL从库1236报错Client requested master to start replication from position > file size
主库断电后主从同步断了?原创 2024-04-30 18:18:16 · 2550 阅读 · 1 评论 -
延迟恢复了? pg重启后pg_stat_replication中的延迟信息会如何变化?
之前重启数据库时遇到一个问题,本来主从间有超过2小时的延迟,重启db后监控突然提示延迟为0,告警恢复。一段时间后,监控又显示延迟逐渐增加,直至逐渐回到2小时。这是为什么?原创 2024-02-14 22:01:42 · 1781 阅读 · 1 评论 -
PostgreSQL 通过 tds_fdw 访问 SQL Server数据,常见报错分析及处理
PostgreSQL 通过 tds_fdw 访问 SQL Server数据,常见报错分析及处理原创 2023-02-07 17:08:08 · 4554 阅读 · 2 评论 -
postgresql源码学习(54)—— HotStandby从库必须设置大于等于主库的参数
HotStandby从库必须设置大于等于主库的参数原创 2023-01-28 11:38:44 · 1767 阅读 · 2 评论 -
PostgreSQL 逻辑复制搭建测试
查看订阅端replay进度 pg_replication_origin_status。local_lsn:本地已持久化(写入事务日志文件)的lsn。查看订阅端状态 pg_stat_subscription。其中最主要的是订阅端接收的lsn信息。已复制到订阅端的发布端 lsn。注意整句基本都是要改的。原创 2023-01-26 22:31:54 · 3452 阅读 · 1 评论 -
postgresql FDW概念、用法与原理小结
FDW (foreign-data wrapper,外部数据包装器),可以让我们在PG中使用SQL查询极为丰富的外部数据原创 2023-01-19 19:09:58 · 9701 阅读 · 0 评论 -
clickhouse 中 ReplicasMaxAbsoluteDelay 的计算
主要是调用该函数,并给absolute_delay和relative_delay变量赋值,这里我们只看absolute_delay。可以看到ReplicasMaxAbsoluteDelay的时间,随着告警发送的日期在增长,但是始终是52年左右。因此大致可以猜测这个值是currenttime减去unix起始时间的秒数,表示一个无穷大而不是真正的延迟。然后是主要的,执行getAbsoluteDelay函数,获取延迟值。52年前刚好是1970年,即unix的起始时间附近。原创 2022-09-30 18:44:34 · 1226 阅读 · 0 评论 -
oracle to polardb-o (postgresql) dblink创建步骤
一、 架构图本质上polardb-o的底层是postgresql数据库,因此该需求可以转换为创建oracle topostgresql的dblink。1.原理图2. 实际架构下面为实际创建步骤二、 安装依赖包 yuminstall-y unixODBC yuminstall-y unixODBC-devel yuminstall-y libtool yuminstall-y libicu yuminstall...原创 2022-04-26 14:34:02 · 3885 阅读 · 0 评论 -
阿里云 DTS同步SQL Server 的101个坑
测试同步源库为SQL Server,目标库为SQL Server、MySQL、ADB for MySQL均会遇到以下问题。其中红色部分为尚无解决方案而影响严重的问题。 序号 问题 影响 解决方案 备注 建议改进项 1 DTS隐式转换问题 1.源库IO吞吐量超过1GB/s、延迟超过1秒 2. 16c CPU使用率超过50% 3. 全量同步速度极慢,超.原创 2022-02-25 17:13:25 · 2610 阅读 · 0 评论 -
Oracle 透明网关创建到 SQLServer dblink
一、 情景介绍业务中有两个不同的系统,分别使用的是 Oracle 和 SQLServer 数据库,现需要在Oracle 数据库中直接查询SQLServer 数据库的数据。Oracle、网关和 SQL Server 可以分别安装在任意主机上,只要满足网络互通就可以。想要在 Oracle 中直接查询 SQL Server 中的数据,需要完成以下步骤:下载并安装透明网关 配置透明网关 配置 Oracle 数据库的 TNS 配置 配置 SQL Server,使其能够远程连接(若已.转载 2020-12-10 01:24:20 · 2790 阅读 · 1 评论 -
SQL Server 变更数据捕获(CDC)vs 更改跟踪(Chang Tracking)
一、 简介在2008版本之前,通常使用DML触发器监控对表数据库的变更,但是触发器的维护比较困难,性能也不高。2008推出了新功能 变更数据捕获(Change Data Capture,即CDC)。二、 实现过程(Realization)1. 启用CDC例如我们的测试库名为CDC_DB--启用数据库CDC USE CDC_DB GO EXECUTE sys.sp_cdc_enable_db; GO --检查启用是否成功 SELECT is_cdc_enabled,CA.转载 2020-10-24 00:00:20 · 4830 阅读 · 0 评论 -
阿里云 DTS迁移自建Oracle优缺点及注意事项记录
经过三个多星期花式踩坑终于迁移成功,记录下DTS优点和迁移过程中遇到的各种问题。一、 注意事项迁移表必须有主键或唯一索引,否则DTS不保证数据一致 支持以DG库作为DTS源,主从库均需开启PK,UK补充日志,只开DG库的会无法进行增量同步 注意源和目标库字符集,如果不一致迁移后可能出现乱码或遇到字段长度报错等 若要同步表比较大,须加大主从库undo_retention参数及undo表空间,在较空闲时操作,否则可能遇到ora-1555报错 根据阿里云回复DTS任务重启后大约会从中断前5分.原创 2020-10-20 12:26:39 · 14615 阅读 · 0 评论 -
Oracle DG —— 可更新的从库 Snapshot Standby Database
一、 简介1. 特点我们知道,无论是Physical还是Logical Standby,都只能从主库同步数据,从库都是只读的,而Snapshot Standby的出现改变了这一点。在Oracle官方文档中,对这个特性的解释如下:A snapshot standby database is a fully updatable standby database. A snapshotstandby database receives and archives, but does not appl.原创 2020-09-14 01:42:15 · 3506 阅读 · 0 评论 -
pg导入数据至sqlserver方法整理及对比
业务方要求将pg中的一个表导入sqlserver,表约1000万行。测试了几种常用的导入导出方法,有成功也有失败的。一、 pg导出为sql文件,sqlserver中执行如果没有用到特殊数据类型或者字符,数据量也比较小,这种方法一般是可以的。1. pg导出里面会有建表、建索引、授权等语句,需要处理一下,或者可以用 --data-only选项。pg_dump -d dbname -U username -t tablename --inserts > tablename.sql.原创 2020-08-28 00:20:02 · 2496 阅读 · 0 评论 -
Oracle dblink中查询会开启事务吗
关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for update会产生事务)。如下测试所示:我们首先准备测试环境,创建了一个database link: LINK_NODEFINE_TEST,然后我们开始测试CREATEPUBLICDATABASE LINK LINK_NODEFINE_TESTCONNECTTO TEST IDENTIFI...转载 2020-08-12 18:11:02 · 3941 阅读 · 0 评论 -
xstream-guide_19c 文档笔记
好长的文档,周末看了100多页,记录些概念XStream由DB组件和API接口组成,能让客户端应用接收源DB数据变化并发送至目标端,目标端可以是非oracle,例如sqlserver/pg/文件系统/第三方软件应用等。XStream是一个程序接口,允许客户端应用连接到oracle数据库并且之间访问db captureprocess或apply processXStream有两个主要部分:XStream Out 和 XStream InXStream Out在源端,从redolog...原创 2020-06-08 00:25:57 · 2994 阅读 · 0 评论 -
SQLServer数据库中开启CDC导致“事务日志空间被占满,原因为REPLICATION”的原因分析和解决办法
SQLServer中开启CDC之后,在某些情况下会导致事务日志空间被占满的现象为:在执行增删改语句(产生事务日志)的过程中提示,The transaction log for database '***' is full due to 'REPLICATION'(数据库“***”的事务日志已满,原因为“REPLICATION”).CDC以及复制的基本原理粗略地讲,对于日志的使用步骤如下: 1,每当基础表(开启了CDC或者replication的表)产生事务性操作(增删改)之后,对应的事务日志写入日转载 2020-06-04 10:45:53 · 3133 阅读 · 0 评论 -
KILL Linked Server异常中断会话后一直处于KILLED/ROLLBACK状态
今天遇到一个很奇怪的情况,发现一个会话异常,这个会话只是在执行一个简单的存储过程,里面使用了链接服务器(Linked Server)查询另外一台服务器数据(存储过程里面没有任何显性事务、UPDATE、DELETE操作,只有几个简单的SELECT查询,其中有两个查询使用了链接服务器Linked Server,由于生产环境,不好贴出SQL语句),在DPA监控工具里面,发现该会话引起了非常长的OLEDB...原创 2020-06-03 00:28:47 · 2703 阅读 · 0 评论 -
Oracle 物化视图相关
一、 简介1. 物化视图是什么逻辑上:物化视图相当于是个普通表,这可以通过其能被user_tables查出得到佐证,因此其上是可以建索引的。物理上:物化视图是一种段,能从user_segment被查出,有自己的物理存储属性,也会占用数据库磁盘空间。2. 物化视图的优点保存复杂查询结果,提升sql响应时间 可定时同步其他数据库表数据(注意不支持实时同步) 提升安全性,...原创 2020-04-04 01:29:16 · 1592 阅读 · 0 评论 -
一图搞懂 PG流复制的各种LAG
关于write_lag,flush_lag,replay_lag 以及 send_lsn,write_lsn,flush_lsn,replay_lsn原创 2023-02-15 00:24:38 · 2399 阅读 · 0 评论 -
SQL Server复制——概述(一)
最近正好做到SQL Server同步,研究研究SQL Server的复制功能记下文档。复制引入于SQL Server 2000,首先说明它不是为灾备而设计的功能,其强大之处在于灵活多变的数据同步方式。一、 复制的组件与基本概念复制借用了出版业术语表示其组件和概念,包括:1. 项目(Articles)被复制的数据库对象。可以是表(可过滤需要同步的列和行)、视图、存...原创 2019-05-15 10:55:39 · 1833 阅读 · 0 评论 -
从 MySQL 迁移到 PostgreSQL 方案调研
之前的文章PostgreSQL 初识和PostgreSQL 数据类型大致的把 PostgreSQL 了解了一下,那么接下来就是真正地把它用起来。PGLoader开源迁移工具,通过一行命令即可做到无缝迁移https://github.com/dimitri/pgloaderPGLoader 原本可以将不同数据源导入到 PostgreSQL 数据库,MySQL 只是它支持的一种。...转载 2019-11-28 00:41:30 · 3521 阅读 · 3 评论 -
oracle 12.1 利用生产dg库不影响业务克隆pdb
oracle 12.1还不支持在线克隆pdb,需要启动到read only模式,生产环境无法接受。突然想到生产库有dg库,dg库本来就是只读的,能不能直接用它作为克隆?查了下文章还真有这种方法,记录一下有空测试。源库(dg库要启到read only模式):SQL> connect sys/oracle@//192.168.78.105/STCDB as sysdbaConn...转载 2019-11-27 23:39:55 · 1594 阅读 · 1 评论 -
mysql 排除部分表数据搭建主从
一、 背景某大库主从同步中断,由于中断时间过长,从库relay log已被删除,需要重建。由于库太大,直接用mysqldump导出可能需要一天甚至几天,导入时间可能更长。沟通发现主库中存储历史数据的几个大表只会不断insert数据而不会update,delete旧数据,到指定时间后会drop分区。从库中不需要查询旧数据,即使故障切换到从库没有了这部分数据影响也不太大。综上,准备在搭建主从时...原创 2019-11-08 15:33:16 · 2087 阅读 · 0 评论 -
mysql 主从中断 Last_Errno: 1396处理
一、 问题背景给主库一个用户重置了一下密码,突然收到告警主从同步中断了...登上从库检查发现报错如下mysql> show slave status\G;...Last_Errno: 1396Last_Error: Error 'Operation ALTER USER failed for 'bakuser'@'localhost'' on query. Default d...原创 2019-11-05 15:49:10 · 5571 阅读 · 1 评论 -
Redis 克隆数据至新实例
一、 新建目标实例为方便测试,直接建在同一台服务器,起不同端口。#建新实例目录mkdir -p /data/redis/rd6380/{conf,datafile,log}#编辑新实例配置文件cp /data/redis/rd6379/conf/redis.conf /data/redis/rd6380/conf/redis.conf#修改新实例配置文件vi /data/r...原创 2019-11-04 19:11:34 · 1699 阅读 · 1 评论