这篇梳理一下主库不停机状态下搭建DG备库的流程。...一、环境规划 主库(RAC) 备库(standalone) 说明 db_name xkdb xkdb 必须一致 db_unique_name xkdb xkdg 必须不一致 instance_name...二、主库设置 1....拷贝密码文件 将主库密码文件传输到备库 查询主库pw文件位置 方法1:srvctl config database -d xkdb 方法2:asmcmd 进去 pwget --dbuniquename...静态监听 备库为什么一定要配置静态监听?
首先主库是Queuedb,备库是s2queuedb,使用RMAN的duplicate来搭建,主备库的网络配置listener.ora,tnsnames.ora都没有问题。...但是使用RMAN命令的时候就抛出了下面的错误,从错误信息可以看出来,主库是没有启动起来。...赶紧连接到主库去看,发现主库的状态都正常,松了一口气,继续在备库看问题的缘由。 在备库端使用TNS的方式连接,抛出了错误,看起来数据库是明显连接到备库了。...initialization or shutdown in progress Process ID: 0 Session ID: 0 Serial number: 0 但是查看tnsping的结果,和主库的输出一致...而换一个思路,直接连备库,因为还没有open,输出肯定是01033的错误。
前言部分 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 主库为rac,备库为rac的物理dg的搭建(重点) ② dbca...… )' 主库与备库端采用相同设置。...为主库和备库配置监听,整个DG的redo传输服务,都依赖于Oracle Net,因此需要为主备库配置监听,且需要配置静态监听 配置方法多种多样,可用netmgr,netca,以及直接编辑listener.ora...TESTDG) (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db) (SID_NAME= DGPHY2) ) ) 配置主库和备库的...由于要求主库与备库sys使用相同的密码,在此处,我们直接复制了主库的密码文件到备库,将主库第一个节点的密码文件copy到其它3个节点并修改名称,名称为orapw+ORACLE_SID [LHRAXXTDB3
DG搭建时,官方文档手册有明确提到要设置数据库为force_logging,防止有nologging操作日志记录不全导致备库应用时出现问题。...虽然是老生常谈的安装规范,但现实中总会遇到不遵守规范的场景,最近就在某客户现场遇到一则这样的案例,因为DG主库设置force_logging晚于DG搭建,导致备库出现坏块,使用dbv检查就表现为DBV-...DATABASE NO FORCE LOGGING; 搭建一套测试DG:主库修改系列DG配置参数后,创建pfile给备库修改使用,同时将密码文件、tnsnames.ora文件传输到备库端,启动实例到nomount...2.构造故障场景 主库用户表空间xxx,创建一张表插入数据,nologging创建索引;切换日志,备库检查坏块情况。...当然如果造成坏块的数据文件不是很多,相比较全库而言,直接重新备份受损的数据文件也许是更效率的方案: 比如我这里测试环境,就只有1个数据文件收到了影响,只需要修复它就好: 3.1 确认下主库的这个文件是好的
今天小麦苗给大家分享的是修复由于主库NOLOGGING操作引起的备库ORA-01578和ORA-26040错误。...修复由于主库NOLOGGING操作引起的备库ORA-01578和ORA-26040错误 (一)NOLOGGING操作引起的坏块(ORA-01578和ORA-26040)简介 如果只是错误ORA-01578...主库出现nologging坏块可能是由于主库执行过备份恢复或者之前是备库,执行了switchover。...在一些场景中,我们会去使用 nologging 操作去节省大量数据插入的时间,而这种操作所带来的问题就是,如果该库在有备库的情况下,因为主库的 nologging 插入操作不会生成 redo ,所以不会在备库上传输和应用...如果主库中 UNRECOVERABLE_CHANGE #列的值大于备库中的同一列,则需要将这些数据文件在备库恢复。
一、使用innobackupex创建全备 语法 innobackupex --user=DBUSER --password=DBUSERPASS /path/to/backup/dir/ innobackupex...表示成功 二、使用innobackupex预备全备 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。...启动数据库 当数据恢复至DATADIR目录以后,还需要确保所有数据文件的属主和属组均为正确的用户,如mysql,否则,在启动mysqld之前还需要事先修改数据文件的属主和属组。...表的相关文件,同时还会备份触发器和数据库配置信息相关的文件。...LSN是整个数据库系统的系统版本号,每个页面相关的LSN能够表明此页面最近是如何发生改变的。
,当然经过进一步验证,如果存在其他正常的备库(状态是normal),那么其中一个备库catchup不会阻塞主库。...下面我们来复现一下这个问题,由于openGauss主从搭建会自动创建物理复制槽,所以备库需要的xlog主库不会自动清理,那么我们就可以先把两个备库都停掉(我这里的环境是一主两备),然后在主库插入大量数据...,产生大量xlog的堆积,然后过一段时间再挨个开启备库,查看追数过程中tps的影响。...: [omm@db03 ~]$ gs_ctl start -M standby 观察状态,虽然sync_percent没有完全同步完,状态是catchup,(有时候也有可能是normal,可能和主备启动时间间隔有关...),因为此时已经有一个正常同步的备库,这时第二个备库在追数过程中不会影响主库。
目录 一、下载镜像 二、DG环境初始化 三、主库做闪回数据库操作 四、备库做闪回操作 五、查询主备库是否实时同步 六、总结 本文介绍一下,在DG环境中,若主库做了闪回数据库的操作后,备库如何通过flashback...操作,继续和主库保持同步,而不用重新搭建DG。...创建DG的网络 docker network create --subnet=192.168.68.0/16 mhalhr docker network inspect mhalhr -- 分别初始化主库和备库...六、总结 1、在DG环境中,建议对主库和备库都开启闪回数据库的特性,并且设置比较大的闪回恢复区(db_recovery_file_dest_size)。...2、在DG环境中,若主库做了闪回数据库的操作,那么备库必须做相关的闪回操作才能恢复DG的同步关系。 本文结束。
♣ 题目部分 在Oracle中,如何修复由于主库NOLOGGING引起的备库ORA-01578和ORA-26040错误?...在这些场景中,DBA可能会使用NOLOGGING操作去节省大量数据插入的时间,而这种操作所带来的问题就是,如果该库在有备库的情况下,因为主库的NOLOGGING插入操作不会生成Redo,所以不会在备库上传输和应用...,这会导致备库的数据出现问题,报ORA-01578和ORA-26040的错误。...(一)Oracle 11g 在Oracle 11g中,如果遇到这样的问题,可以通过将包含缺少数据的数据文件从主库复制到物理备库再重命名数据文件来解决问题。...如果主库中UNRECOVERABLE_CHANGE#列的值大于备库中的同一列,那么需要将这些数据文件在备库恢复。
,要求相同的数据库版本,相同的操作系统平台,备库只能以只读模式打开逻辑卷效率较差一般不会做数据库容灾方案存储复制数据一致性高,效率好但是备库不可用,有可能把主库的磁盘坏块也复制过去IBM等存储厂商上述四种方式分别从应用底层到应用上层进行复制...业务场景基于腾讯云的数据库架构分析主库:业务写入流量灾备库:通过Mysql主从复制,异步进行数据同步,特殊情况下转为主库只读库:业务读出流量只读库:运营侧需求的读出流量流量容灾库的必要性区分核心业务和非核心业务...,非核心业务,由于没有太大访问量,没必要花更多的成本去做容灾主从库的必要性读写分离是否有效降低主库负载总结功能&目标差异灾备数据库:主要用于在主数据库发生故障时,能够迅速接管业务,保证数据的可靠性和业务的连续性...不管企业的业务环境有多复杂,灾备的核心就是解决数据同步和应用程序变更的多地发布的问题只读数据库:主要用于分担主数据库的读取压力,提高读写性能,增加应用的吞吐量。...只读数据库不允许写入操作,但可以读取数据,适用于读操作远多于写操作的场景。综上所述,灾备和只读各有其独特的功能和适用场景,我们可以根据自身业务需求选择合适的数据库类型。
mysql版本Version:8.0.18 从监控上看备库延迟越来越大 1624417087(1).jpg show processlist 查看mysql线程 备库在应用主库同步的DDL操作语句处于Waiting
请确保和备库相关的STATUS栏位为 VALID,GAP_STATUS栏位为NO GAP 1.2 确保备库的临时文件和主库一样 主备库分别执行如下语句 SELECT TMP.NAME FILENAME...执行Switchover switchover的步骤很简单 将主库切换至备库 将原备库切换至主库 建议切换过程中打开相应的alert日志以便查看报错 2.1 查看主库是否可以切换至备库 SQL> SELECT...SWITCHOVER_STATUS FROM V$DATABASE; 该状态必须是TO STANDBY 或 SESSIONS ACTIVE image.png 2.2 将主库切换至备库 切换之前...STARTUP MOUNT; 这时原来的主库已经是物理备库的角色,这时DG环境中有2个备库角色 ?...SHUTDOWN在前面的查询为sessions active 时需要加上 这时可以看到原备库已经成为主库 ?
pg主备库的搭建,首先需在2个节点安装pg软件,然后依次在2个节点配置主备。本文采用os为CentOS7.6,pg版本使用14.2,以下为详细部署步骤。...max_connections必须要大于主库的■■ 从节点■ 从主库同步数据pg_basebackup -D $PGDATA -h node1 -p 5432 -U replica -X stream...由于从主库同步数据库,其中配置也需要移除和修改vim $PGDATA/postgresql.conf# 移除或注释 wal_levelwal_level = xxx# 修改或添加以下primary_conninfo...pg_ctl start■■ 确认同步■ 主库查看ps aux |grep sender# 返回 postgres: walsender replica 192.168.222.12(64218) streaming...receiver# 返回 postgres: walreceiver streaming 3/27000148■■■ 监控■■ SamplerSampler 是一个用于 shell 命令执行、可视化和警报的工具
目录 一、下载镜像 二、DG环境初始化 三、主库做备份操作 四、主库查询SCN,后续恢复到该时间点 五、主库还原,做不完全恢复 六、备库做闪回操作 七、查询主备库是否实时同步 八、总结 本文介绍一下,在...DG环境中,主库使用rman做不完全恢复后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。...创建DG的网络 docker network create --subnet=192.168.68.0/16 mhalhr docker network inspect mhalhr -- 分别初始化主库和备库...八、总结 1、在DG环境中,建议对主库和备库都开启闪回数据库的特性,并且设置比较大的闪回恢复区(db_recovery_file_dest_size)。...2、在DG环境中,若主库做了不完全恢复,那么备库必须做相关的闪回操作才能恢复DG的同步关系。
一 主库手动复制至从库 1.1 Master主库锁表 1 mysql> flush tables with read lock; 2 Query OK, 0 rows affected (0.00...sec) 1.2 主库备份 1 [root@master ~]# mysqldump -uroot -p -B mydb > master.sql 说明:-B参数有建库语句。...1.3 从库导入数据库 1 [root@Slave01 ~]# mysql -uroot -padmin < master.sql 1.4 主库解开锁表功能 1 mysql> unlock tables
下图是一个基本的一主多从结构 image.png 图中,虚线箭头表示的是主备关系,也就是A和A’互为主备,从库B、C、D指向的是主库A。...一主多从的设置,一般用于读写分离,主库负责所有的写入和一部分读,其他的读请求则由从库分担 一主多从结构在切换完成后,A’会成为新的主库,从库B、C、D也要改接到A’ 1、基于位点的主备切换 当我们把节点...3、基于GTID的主备切换 在GTID模式下,备库B要设置为新主库A’的从库的语法如下: CHANGE MASTER TO MASTER_HOST=$host_name MASTER_PORT=$port...但是,考虑到要避免新增索引对主库性能造成的影响,可以先在备库加索引,然后再切换,在双M结构下,备库执行的DDL语句也会传给主库,为了避免传回后对主库造成影响,要通过set sql_log_bin=off...关掉binlog,但是操作可能会导致数据和日志不一致 两个互为主备关系的库实例X和实例Y,且当前主库是X,并且都打开了GTID模式。
总结 总结 进入备机流程和主库启动流程类似,区别是主库做完xlog归档模式恢复之后就把startup退了,正常启动,而备机不会退startup,持续等待、读取日志(等的是哪把锁?看下一篇)。...PG的备库、redo函数入口都是StartupXLOG函数 StartupXLOG函数主要分成几步: 解析control文件 解析recovery.conf 找到上一个chk位点 把chk日志读出来...下面分析中涉及的集中lsn表示形式: Postgresql中lsn的三种记录形式与相关代码 备库启动与redo流程 1、下面【7】以后进入redo循环 2、checkPoint.redo表示redo...standby_mode == 'on' if (ArchiveRecoveryRequested && StandbyModeRequested) :进入备机模式
mysql读写分离 虽然主库一般用于写操作,但也是能读的。那么今天的问题来了。 主库更新后,主库都读到最新值了,从库还有可能读到旧值吗? 主库更新后,从库都读到最新值了,主库还有可能读到旧值吗?...正常的主从更新流程 比如我在主库和从库都有张user表,此时有以下两条数据。...在这里relay log的作用就类似于一个中间层,主库是多线程并发写的,从库的sql线程是单线程串行执行的,所以这两边的生产和消费速度肯定不同。...可以通过在从库中执行 show full processlist; 确认 io线程和sql线程的存在。 io线程和sql线程 因此总结起来,主从同步的步骤就是 1.执行更新sql语句。...主库更新后,从库都读到最新值了,主库还有可能读到旧值吗? 那另一个问题就来了,如果从库都读到最新值了,那说明主库肯定已经更新完成了,那此时读主库是不是只能读到最新值呢?
对于MySQL数据库的热备,xtrabackup是除了MySQL enterprise backup之外的不二之选。...该工具提供了基于innodb存储引擎的热备,支持全量,增量备份,部分备份,时点恢复以及使用xtrabackup备份来重做slave等。...支持同时备份InnoDB和MyISAM引擎的表。 注:本文描述的xtrabackup与innobackupex可以看做是同一概念。...由于XtraBackup其内置的InnoDB库打开文件的时候是rw的,所以运行XtraBackup的用户,必须对InnoDB的数据文件具有读写权限。...--------------+--------+ | default_storage_engine | InnoDB | +------------------------+--------+ #全备数据库
领取专属 10元无门槛券
手把手带您无忧上云