iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >oracle中如何解决OGG-01163问题
  • 865
分享到

oracle中如何解决OGG-01163问题

2024-04-02 19:04:59 865人浏览 独家记忆
摘要

小编给大家分享一下oracle中如何解决OGG-01163问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 故障现象:复制进程Abended,在日志中报了以

小编给大家分享一下oracle中如何解决OGG-01163问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

故障现象:
复制进程Abended,在日志中报了以下错误:
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.

故障分析:
经询问得知,因应用产生超过现有字段长度的数据,应用运维人员在未知会DBA的情况下直接修改了表的字段定义,且该字段为主键。从而导致了该错误。

故障解决:
因为GoldenGate的复制进程默认是从trail文件中获取表的meta data信息,在抓取进程未重启的情况下,trail文件中表的meta data信息并不会更新。所以我们需要手工介入,让复制进行使用新的meta data.

步骤:
1、在源库使用defgen工具生成表的定义文件:
//LCSIGNLIST_def.prm
DEFSFILE ./dirdef/LCSIGNLIST.def
USERID ggs@LISDB_BEQ, PASSWord AACAAAAAAAAAAALAOGDEBEAACFOGYIVGRDIIDGQHSBPDRHXF, ENCRYPTKEY DEFAULT
TABLE LISBASE.LCSIGNLIST;

defgen PARAMFILE dirdef/LCSIGNLIST_def.prm
这时会生成一个LCSIGNLIST.def文件,这其实就是个文本文件,按照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 14 14 14 14 14 14 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        0  0  0 1 0     30     30      0 0 0 0 0 1    0 1   0    1       -1      0 0 0
CONTNO            64     20       36  0  0 1 0     20     20      0 0 0 0 0 1    0 1   0    1       -1      0 0 0
MANAGECOM         64     10       62  0  0 1 0     10     10      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
MAKEOPERATOR      64     60       78  0  0 1 0     60     60      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
MAKEDATE         192     19      144  0  0 1 0     19     19     19 0 5 0 0 1    0 0   0   12       -1      0 0 0
MAKETIME          64      8      166  0  0 1 0      8      8      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
MODIFYDATE       192     19      180  0  0 1 0     19     19     19 0 5 0 0 1    0 0   0   12       -1      0 0 0
MODIFYTIME        64      8      202  0  0 1 0      8      8      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
RECEIVEOPERATOR   64     60      216  0  0 1 0     60     60      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
RECEIVEDATE      192     19      282  0  0 1 0     19     19     19 0 5 0 0 1    0 0   0   12       -1      0 0 0
RECEIVETIME       64      8      304  0  0 1 0      8      8      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
REASON            64    255      318  0  0 1 0    255    255      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
STATE             64      1      578  0  0 1 0      1      1      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
STANDBYFLAG1      64     10      584  0  0 1 0     10     10      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
STANDBYFLAG2      64     10      600  0  0 1 0     10     10      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
STANDBYFLAG3      64     10      616  0  0 1 0     10     10      0 0 0 0 0 1    0 0   0    1       -1      0 0 0
End of definition

在该案例中被修改的列是BATCHNO,原来的长度为20,我们可以看到定义文件中此时已经是30,前面的64为数据类型,64表示VARCHAR2类型。

2、将定义文件传到目标库(或者复制粘贴也可以),修改复制进行的参数,增加:
SOURCEDEFS ./dirdef/LCSIGNLIST.def OVERRIDE
这个参数的意思是从LCSIGNLIST.def获取表的定义,OVERRIDE必须,这样才能覆盖trail中的meta信息。
将复制进程起来后,在日志中我们可以观察到:
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已经使用了,复制进程也正常进行。

看完了这篇文章,相信你对“oracle中如何解决OGG-01163问题”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: oracle中如何解决OGG-01163问题

