Saturday, January 18, 2014

OGG-01668 PROCESS ABENDING, OGG-01930 Datastore error in 'dirbdb', OGG-01172 Discard file


One of our Oracle Golden Gate Replicat Process Got Abended when we tried to start Replicat Process got OGG-01930 error. We have done lot of search in google for the error and found out the actual error is different and its very simple.

Take a look into below steps for a simple fix.

##########################
## Error
##########################

2014-01-15 22:16:13  ERROR   OGG-01668  PROCESS ABENDING.
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.

### Full Error

2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  ERROR   OGG-01172  Discard file (./dirrpt/DB2.dsc) exceeded max bytes (1000000000).
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  ERROR   OGG-01668  PROCESS ABENDING.
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.

##########################
#  Error Occurred
##########################

Replicat Process got ABENDED in Golden Gate Version 11.2.1.0.1

##########################
## Command Executed
##########################

start replicat DB2

**************************************** Step By Step Analysis ******************************************************

#########################################
# 1) Current Status of the Replicat
#########################################

GGSCI (host01) 9> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
ABE      RUNNING
REPLICAT    ABENDED     GG2         00:00:03      00:35:42
REPLICAT    RUNNING     GG3         00:00:00      00:00:01
REPLICAT    RUNNING     GGSE        00:00:00      00:00:08



=====================================================================================================================

#########################################
# 2) Reason for Failure
#########################################

GGSCI (host01) 10> view report DB2

2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  ERROR   OGG-01172  Discard file (./dirrpt/DB2.dsc) exceeded max bytes (1000000000).
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
2014-01-15 22:16:13  ERROR   OGG-01668  PROCESS ABENDING.
2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.

#########################################
# 3) Reproduce the Error
#########################################

Restarting the Abended replicat, throws below error and again goes back to ABENDED state.

2014-01-15 22:16:13  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.

=====================================================================================================================
If we can see from Step 2, We have received Error OGG-01172 that discard file has reached its max bytes
=====================================================================================================================

#########################################
# 4) Check Replicat Parameter Details
#########################################

GGSCI (host01) 11> view param DB2

DISCARDFILE ./dirrpt/DB2.dsc, APPEND, MEGABYTES 1000
DISCARDROLLOVER on friday

GGSCI (host01) 12>

=====================================================================================================================
 From above we can see that Discard file Limit is set to 1 GB and its also set to Rollover on Every Friday
=====================================================================================================================

#########################################
# 5) Discard File Size
#########################################

cd /u01/app/goldgate/11.2/dirrpt/

-rw-rw-rw- 1 oracle oinstall 1000000103 Jan 15 22:16 DB2.dsc

[oracle@host01 dirrpt]$ du -sh DB2.dsc
955M    DB2.dsc
[oracle@host01 dirrpt]$

=====================================================================================================================
 Maximum Size of Discard File set is 1000 MB and discard file has reached 1000000103 bytes..
=====================================================================================================================

##########################
## Solution
##########################

Discard file has reached its maximum size set. So,

1) We can increase size of the discardfile to a higher value.

2) If above option is not feasible due to disk space shortage, best option is to delete the existing discard file as it contains all discarded records

since start of replicat process and all of them are not needed. You'll need only latest discarded records if you want to perform RCA for these records.

=====================================================================================================================
 Increasing Discard File Limit
=====================================================================================================================

edit param DB2

GGSCI (host01) 13> edit param DB2

2014-01-15 22:25:06  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.



GGSCI (host01) 14> view param DB2

DISCARDFILE ./dirrpt/DB2.dsc, APPEND, MEGABYTES 1500
DISCARDROLLOVER on friday

GGSCI (host01) 16> info DB2
REPLICAT   DB2       Last Started 2014-01-10 13:37   Status ABENDED
Checkpoint Lag       00:00:03 (updated 00:39:33 ago)
Log Read Checkpoint  File ./dirdat/pg000952
                     2014-01-15 21:46:32.000864  RBA 55114491


GGSCI (host01) 17>

GGSCI (host01) 17> start DB2
2014-01-15 22:26:18  WARNING OGG-01930  Datastore error in 'dirbdb': BDB0113 Thread/process 23555/1125325120 failed: BDB1507 Thread died in Berkeley DB library.
Sending START request to MANAGER ...
REPLICAT DB2 starting

GGSCI (host01) 18> info DB2
REPLICAT   DB2       Last Started 2014-01-15 22:26   Status RUNNING
Checkpoint Lag       00:00:03 (updated 00:39:47 ago)
Log Read Checkpoint  File ./dirdat/pg000952


=====================================================================================================================
 Comments Are Always welcome
=====================================================================================================================

2 comments:

Unknown said...

hello,
same error i got in my goldengate evn. i am able to increase the size of DISCARDFILE, but i want to know what exactly DISCARDFILE contains. so how can i read discard file ??

Sri said...

We can read the discard file as we normally do any file at OS level, View the param file of your extract/replicat, find the location where its defined and use any of the OS editor(Like vi) to view it.