【故障处理】-OGG 丢失归档20190717
再次遇到OGG 异常:
归档丢失,OGG 不能找到需要的归档文件.
该表完整expdp 导出评估为 110G,了解到只有插入操作,所以只把归档丢失期间的数据补到目标端就好。
1. 清理目标端 2019/07/11 18:00 之后数据
- --目标端
SQL>
select count(1) from table1 where GEN_TIME>=to_date('20190711 18:00:00','YYYYMMDD HH24:MI:SS');
delete from table1 where GEN_TIME>=to_date('20190711 18:00:00','YYYYMMDD HH24:MI:SS');
COMMIT;
2. 完成2019/07/11 18:00 之后数据的补充
查询SCN
- select to_char(current_scn) from v$database; --16253916840
导出数据
- DATE=`date +'%Y%m%d'`
expdp userid=source/pass directory=expdir tables=table1 QUERY=table1:\"where GEN_TIME\>=to_date\(\'20190711 18:00:00\',\'YYYYMMDD HH24:MI:SS\'\)\" filesize=10G dumpfile=initogg$DATE%U.dmp logfile=initogg$DATE.log cluster=n FLASHBACK_SCN=16253916840
- DATE=`date +'%Y%m%d'`
SCP 到目标端
- scp initogg$DATE*.dmp ogg@target:/expdir
目标端导入
- DATE=`date +'%Y%m%d'`
impdp target/pass directory=expdir remap_schema=source:target dumpfile=initogg$DATE%U.dmp logfile=impdp_initogg$DATE.log table_exists_action=append
- DATE=`date +'%Y%m%d'`
验证数据
- --source
select count(1) from table1 as of scn 16253916840;
--target
select count(1) from table1;
数据一致,该SCN后的数据通过OGG同步即可。
- --source
3. Source 端OGG 进程处理
Extract 进程处理
- GGSCI> ALTER EXTRACT EXT1 ,ETROLLOVER
GGSCI> info exttrail *
Extract Trail: /ogg/dirdat/ra
Extract: DP1
Seqno: 2900
RBA: 15694
File Size: 100M
Extract Trail: ./dirdat/la
Extract: EXT1
Seqno: 2911 #注意这里新的Seqno 和 RBA
RBA: 0 #下面Dump进程用到
File Size: 100M
#9点到现在归档是连续的,从今天9点的归档开始抽取,前面丢失的不再需要
GGSCI> ALTER EXTRACT EXT1 ,BEGIN 09:00
GGSCI> START EXT1
GGSCI> INFO EXTTRAIL *
Extract Trail: /ogg/dirdat/ra
Extract: DP1
Seqno: 2900
RBA: 15694
File Size: 100M
Extract Trail: ./dirdat/la
Extract: EXT1
Seqno: 2911
RBA: 19070157 #RBA变更,已有数据被抽取到trail文件
File Size: 100M
- GGSCI> ALTER EXTRACT EXT1 ,ETROLLOVER
DB 进程处理
- GGSCI> info DP1
EXTRACT DP1 Last Started 2019-07-13 14:57 Status STOPPED
Checkpoint Lag 00:00:00 (updated 17:00:23 ago)
Log Read Checkpoint File ./dirdat/la002910 #使用的旧的trail文件
2019-07-11 20:39:24.000000 RBA 31497286
GGSCI> ALTER EXTRACT DP1, EXTSEQNO 2911, EXTRBA 0 #切换到Extract使用的新文件
GGSCI> info DP1
EXTRACT DP1 Initialized 2019-07-17 11:11 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Log Read Checkpoint File ./dirdat/la002911
First Record RBA 0
#启动Dump进程
GGSCI> START DP1
GGSCI> INFO DP1
EXTRACT DP1 Last Started 2019-07-17 11:12 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:08 ago)
Log Read Checkpoint File ./dirdat/la002911
2019-07-17 11:12:50.000000 RBA 19537151 #需等一会儿才有变化
GGSCI> INFO EXTTRAIL *
Extract Trail: /ogg/dirdat/ra
Extract: DP1
Seqno: 2901 #Dump进程启动后自动切换了远端trail文件
RBA: 19581384
File Size: 100M
Extract Trail: ./dirdat/la
Extract: EXT1
Seqno: 2911
RBA: 19601526
File Size: 100M
- GGSCI> info DP1
查看Source 端状态都已正常
- GGSCI> INFO ALL #相关进程都处于Running 状态,且无延迟
4. Target 端OGG 进程处理
基于SCN 启动Replicat 进程
- GGSCI> info RP1
REPLICAT RP1 Last Started 2019-07-12 06:00 Status STOPPED
Checkpoint Lag 00:00:00 (updated 17:03:31 ago)
Log Read Checkpoint File ./dirdat/ra002900 #当前还在使用2900
2019-07-11 20:39:24.096454 RBA 15694
#从指定SCN 开始应用
GGSCI> START REPLICAT RP1, ATCSN 16253916840
GGSCI> info RP1
REPLICAT RP1 Last Started 2019-07-17 11:15 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint File ./dirdat/ra002901 #已经自动切换到了2901
2019-07-17 11:15:20.967710 RBA 19923873
Replicat 在2900没找到需要的SCN,在2901里才能找到,所以自动完成了切换
5. 数据验证
- --source
select count(1) from table1;
--target
select count(1) from table1;
【故障处理】-OGG 丢失归档20190717的更多相关文章
- 【OGG 故障处理】 丢失归档恢复
OGG 有两天由于某种原因没有启动,而这段时间的备份文件缺失了一部分归档.恢复过程记录如下: GGSCI (xxxx) > info all Program Status Group Lag a ...
- dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复
dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复 环境: OS: CentOS 6.5 DB: Oracle 10.2.0.5 1.主备库环境 主库: SQL> sel ...
- dataguard丢失归档日志处理
检查alert日志发现报错如下 Wed Mar 27 15:40:30 2019Managed Standby Recovery not using Real Time ApplyParallel M ...
- Oracle DataGuard主库丢失归档日志后备库的RMAN增量恢复一例
第一部分 问题描述和环境状态确认 ----1. 问题场景 Oracle DataGuard主库丢失archivelog,如何不重建备库完成同步? 在Oracle DataGuard主从同步过程中可能 ...
- OGG学习笔记03-单向复制简单故障处理
OGG学习笔记03-单向复制简单故障处理 环境:参考:OGG学习笔记02-单向复制配置实例 实验目的:了解OGG简单故障的基本处理思路. 1. 故障现象 故障现象:启动OGG源端的extract进程, ...
- Oracle主库归档丢失,备库日志有gap,在不重建备库的情况下,恢复备库
本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http: ...
- OGG学习笔记03
OGG学习笔记03-单向复制简单故障处理 环境:参考:OGG学习笔记02-单向复制配置实例实验目的:了解OGG简单故障的基本处理思路. 1. 故障现象故障现象:启动OGG源端的extract进程,da ...
- OGG学习笔记04-OGG复制部署快速参考
OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...
- OGG学习笔记05-OGG的版本
刚接触OGG的时候,很容易被众多的版本搞晕,虽然官方有提供各版本对应认证OS和DB的表格. 个人认为一个比较简单的方式,是直接去edelivery.oracle.com下载OGG,选定一个大版本后,这 ...
随机推荐
- T-SQL_常用内置函数和操作
作者:icyjiang 推荐:LinkEdu SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数 ...
- redis和memcache对比
1.性能方面:没有必要过多的关心性能,因为二者的性能都已经足够高了.由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached ...
- idea的alt+enter可以从菜单点吗
在idea中,当java某个类的包没有引入的时候,可以通过alt+enter来实现包的引入,那么可以通过菜单按钮,或者右键的方式点出来吗? 我们知道eclipse如果某个类为止,放在这个报错的类上,e ...
- 使用sql语句创建和删除约束示例代码
使用sql语句创建和删除约束 约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空. 唯一约束(Unique constraint) --: ...
- 进程间通信之pipe
实现数据传递 两个进程之间通信 多个进程之间通信,会导致数据不安全,需要加锁,示例 分类 无名管道:父子间进程通信 有名管道:父子间进程通信:任意两个进程之间通信 创建管道方法 os.mkfifo(p ...
- linux系统 重启盘符错乱问题
linux磁盘重启乱序问题处理 最近到客户那去巡检时,客户提到一个问题,他们的rac在重启的时候,原来的sda1.sdb1.sdc1会对应变成sdd1.sde1.sdf1,由于他们使用的是盘符来绑定裸 ...
- 【GStreamer开发】GStreamer基础教程07——多线程和Pad的有效性
目标 GStreamer会自动处理多线程这部分,但在有些情况下,你需要手动对线程做解耦.本教程会教你怎样才能做到这一点,另外也展示了Pad的有效性.主要内容包括: 如何针对部分的pipeline建立一 ...
- LeetCode 637. 二叉树的层平均值(Average of Levels in Binary Tree)
637. 二叉树的层平均值 637. Average of Levels in Binary Tree LeetCode637. Average of Levels in Binary Tree 题目 ...
- Asp.Net Core 调用第三方Open API查询物流数据
在我们的业务中不可避免要与第三方的系统进行交互,调用他们提供的API来获取相应的数据,那么对于这样的情况该怎样进行处理呢?下面就结合自己对接跨越速运接口来获取一个发运单完整的物流信息为例来说明如何在A ...
- python基础学习(十一)
22.类 # 类 class # 实例 实体 instance class Student: # 空语句 保持结构的完整性 pass jack = Student() jack.name = &quo ...