本文链接: https://www.lsjlt.com/news/64601.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle中如何解决OGG-01163问题
    小编给大家分享一下oracle中如何解决OGG-01163问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 故障现象:复制进程Abended,在日志中报了以...
    99+
    2024-04-02
  • 如何解决Oracle NClob读写问题
    这篇文章主要介绍如何解决Oracle NClob读写问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近一个新项目中,尝试在 Oracle 数据库中使用 NCLOB 来保存大的 x...
    99+
    2024-04-02
  • 如何解决OGG同步复制时与兼容触发器的问题
    这篇文章主要介绍了如何解决OGG同步复制时与兼容触发器的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 &...
    99+
    2024-04-02
  • Oracle中如何监控并解决死锁问题
    在Oracle中,可以通过以下几种方式来监控和解决死锁问题: 使用Oracle Enterprise Manager(OEM)或S...
    99+
    2024-04-19
    Oracle
  • Oracle缩表空间问题如何解决
    这篇文章主要介绍“Oracle缩表空间问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Oracle缩表空间问题如何解决”文章能帮助大家解决问题。备注:Oracle 11.2.0.4一. 需...
    99+
    2023-07-02
  • 如何在Oracle中查找和解决性能问题
    在Oracle中查找和解决性能问题通常涉及以下步骤: 识别性能问题:首先要确定哪些查询或操作导致了性能问题。可以通过监视系统性能...
    99+
    2024-04-09
    Oracle
  • 如何解决Oracle批量修改问题
    这篇文章给大家分享的是有关如何解决Oracle批量修改问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:根据唯一字段编码修改其它字段,修改部分数据,数量在上万条数据,数据大...
    99+
    2024-04-02
  • 如何解决Oracle服务丢失的问题?
    解决Oracle服务丢失的问题 Oracle数据库是众多企业和组织首选的关系型数据库管理系统,但在实际使用过程中,有时会遇到数据库服务丢失的情况,影响系统正常运行。本文将介绍如何解决O...
    99+
    2024-03-08
    数据备份 日志监控 服务恢复 数据丢失
  • 如何解决Java中文问题
    这篇文章主要为大家展示了“如何解决Java中文问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Java中文问题”这篇文章吧。我来说一下tomcat如何实现JSP的你就明白了。预备知识:...
    99+
    2023-06-03
  • vue中如何解决qs问题
    这篇文章主要介绍“vue中如何解决qs问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中如何解决qs问题”文章能帮助大家解决问题。什么是查询字符串查询字符串是一个包含在URL中的参数列表,用...
    99+
    2023-07-05
  • 如何解决Oracle用户无法su问题
    这期内容当中小编将会给大家带来有关如何解决Oracle用户无法su问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。环境:    Oracle exadata x4-2 计算节点只有一...
    99+
    2023-06-05
  • oracle中如何解决asm磁盘添加失败问题
    这篇文章将为大家详细讲解有关oracle中如何解决asm磁盘添加失败问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 生产环境存储划盘并做...
    99+
    2024-04-02
  • oracle中如何定位你解决问题需要访问地视图
    这篇文章主要介绍oracle中如何定位你解决问题需要访问地视图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果你不知道确切要找的目标,可以参考介绍数据字典的文档,或者下面三个视图:DBA_OBJECTSDICTIO...
    99+
    2023-06-01
  • oracle中ORA-12514问题解决方法
    使用plsql登录数据库,提示报错ORA-12514;查看服务,发现监听服务未启动; 手动重启,刷新后,该服务闪退,基本可以确定是监听文件有问题;找到监听文件,一般在C:…\oracle\product\...
    99+
    2023-05-20
    oracle ORA-12514
  • 如何解决mysql中auto_increment的问题
    这篇文章将为大家详细讲解有关如何解决mysql中auto_increment的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql中的auto_increment...
    99+
    2024-04-02
  • node.js中如何解决跨域问题
    这篇文章主要讲解了“node.js中如何解决跨域问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node.js中如何解决跨域问题”吧!如果用Express框架的话可以使用cors包来解决跨...
    99+
    2023-06-17
  • Node.js中如何解决“背压”问题
    Node.js中如何解决“背压”问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Node.js...
    99+
    2024-04-02
  • MySql中如何解决ERROR 1366问题
    这篇文章主要介绍MySql中如何解决ERROR 1366问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! MySql的ERROR 1366 (HY000...
    99+
    2024-04-02
  • 如何解决margin:0pxauto居中问题
    本篇文章为大家展示了如何解决margin:0pxauto居中问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。向大家描述一下margin:0pxauto居中问题,使...
    99+
    2024-04-02
  • AJAX中如何解决缓存问题
    这篇文章将为大家详细讲解有关AJAX中如何解决缓存问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作