OGG-00446 分析与解决

1 00446

   OGG 的一些错误编号,包含了很多种不同的原因。00446 就是这样的一种,不同的原因有不同的提示。本文包含两种:
  

  • Missing filename opening checkpoint file

  • could not find archived log

下面看分析与解决方法。

1.1 Missing filename opening checkpoint file

1.1.1 错误信息

2019-07-02T23:26:17.998+0800  ERROR   OGG-00446  Oracle GoldenGate Delivery, xmsys.prm:  Missing filename opening checkpoint file.
2019-07-02T23:26:17.999+0800 ERROR OGG-01668 Oracle GoldenGate Delivery, xmsys.prm: PROCESS ABENDING.

1.1.2 分析

出现此错误,原因是参数配置与命令不匹配。比如from file方式的数据应用进程,如果使用ggsci命令start命令 来启动, 则会出现这种错误。下面是两则安全,根本原因都是命令与参数配置不匹配,一种是初始化,一种是实时 应用。

  1. 案例1->初始化

    • 参数配置
      以下配置为一例 ogg for kafka 的 From File 方式初始化应用进程的配置。

        SPECIALRUN    -- 此行为重点
      END RUNTIME
      SETENV(nls_lang="AMERICAN_AMERICA.ZHS16GBK")
      targetdb libfile libggjava.so set property=dirprm/xmins.props
      EXTFILE dirdat/ii
      reportcount every 1 minutes , rate
      grouptransops 10000
    • 启动命令

      start initsp
      
    • 日志

        .........
      2019-07-02T23:26:15.409+0800 INFO OGG-01360 Oracle GoldenGate Delivery, xmsys.prm: REPLICAT is running in Special Run mode.
      2019-07-02T23:26:15.615+0800 INFO OGG-15052 Oracle GoldenGate Delivery, xmsys.prm: Using Java class path: ggjava/ggjava.jar:ggjava/resources/lib/optional/log4j-api-2.9.1.jar:ggjava/resources/lib/optional/log4j-core-2.9.1.jar:ggjava/resources/lib/optional/log4j-slf4j-impl-2.9.1.jar.
      2019-07-02T23:26:17.988+0800 INFO OGG-01815 Oracle GoldenGate Delivery, xmsys.prm: Virtual Memory Facilities for: COM
      anon alloc: mmap(MAP_ANON) anon free: munmap
      file alloc: mmap(MAP_SHARED) file free: munmap
      target directories:
      /home/ogg/dirtmp.
      2019-07-02T23:26:17.998+0800 ERROR OGG-00446 Oracle GoldenGate Delivery, xmsys.prm: Missing filename opening checkpoint file.
      2019-07-02T23:26:17.999+0800 ERROR OGG-01668 Oracle GoldenGate Delivery, xmsys.prm: PROCESS ABENDING.
    • 解决 通过操作系统命令 replicat 执行初始化:

      $OGG_HOME/replicat paramfile $OGG_HOME/dirprm/xmsys.prm
      
  2. 案例2->实时抽取
    • 参数配置

        passthru
      rmthost 192.168.153.129, mgrport 7809
      rmttrail /u02/ggs/dirdat/td
      gettruncates
      table scott.*;
      sequence scott.*;
    • 分析 第一行应为:

      extract test
      

1.2 could not find archived log

 

1.2.1 错误信息

在ggserr.log 中发现如下错误:

2019-05-31t10:56:53.629+0800  error   ogg-00446  oracle goldengate capture for oracle, extxmdev.prm:  could not find archived log for sequence 2649 thread 1 under default destinations sql <select  name    from v$archived_log   where sequence# = :ora_seq_no and         thread# = :ora_thread and         resetlogs_id = :ora_resetlog_id and         archived = 'yes' and         deleted = 'no' and         name not like '+%'         and standby_dest = 'no' >, error retrieving redo file name for sequence 2649, archived = 1, use_alternate = 0not able to establish initial position for sequence 2649, rba 13816848.
2019-05-31t10:56:53.641+0800 error ogg-01668 oracle goldengate capture for oracle, extxmdev.prm: process abending.

1.2.2 分析

从错误信息提示来看,是归档日志找不到引起的中断。经查看归档日志确实不存在。 已被物理删除。且没有备份。

数据不重要

