Goldengate OGG-00665 文档 ID 965876.1

本文介绍了解决GoldenGate Extract进程因权限不足导致失败的问题。通过授予特定权限给OGG用户,如CONNECT、RESOURCE等,可以恢复正常的数据抽取流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Goldengate Extract Is Failing With Error "OGG-00665 OCI Error executing fetch for TABLE (status = 1031-ORA-01031: insufficient privileges)" (文档 ID 2304057.1)


Oracle GoldenGate - Version 11.2.0.0.0 and later
Information in this document applies to any platform.


Goldengate Extract abends with below error:

Source Context :
SourceModule : [ggdb.ora.sess]
SourceID : [/scratch/aime1/adestore/views/aime1_staoi06/oggcore/OpenSys/src/gglib/ggdbora/ocisess.c]
SourceFunction : [oci_try]
SourceLine : [643]

2017-08-14 17:05:04 ERROR OGG-00665 OCI Error executing fetch for TBAADM.LA_ACCT_MAST_TABLE (status = 1031-ORA-01031: insufficient privileges), SQL<SELECT x."ACID",
x."BANK_ID" FROM "TBAADM"."LA_ACCT_MAST_TABLE" AS OF SCN :scn x WHERE ROWID = :rid>.

原因:

OGG的用户缺少一些权限。


请登录数据库并授予OGG用户以下权限:

GRANT CONNECT,RESOURCE,DBA TO ogguser;
ALTER USER ogguser QUOTA UNLIMITED ON <Tablespace_name>;
exec dbms_streams_auth.grant_admin_privilege('ogguser');
EXEC dbms_goldengate_auth.grant_admin_privilege('ogguser');
grant execute on utl_file to ogguser;
grant select any transaction to ogguser;
grant flashback any table to ogguser;

Then try to restart the extract.




<think>嗯,用户需要解决Oracle11g环境中GoldenGate出现的OGG-02830错误。从提供的引用看,这个问题似乎与经典模式下的远程抽取方式不兼容有关。我需要根据用户给出的四个引用信息来梳理可能的解决方案。用户引用的内容中,[^3]明确指出经典模式下远程抽取方式已被弃用,而[^1][^2]提到的格式错误可能与数据类型转换或表结构有关,特别是LOB字段。但用户当前咨询的是OGG-02830错误,所以重点应放在引用[^3]的结论上。用户的环境是Oracle11g,这个版本兼容性需要特别注意。结合引用内容,解决方案应该集中在三个方向:首先验证配置模式是否正确(经典模式vs集成模式),其次检查OGG版本是否过高导致功能弃用问题,最后考虑表结构是否存在陷阱。在技术细节上,远程抽取时$TRANLOGOPTIONS$参数设置很关键。引用[^3]提到经典模式不再支持某些功能,可能需要切换为集成捕获模式(IntegratedCapture)。另外引用[^1]暗示LOB字段可能引发类似错误,虽然错误号不同但可以作为辅助参考。用户可能是DBA角色,从ta准确引用MOS文档编号的行为看,具备一定故障排查经验。但ta现在需要的是针对特定错误代码的实操方案,因此回复要聚焦在可执行的步骤上,比如具体的参数修改命令和版本降级路径。考虑到用户上次咨询过OGG错误,这次回复应该保持技术连贯性。方案中要强调版本检查(ggsci>version)、抽取模式切换(alterextractxxxintegratedcapture)等具体命令,这些都是直接解决问题的动作。</think> 以下是针对 Oracle 11g GoldenGate 中 **OGG-02830 Formatting Error** 的完整解决方案,综合引用信息和官方实践整理: --- ### **根本原因分析** 该错误通常由以下原因触发: 1. **不兼容的抽取模式** OGG 12c+ 在经典模式下弃用了远程抽取(即源端与目标端为同版本数据库时使用`TRANLOGOPTIONS REMOTEFETCH`)[^3]。 2. **表结构特殊性** 涉及 `LOB` 或特殊数据类型(如`RAW`)时旧版 OGG 存在转换缺陷(虽错误码不同,但需排查)[^1][^2]。 3. **SCN 同步问题** 数据库角色切换(如 Data Guard 主备切换)导致日志序列中断[^4]。 --- ### **解决方案步骤** #### **1. 检查并调整抽取模式** ```sql -- 查看当前抽取模式 GGSCI> VIEW PARAM <extract_name> ``` - **若存在 `TRANLOGOPTIONS REMOTEFETCH`** 立即删除此参数(11g 经典模式已不兼容远程抽取)[^3]。 - **切换为本地归档日志读取**: 确保源端归档日志可本地访问,并将参数修改为: ```bash TRANLOGOPTIONS ARCHIVELOGSOURCE /oracle/arch ``` #### **2. 验证 OGG 版本兼容性** ```bash ggsci> version ``` - **Oracle 11g 推荐版本**: OGG 11.2.1.x(最高至 11.2.1.7) - **若版本 ≥ 12c**: 降级至兼容版本或 **升级数据库**(11g 官方支持已于 2020 年终止)[^3][官方文档]。 #### **3. 处理特殊表结构** 对涉及报错表(如 `TBCONTRACTBALANCE`)执行: ```sql -- 检查 LOB/数据类型 SELECT column_name, data_type FROM all_tab_columns WHERE table_name='TBCONTRACTBALANCE'; ``` - **若存在 LOB 字段**: 在抽取参数中添加列映射规则: ```bash TABLE schemaname.TBCONTRACTBALANCE, COL.EXCEPT (LOB_COLUMN), COL.MAP (LOB_COLUMN = @BINARY); ``` #### **4. 修复 SCN 同步中断(若经历主备切换)** ```sql -- 重置抽取进程 SCN GGSCI> ALTER EXTRACT <extract_name>, SCN <target_scn>; GGSCI> START EXTRACT <extract_name> ``` - **删除过时参数**(防止日志重置冲突): ```bash # 移除参数文件中的配置 TRANLOGOPTIONS USEPREVRESETLOGSID # 删除此行! ```[^4] --- ### **预防措施** 1. **统一日志访问方式**: 避免混用`ASM`与文件系统日志,确保 OGG 直接读取归档日志。 2. **LOB 表特殊处理**: 对含 `LOB` 的表显式定义列转换规则[^1]。 3. **监控 Data Guard 切换事件**: 主备切换后立即暂停 OGG 并重置 SCN[^4]。 > **示例参数修正**(经典模式兼容方案): > ```bash > EXTRACT ext1 > USERID goldengate, PASSWORD xxx > EXTTRANFILE ./dirdat/et > TRANLOGOPTIONS ARCHIVELOGSOURCE /backup/archivelogs # 本地归档路径 > TABLE schema.*; > ``` --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值