Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to solve the OGG-01163 problem in oracle

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)05/31 Report--

The editor will share with you how to solve the OGG-01163 problem in oracle. I hope you will get something after reading this article. Let's discuss it together.

Failure phenomenon:

The replication process Abended reported the following error in the log:

2018-02-23 21:28:36 ERROR OGG-01163 Oracle GoldenGate Delivery for Oracle, rlis.prm: Bad column length (21) specified for column BATCHNO in table LISBASE.LCSIGNLIST, maximum allowable length is 20.

Fault analysis:

According to the inquiry, due to the data generated by the application that exceeds the length of the existing field, the application operation and maintenance staff directly modified the field definition of the table without notifying DBA, and the field is the primary key. This led to the error.

Troubleshooting:

Because the GoldenGate replication process acquires the meta data information of the table from the trail file by default, the meta data information of the table in the trail file will not be updated when the crawling process is not restarted. So we need to intervene manually to allow replication to take place using the new meta data.

Steps:

1. Use the defgen tool to generate the definition file of the table in the source database:

/ / LCSIGNLIST_def.prm

DEFSFILE. / dirdef/LCSIGNLIST.def

USERID ggs@LISDB_BEQ, PASSWORD AACAAAAAAAAAAALAOGDEBEAACFOGYIVGRDIIDGQHSBPDRHXF, ENCRYPTKEY DEFAULT

TABLE LISBASE.LCSIGNLIST

Defgen PARAMFILE dirdef/LCSIGNLIST_def.prm

A LCSIGNLIST.def file is generated, which is actually a text file that describes the definition of the table as described by OGG:

* +-Defgen version 5.0, Encoding ISO-8859-1

*

* Definitions created/modified 2018-02-23 23:33

*

* Field descriptions for each column entry:

*

* 1 Name

* 2 Data Type

* 3 External Length

* 4 Fetch Offset

* 5 Scale

* 6 Level

* 7 Null

* 8 Bump if Odd

* 9 Internal Length

* 10 Binary Length

* 11 Table Length

* 12 Most Significant DT

* 13 Least Significant DT

* 14 High Precision

* 15 Low Precision

* 16 Elementary Item

* 17 Occurs

* 18 Key Column

* 19 Sub Data Type

* 20 Native Data Type

* 21 Character Set

* 22 Character Length

* 23 LOB Type

* 24 Partial Type

*

Database type: ORACLE

Character set ID: zhs16gbk

National character set ID: UTF-16

Locale: neutral

Case sensitivity: 14 14 14 11 14 14 14

TimeZone: + 08:00

*

Definition for table LISBASE.LCSIGNLIST

Record length: 632

Syskey: 0

Columns: 16

BATCHNO 64 30 000 0 1 0 30 30 000 0 0 1 0 1 0 1-1 0 0 0

CONTNO 64 20 36 0 0 1 0 20 20 000 0 0 1 0 1 0 1-1 000

MANAGECOM 64 10 62 0 10 10 10 0 000 0 1000 0 1-1000 0

MAKEOPERATOR 64 60 78 0 0 1 0 60 60 000 0 0 1 0 0 0 1-1 000 0

MAKEDATE 19219 1440 00 1 0 19 19 0 50 0 1 00 0 12-1 000 0

MAKETIME 64 8 166 0 0 1 0 8 8 0 0 0 1 0 0 0 1-1 000 0

MODIFYDATE 192 19 18 000 1 0 19 19 0 50 0 1 00 0 12-1 000 0

MODIFYTIME 64 8 202 0 0 1 0 8 8 0 0 0 1 0 0 1 0 0 1-1 000 0

RECEIVEOPERATOR 64 60 216 0 0 1 0 60 60 000 0 0 1 0 0 0 1-1 000 0

RECEIVEDATE 192 19 282 0 0 1 0 19 19 0 50 0 1 00 0 12-1 000 0

RECEIVETIME 64 8 304 0 0 1 0 8 8 0 0 0 1 0 0 0 1-1 000 0

REASON 64 255 318 0 0 1 0 255 255 000 000 0 1 0 0 0 1-1 000 0

STATE 64 1 578 0 0 1 0 1 1 0 000 0 0 0 1-1 000 0

STANDBYFLAG1 64 10 584 0 0 10 10 10 000 000 0 1000 0 1-1000 0

STANDBYFLAG2 64 10 600 00 10 10 10 00 00 0 10 00 1-10 00

STANDBYFLAG3 64 10 616 0 0 10 10 10 000 000 0 1000 0 1-1000 0

End of definition

In this case, the modified column is BATCHNO, and the original length is 20. We can see that it is already 30 in the definition file, the previous 64 is the data type, and 64 represents the VARCHAR2 type.

2. Transfer the definition file to the target library (or copy and paste), modify the parameters for copying, and add:

SOURCEDEFS. / dirdef/LCSIGNLIST.def OVERRIDE

This parameter means to get the definition of the table from LCSIGNLIST.def, and OVERRIDE must be in order to overwrite the meta information in trail.

After setting up the replication process, we can observe in the log:

2018-02-23 23:33:14 INFO OGG-02752 Oracle GoldenGate Delivery for Oracle, rlis.prm: The definition for table LISBASE.LCSIGNLIST from definitions file / u01/app/oracle/product/ogg/gghome/12.2.0.1/gghome_1/dirdef/LCSIGNLIST.def overrides the table metadata from the trail.

LCSIGNLIST.def is already in use and the replication process is working normally.

After reading this article, I believe you have a certain understanding of "how to solve the OGG-01163 problem in oracle". If you want to know more about it, you are welcome to follow the industry information channel. Thank you for reading!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report