此时可以修改extract 的起始值,跳过缺失的归档文件,这在测试和开发环境 中应用较多。 首先查看可用归档:

select sequence# ,first_change#, next_change# ,deleted,applied,status from v$archived_log;

 sequence# first_change# next_change# del applied   s
---------- ------------- ------------ --- --------- -
3759 16360310 16401138 yes no a
3760 16401138 16419033 no no a

从上面的查询结果来看,3759号归档已被删除,最新可用归档是3760. 对应最早的 scn号是16401138. 将extract 进程的scn 值调整至16401138:

alter extrace extxmdev, scn 16401138
start ext extxmdev
数据重要
此时需要从备份中恢复相应的归档文件

Author: halberd.lee

Created: 2019-07-15 Mon 00:16

Validate

OGG-00446 分析与解决的更多相关文章

  1. Mybatis关联查询和数据库不一致问题分析与解决

    Mybatis关联查询和数据库不一致问题分析与解决 本文的前提是,确定sql语句没有问题,确定在数据库中使用sql和项目中结果不一致. 在使用SpringMVC+Mybatis做多表关联时候,发现也不 ...

  2. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  3. 启动Tomcat一闪而过——分析及解决过程

    启动Tomcat一闪而过--分析及解决过程 嗯,昨天将有关JDK的知识稍微整理了一下,现在稍微整理一下有关Tomcat的! 1:Tomcat是什么? Tomcat是当今世界上使用最为广泛的.开源免费的 ...

  4. SQL Server2005索引碎片分析和解决方法

    SQL Server2005索引碎片分析和解决方法 本文作者(郑贤娴),请您在阅读本文时尊重作者版权. 摘要: SQL Server,为了反应数据的更新,需要维护表上的索引,因而这些索引会形成碎片.根 ...

  5. JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...

  6. mybatis异常:Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}问题分析及解决

    转载自:http://blog.csdn.net/jackpk/article/details/44158701 mybatis异常:Improper inline parameter map for ...

  7. php中session_start()相关问题分析与解决办法

    介绍下,在php中使用session时遇到的一些问题,与相关解决方法.1.错误提示Warning: Cannot send session cookie - headers already sentW ...

  8. 左右c++与java中国的垃圾问题的分析与解决

    左右c++与java中国的垃圾问题的分析与解决 DionysosLai(906391500@qq.com)  2014/8/1 问题分析: 之所以会出现中文乱码问题,归根结底在于中文的编码与英文的编码 ...

  9. 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析

    文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与jav ...

随机推荐

  1. linux的top下buffer与cache的区别、free命令内存解释

    buffer:    缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据 的区域.通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据 时,速度快的设备的操作进程不发 ...

  2. Delphi WaitCommEvent函数

  3. Go语言基础之操作MySQL

    Go语言操作MySQL MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的 ...

  4. JQuery 中each的使用方法

    JQuery中的each函数在1.3.2的官方文档中的描述如下: each(callback) 以每一个匹配的元素作为上下文来执行一个函数. 意味着,每次执行传递进来的函数时,函数中的this关键字都 ...

  5. PHP类知识----值传递和引用传递

    JS中数组是引用传递 PHP除了资源和对象等数据类型,其数据类型是值传递(即使数组也如此) 栈内存(快速内存)中存放标量数据类型,复合数据类型的变量名和数据地址 在内存中,我们可以认为内存中有很多格子 ...

  6. [学习笔记] 可持久化线段树&主席树

    众所周知,线段树是一个非常好用也好写的数据结构, 因此,我们今天的前置技能:线段树. 然而,可持久化到底是什么东西? 别急,我们一步一步来... step 1 首先,一道简化的模型: 给定一个长度为\ ...

  7. ipvsadm命令用法

    ipvsadm命令选项 -A                         添加虚拟服务器 -E                         修改虚拟服务器 -D                 ...

  8. 适合没有ui的项目的样式

    官网: https://www.tailwindcss.cn/

  9. poi 1017 Packets 贪心+模拟

    Packets Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 48349   Accepted: 16392 Descrip ...

  10. Makefile简单编写实例

    介绍一下Makefile的简单编写例子. 编写Makefile的规则就是: 目标文件:依赖文件 (tab)编译规则 现在我有一个文件目录结构为: 解释一下这几个文件.首先我创建makefile目录,底 ...