久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

oracle中如何解決OGG

164次閱讀
沒有評論

共計 2906 個字符,預計需要花費 8 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 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 問題”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計2906字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 鹤壁市| 甘谷县| 锦州市| 漳平市| 都安| 丽水市| 鄱阳县| 灌阳县| 成武县| 尼木县| 工布江达县| 呼伦贝尔市| 南部县| 濮阳市| 遵化市| 西畴县| 黄冈市| 三河市| 美姑县| 绥滨县| 北碚区| 泽州县| 富阳市| 乐山市| 页游| 浦江县| 塔河县| 东山县| 黄冈市| 章丘市| 梅州市| 云龙县| 五家渠市| 仪征市| 锡林浩特市| 昌邑市| 琼中| 小金县| 台山市| 五大连池市| 缙云县|