OGG ERRORS summary

OGG ERRORS 总结

OGG ERRORS summary

1 libnnz11.so

Complete the following error message:

ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory

When activated by ggsci, you may encounter the above error. Can not find libnnz11.so dynamic library files found by the find command that the file exists in the "$ ORACLE_HOME / lib" path:

$ find $ORACLE_HOME/ -name libnnz11.so
/u01/app/oracle/product/11.2.0/dbhome_1/inventory/Scripts/ext/lib/libnnz11.so
/u01/app/oracle/product/11.2.0/dbhome_1/inventory/backup/2019-03-08_10-41-36PM/Scripts/ext/lib/libnnz11.so
/u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so

Is not configure the path LD_LIBRARY_PATH it?

View LD_LIBRARY_PATH configuration:

$ echo $LD_LIBRARY_PATH
/u01/app/oracle/product/11.2.0/dbhome_1/lib:/opt/jdk1.8.0_181//jre/lib/amd64/server/:/opt/jdk1.8.0_181//lib:

Configuration is right. That problem Where is it?

Track progress bar:

strace ggsci
execve("/u01/app/ogg/ggsci", ["ggsci"], [/* 28 vars */]) = 0
..........
mmap(NULL, 2197528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6c71c70000
mprotect(0x7f6c71c89000, 2093056, PROT_NONE) = 0
mmap(0x7f6c71e88000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f6c71e88000
close(3)                                = 0
open("/u01/app/ogg/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("./tls/x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("./tls/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("./x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("./libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/tls/x86_64", 0x7ffd64847c10) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/tls", {st_mode=S_IFDIR|0555, st_size=6, ...}) = 0
open("/lib64/x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/x86_64", 0x7ffd64847c10)   = -1 ENOENT (No such file or directory)
open("/lib64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64", {st_mode=S_IFDIR|0555, st_size=77824, ...}) = 0
open("/usr/lib64/tls/x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls/x86_64", 0x7ffd64847c10) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls", {st_mode=S_IFDIR|0555, st_size=6, ...}) = 0
open("/usr/lib64/x86_64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/x86_64", 0x7ffd64847c10) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libnnz11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=77824, ...}) = 0
writev(2, [{"ggsci", 5}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libnnz11.so", 11}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory
) = 116
exit_group(127)                         = ?
+++ exited with 127 +++

From tracking results, the query path ggsci setting is " u01 / App / OGG " (This is my OGG_HOME path), and tls under this path, "/ lib64", "/ usr / lib64" three main path, and not to find according to LD_LIBRARY_PATH setting. So we have only one way: to copy a file to the library to a more than three paths.

  • Solution

    cp $ORACLE_HOME/lib/libnnz11.so $OGG_HOME/
    
    

2 02422

  • Source information error log

    2019-07-01 06:53:27  INFO    OGG-00993  Oracle GoldenGate Capture for Oracle, initfj.prm:  EXTRACT INITFJ started.
    2019-07-01 06:54:00  WARNING OGG-01194  Oracle GoldenGate Capture for Oracle, initfj.prm:  EXTRACT task INITFJ abended : Initial data load error reported by REPLICAT.
    2019-07-01 06:54:00  ERROR   OGG-01203  Oracle GoldenGate Capture for Oracle, initfj.prm:  EXTRACT abending.
    2019-07-01 06:54:00  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle, initfj.prm:  PROCESS ABENDING.
    
  • End target error message

    2019-06-26T18:20:28.369+0800  ERROR   OGG-02422  Oracle GoldenGate Delivery for MySQL:  Could not open checkpoint file /home/ogg/ogg_for_mysql/dirchk/INITFJ.cpr (error 2, No such file or directory).
    2019-06-26T18:20:33.371+0800  ERROR   OGG-01668  Oracle GoldenGate Delivery for MySQL:  PROCESS ABENDING.
    
  • Analysis of the error message from the target side, it is clear that the path or file does not exist.

3 01877

  • Error Messages
2019-06-27T04:04:42.653+0800  WARNING OGG-00938  Oracle GoldenGate Manager for MySQL, mgr.prm:  Manager is stopping at user request.
2019-06-27T06:53:06.837+0800  INFO    OGG-00987  Oracle GoldenGate Command Interpreter for MySQL:  GGSCI command (ogg): start mgr.
2019-06-27T06:53:07.175+0800  WARNING OGG-01877  Oracle GoldenGate Manager for MySQL, mgr.prm:  Missing explicit accessrule for server collector.
  • the reason
    1. Add the parameter file by shell mode, but does not add the initialization process. Add the following command:

      add replicat <group name>, specialrun
      
    2. extract / replicat parameter file groupname parameter file is not found in the first line, it should be

      extract <group name>
      
      

      or

      replicat <group name>
      
      

      If the first group name is not specified, you will encounter this error.

4 00446

4.1 Missing filename opening checkpoint file

4.1.1 Error Messages

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. analysis

    This error occurs because the command does not match the configuration parameters. For example, the application process from data file of the way, if you use ggsci command start command to start, this error occurs. Below are two safe, the root cause of all commands and configuration parameters do not match, one is initialized, one is real-time applications.

    1. Case 1-> initialize
      • Configuration parameters The following configuration is an example of ogg for kafka From File initializes the application configuration process.

          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 command

        start initsp
        
      • Journal

          .........
        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.
        
      • Resolved through the operating system command replicat perform initialization:

        $OGG_HOME/replicat paramfile $OGG_HOME/dirprm/xmsys.prm
        
    2. Case 2-> Real-time extraction
      • Configuration parameters

          passthru
        rmthost 192.168.153.129, mgrport 7809
        rmttrail /u02/ggs/dirdat/td
        gettruncates
        table scott.*;
        sequence scott.*;
        
      • Analysis of the first line should read:

        extract test
        
        

4.2 could not find archived log

When the encounter this error, there may really can not find an archive file, and sometimes may not be configured not find the necessary archive parameters caused.

4.2.1 Error Messages

We found the following errors in ggserr.log in:

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.

4.2.2 Analysis and Resolution

From the point of view prompted an error message, a log file can not find the cause of the interruption. So the archive is not really does not exist?

  1. Archiving does not exist

    After reviewing our archive log does not exist. It has been physically removed. And there is no backup. The importance of visual data to take a different approach to deal with this error.

    Data is not important

    At this point you can modify the start value of the extract, skip the missing archive, which is used more often in test and development environments. First to see the available archives:

    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
    

    From the results above point of view, archive number 3759 has been deleted, the corresponding latest available archive is 3760. The first number is 16401138. The scn scn value adjustment process to extract 16,401,138:

    alter extrace extxmdev, scn 16401138
    start ext extxmdev
    
    Important data
    At this time, the corresponding need to restore from a backup archive
  2. Archive exist

    Archive exist, continue to experience this error, it is likely archive OGG looking for the actual road storage archive diameter different . In this case the source is a RAC environment is common. Because OGG is to find the archive by the oracle instance parameters: log_archive_dest [_n] / log_archive_format and when to archive storage RAC ASM, the actual storage path may differ from the parameters (because ASM automatically manages the implementation of the file name).

    This situation, mainly through tranlogoptions parameters, let OGG login ASM instance to find the correct archive. In the extract process you need to configure the following parameters:

    tranlogoptions asmuser <username@tnsname>,ASMPASSWORD <passwrod>
    tranlogoptions rawdeviceoffset 0
    

5 00918

key column unid is missing from map ogg for bigdata, we may only need certain fields. These synchronized and no primary key field, or does not contain all of the primary key column. You will encounter this problem replicat end.

  • Solution plus keycols (field is used to call the shots bonds) can be in (after colmap).

6 01168

  • Error message:

    error   ogg-01168  encountered an update for target table <schema>.<table_name>, which has no unique key defined.  keycols can be used to define a key.
    use allownoopupdates to process the update without applying it to the target database.
    use applynoopupdates to force the update to be applied using all columns in both the set and where clause
    
  • Analysis ogg synchronous update operation, if there is no primary key on the table in the target database, ogg not guarantee the uniqueness of the operation, and therefore error. For this there is no operating table's primary key, oracle official gives some suggestions. See solution.
  • Solution
    1. After allownoopupdates configure this parameter, the update operations skips
    2. After applynoopupdates configure this parameter, the update operation will be enforced. That is set according to the determined operating range and WHERE.
    3. keycols in the original table definition keycols
    4. sys_guid in the following situations are not satisfied, recommended the establishment of sys_guid in the original table.
      • No table or not to establish a logical row by keycols keyword.
      • No duplicate rows
      • Small table rows
      • Dml fewer operations on the table, even though all fields open supplimental log table does not generate a large amount of redo log.

7 01201

This error, one scene that appears is direct load to load data, when you encounter this error, mgr give different hints based on different reasons.

7.1 Case 1

  • Error Messages

    2019-07-01 06:25:33  info    ogg-00993  oracle goldengate capture for oracle, initfj.prm:  extract initfj started.
    2019-07-01 06:25:33  error   ogg-01201  oracle goldengate capture for oracle, initfj.prm:  error reported by mgr : access denied.
    2019-07-01 06:25:33  error   ogg-01668  oracle goldengate capture for oracle, initfj.prm:  process abending.
    

    Target end mgr report information:

    warning ogg-00936  access denied (request from xxx.xxx.x.xxx, rule #0).
    
  • Analysis and Resolution

    According to mgr prompt information, rule # 0 is no rule description rule. This rule is mgr in a property, like a firewall, indicate whether to allow remote access. The syntax rules are as follows:

accessrule[, prog program_name][, ipaddr address][, pri rule][, login_id]{, allow | deny}

Add the following to the configuration file can mgr, it represents all accept all remote connections.

accessrule, prog *, ipaddr *, allow

7.2 Case 2

  • Error message extract log:

    2019-07-11t10:34:26.437+0800  info    ogg-00993  oracle goldengate capture for oracle, gjxm.prm:  extract gjxm started.
    2019-07-11t10:34:26.440+0800  error   ogg-01201  oracle goldengate capture for oracle, gjxm.prm:  error reported by mgr : parameter file /home/ogg/dirprm/gjxm.prm does not exist.
    
  • Analysis and resolution suggesting that no parameter file, for practical reasons, there may be true parameter file can not be found. Rom is also possible that the corresponding mgr (not port or the destination end mgr has stopped). Then there are several possibilities:
    • extract specified rmttask, there is no corresponding parameter file
    • extract parameters are not configured correctly (mainly rmthost and mgrport)
    • End of the target terminal connection destination is not started mgr performed:

      ggsci
      info all
      

      Normally mgr state should be running:

      program     status      group       lag at chkpt  time since chkpt
      
      manager     running
      

8 2245

Scene: initialization data by fromfile way. This error, due in large part can not process the data properly. Such as null values ​​can not be processed, such as the actual value is greater than the maximum allowed length of characters. Handle this error, there must discard records. The record recorded in the clearest problem.

8.1 Example 1: OGG unable to process null value

  • Log error

    2019-07-11T23:54:06.496+0800  WARNING OGG-01431  Oracle GoldenGate Delivery for MySQL, gjxm.prm:  Aborted grouped transaction on uqs.ins_off_ins_prod_rel, Mapping error.
    2019-07-11T23:54:06.506+0800  WARNING OGG-01003  Oracle GoldenGate Delivery for MySQL, gjxm.prm:  Repositioning to rba 324447170 in seqno 2.
    2019-07-11T23:54:06.656+0800  WARNING OGG-01151  Oracle GoldenGate Delivery for MySQL, gjxm.prm:  Error mapping from BOSS.GJ_INS_OFF_INS_PROD_REL to uqs.ins_off_ins_prod_rel.
    2019-07-11T23:54:06.690+0800  ERROR   OGG-01296  Oracle GoldenGate Delivery for MySQL, gjxm.prm:  Error mapping from BOSS.GJ_INS_OFF_INS_PROD_REL to uqs.ins_off_ins_prod_rel.
    
  • discard information

    Oracle GoldenGate Delivery for MySQL process started, discard file opened: 2019-07-11 14:17:38.924345
    Mapping error to target column:  PROD_SPEC_ID
    Mapping error to target column:  PROD_SPEC_ID
    Current time: 2019-07-11 14:17:49
    Discarded record from action ABEND on error 0
    ..............
    PROD_SPEC_ID =
    000000: 20                                              |                |
    ..........
    2019-07-11 11:20:25  WARNING OGG-01431  Aborted grouped transaction on uqs.ins_off_ins_prod_rel, Mapping error.
    ........
    2019-07-11 11:20:25  ERROR   OGG-02245  Repositioning was attempted as REPERROR action, but is not supported by RMTTASK.
    

    From the above point of view should be given OGG can not process the data.

  • Comparative data type information from a given discard view, prod_spec_id field is empty. No practical value. Contrast source and destination in the field type:
    Source
    PROD_SPEC_ID                                       CHAR(1)
    
    End goal
    | prod_spec_id              | bigint(20)  | YES  |     | 0       |
    
  • Check the source data

    SQL> select count(distinct PROD_SPEC_ID) from test_;
    
    COUNT(DISTINCTPROD_SPEC_ID)
    ---------------------------
                              1
    
    SQL> select replace(prod_spec_id,' ',1) from test_ where rownum=1;
    
    R
    -
    1
    
    

    View From the results, the field has only one value, the value of a space. Seems to have concluded: OGG spaces can not be converted to numeric types

8.2 Example 2: Unable to handle long data

  • ggserr.log message

    2019-07-17T04:59:54.242+0800  WARNING OGG-01431  Oracle GoldenGate Delivery for MySQL:  Aborted grouped transaction on test.test, Mapping error.
    2019-07-17T04:59:54.251+0800  ERROR   OGG-02245  Oracle GoldenGate Delivery for MySQL:  Repositioning was attempted as REPERROR action, but is not supported by RMTTASK.
    2019-07-17T04:59:59.254+0800  ERROR   OGG-01668  Oracle GoldenGate Delivery for MySQL:  PROCESS ABENDING.
    
  • discard信息

    Oracle GoldenGate Delivery for MySQL process started, group GJFJ8 discard file opened: 2019-07-17 04:58:20.204905
    Mapping error to target column:  REPLACE
    Current time: 2019-07-17 04:59:54
    .........
    REPLACE = 173449918020032271
    000000: 31 37 33 34 34 39 39 31 38 30 32 30 30 33 32 32 |1734499180200322|
    000010: 37 31                                           |71              |
    ......
    
  • 查看源表信息

    SQL> select max(length(replace)) from test.test;
    
    MAX(LENGTH(REPLACE))
    --------------------
    18
    
    
  • 查看目标表信息

    +---------------+--------------+------+-----+---------+----------------+
    | Field         | Type         | Null | Key | Default | Extra          |
    +---------------+--------------+------+-----+---------+----------------+
    ..........
    | replace       | smallint(6)  | YES  |     | 0       |                |
    ........
    

从以上对比来看,可以明确信息: replace 字段的实际值最大长度为18,而表中允许的最大长度为6. 目标表无法存储对应数据。

8.3 解决

update test_ set prod_spec_id=1;

9 01030

Author: halberd

Created: 2019-07-17 Wed 21:22

Validate

Guess you like

Origin www.cnblogs.com/halberd-lee/p/11203760.html