OGG-00919 Error in COLMAP clause.

2018-02-12 10:04:35  ERROR   OGG-00919  Error in COLMAP clause.

报此错。

使用版本OGG 12.3.0.1

查官方 文档:

报错:ERROR OGG-00919 Error in COLMAP clause.
问题解析:
Applies to:
Oracle GoldenGate - Version 12.1.2.1.0 to 12.1.2.1.2 [Release 12.1]
Information in this document applies to any platform.
Symptoms
Using @GETENV("GGHEADER", "OPTYPE") function with COLMAP
will now result in the following error when using GG Version 12.1.2.1.x

INFO OGG-01298 Column function diagnostic message: could not find column "GGHEADER".
...STREQ(@GETENV("GGHEADER", "OPT...
^
Error in COLMAP clause. Invalid function or argument.

ERROR OGG-00919 Error in COLMAP clause.

Cause
Syntax has changed for @GETENV function and options in version 12. These now use single quotes instead of double quotes.
ERROR OGG-00919 Error in COLMAP clause.
Solution
For version 11 Use double quotes for the GETENV options
@GETENV("GGHEADER", "OPTYPE")

For version 12 Use single quotes for the GETENV options
@GETENV('GGHEADER', 'OPTYPE')
Please refer to the Version 12 documentation for further clarifications.


想到此进程包含 两个自己添加rowid同步的表

map vindamis.tls_location_detail,target stg_vindamis.tls_location_detail colmap (usedefaults, row_id = @token ("TKN-ROWID")) keycols (row_id);

需要修改为【双引号改为单引号】

map vindamis.tls_location_detail,target stg_vindamis.tls_location_detail colmap (usedefaults, row_id = @token ('TKN-ROWID')) keycols (row_id);

<think>好的,用户现在问的是关于ogg-00312错误,但这次的描述是“closing paeenthesis missing for colmap”。首先,我需要确认用户的问题是否正确,因为“paeenthesis”看起来像是拼写错误,正确应该是“parenthesis”。所以,用户遇到的错误应该是由于在GoldenGate的COLMAP参数中缺少了闭合的括号。 接下来,我需要回顾之前用户的历史记录。上一次用户询问的是OGG-00312错误,但当时的情况是Trail文件无法打开,而这次的问题不同,虽然错误代码相同,但具体原因不同。这说明OGG-00312可能有多种原因,需要根据错误信息的具体内容来判断。 用户这次提到的错误信息提到了COLMAPCOLMAP是Oracle GoldenGate中用于列映射的参数,通常在Replicat进程中使用,用于指定源列和目标列之间的映射关系。如果在这个参数中缺少闭合括号,会导致解析错误,从而触发OGG-00312错误。 我需要检查用户的错误信息中的拼写错误是否会影响问题的解决。用户写的是“paeenthesis”,但正确的应该是“parenthesis”。不过,GoldenGate的错误信息应该是正确的拼写,所以可能是用户输入时的笔误。不过,在回答时需要指出这一点,并确认正确的术语是“parenthesis”。 接下来,我需要解释这个错误的原因,即COLMAP语句中的括号没有正确闭合,导致GoldenGate无法正确解析参数文件。需要给出具体的示例,说明正确的COLMAP语法是什么样的,比如COLMAP (USEDEFAULTS, target_col = source_col)。 然后,需要提供解决步骤,比如检查参数文件中的COLMAP语句,确保每个左括号都有对应的右括号,特别是当COLMAP中有多个列映射时,容易遗漏。同时,建议用户使用文本编辑器的高亮功能来检查语法,或者运行CHECKPARAMS命令来验证参数文件。 另外,还需要提醒用户注意其他可能的拼写错误或语法错误,比如逗号的位置是否正确,列名是否正确等。可能用户需要检查整个COLMAP部分的结构,确保没有嵌套错误或其他遗漏。 用户可能是在配置Replicat进程时遇到了这个问题,特别是当列映射比较复杂时,容易出错。因此,在回答时需要给出具体的例子,并说明常见的错误场景,帮助用户排查。 还需要考虑用户是否在复制过程中修改了参数文件,导致语法错误,或者在添加新的列映射时不小心删除了括号。这时候,建议用户逐行检查参数文件,特别是COLMAP相关的部分,或者将参数文件分段测试,以定位错误位置。 最后,确保回答清晰,分步骤说明解决方法,并提供示例和预防措施,帮助用户避免类似问题。同时,提醒用户查看GoldenGate的日志文件,以获取更详细的错误信息,确认问题所在。</think>你提到的错误 **OGG-00312: Closing parenthesis missing for COLMAP** 是 **Oracle GoldenGate (OGG)** 在解析参数文件时常见的语法错误。该错误表明在定义列映射(`COLMAP`)时,参数文件中缺少闭合括号(`)`),导致 OGG 无法正确解析配置。 --- ### **错误原因** - **语法问题**:在 `COLMAP` 语句中,未正确闭合括号(例如:漏写 `)` 或括号嵌套错误)。 - **参数文件格式错误**:`COLMAP` 的列映射规则中包含不匹配的括号或语法错误。 --- ### **示例场景** 假设在 Replicat 参数文件中定义列映射时,写入了以下内容: ```sql MAP schema.source_table, TARGET schema.target_table, COLMAP ( USEDEFAULTS, target_col1 = source_col1, target_col2 = @STRCAT(source_col2, "extra_text") -- 缺少闭合括号 ); ``` 上述示例中,`@STRCAT` 函数的闭合括号缺失,导致整个 `COLMAP` 的括号不匹配,从而引发错误。 --- ### **解决方法** 1. **检查括号匹配** 确保每个 `COLMAP` 语句中的左括号 `(` 均有对应的右括号 `)`。例如: ```sql COLMAP ( USEDEFAULTS, target_col1 = source_col1, target_col2 = @STRCAT(source_col2, "extra_text") -- 补全闭合括号 ) ``` 2. **检查嵌套函数** 如果使用了嵌套函数(如 `@STRCAT`、`@DATE` 等),需确保函数内部的括号闭合: ```sql -- 正确写法 target_col = @STRCAT(source_col1, "suffix") -- 错误写法(缺少括号) target_col = @STRCAT(source_col1, "suffix" ``` 3. **格式化参数文件** 使用文本编辑器的高亮功能或格式化工具(如 Notepad++、VS Code)检查语法,确保括号对齐。例如: ```sql MAP schema.source_table, TARGET schema.target_table, COLMAP ( USEDEFAULTS, target_col1 = source_col1, target_col2 = @STRCAT(source_col2, "extra_text") ); -- 所有括号均已闭合 ``` 4. **验证参数文件** 使用 OGG 命令 `CHECK PARAMS <进程名>` 或 `VIEW PARAMS <进程名>` 检查参数文件语法: ```shell GGSCI> VIEW PARAMS REPLICAT_NAME ``` --- ### **其他注意事项** - **逗号分隔符**:确保列映射的每个键值对以逗号分隔,但最后一个键值对末尾无需逗号。 - **引号使用**:若字段值包含特殊字符(如空格),需用双引号包裹。 - **日志定位**:通过 GoldenGate 日志(`ggserr.log` 或进程的 `.rpt` 文件)定位错误发生的具体行号。 --- ### **总结** OGG-00312 错误的核心是 `COLMAP` 语法中的括号缺失或不匹配。通过逐行检查参数文件、使用语法高亮工具或 OGG 内置命令,可以快速定位并修复此问题。如果仍有疑问,建议提供具体的参数文件片段以便进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值