OGG-01973 Oracle GoldenGate Capture for Oracle, ext_xps.prm: The redo record indicates data loss o

本文介绍了解决Oracle GoldenGate中出现的OGG-01973错误的方法,该错误通常出现在GoldenGate从11.1.1.3升级到11.2.1.0.1后,表现为redo记录指示特定对象的数据丢失。解决方案包括在提取参数文件中排除特定临时表。

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

一.问题描述:


ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 276971.

In this Document

Symptoms
 Cause
 Solution
 References


APPLIES TO:

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

SYMPTOMS

 After GoldenGate upgrade from 11.1.1.3 to 11.2.1.0.14,  errors occur in the log file and extract process 


2014-01-06 22:18:45  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 276971.
2014-01-09 22:21:33  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 277202.
2014-01-10 22:18:21  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 277224.
2014-01-13 22:12:10  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 277479.
2014-01-14 22:13:10  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 277524.
2014-01-18 06:05:42  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 277749.
2014-01-24 22:14:31  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278215.
2014-01-26 10:05:57  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278304.
2014-01-26 10:12:47  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278312.
2014-01-26 18:04:23  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278327.
2014-01-27 22:15:40  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278374.
2014-01-28 22:21:05  ERROR   OGG-01973  Oracle GoldenGate Capture for Oracle, ext_xps.prm:  The redo record indicates data loss on object 278527.

CAUSE

Compression Advisor (delivered with DBMS_COMPRESSION in 11gR2) is used.

DBMS_TABCOMP_TEMP_UNCMP and DBMS_TABCOMBP_TEMP_CMP  are tables which are created and dropped dynamically by Oracle.
If you check the object ID reported in the error message, the object ID is already gone.

So we can see in the extract parameter file :
TABLEEXCLUDE *.DBMS_TABCOMP_TEMP_CMP

but not

TABLEEXCLUDE *.DBMS_TABCOMP_TEMP_UNCMP 

SOLUTION

As tables DBMS_TABCOMP_TEMP_UNCMP are not excluded, please add this line in the extract parameter file:

TABLEEXCLUDE *.DBMS_TABCOMP_TEMP_UNCMP

or modify the line like that:

TABLEEXCLUDE *.DBMS_TABCOMP_TEMP*

忽略报错:





<think>我收到了用户的查询,想要解决ORA-26723错误,并了解如何为OGG用户分配DV_GOLDENGATE_REDO_ACCESS角色。用户提供了几个站内引用,我需要仔细分析这些引用,找出相关线索。查看引用内容:引用[1]提到了OracleGoldenGate捕获进程因错误而中止的错误信息,但没有直接帮助。引用[2]是运行包授予GoldenGate管理权限的命令,涉及dbms_goldengate_auth包,这很重要,因为角色分配可能与之相关。引用[3]包括创建OGG用户和表空间的过程,以及启用复制功能的altersystem命令,这部分确认了基础环境配置。引用[4]涉及审计库服务的启动,与当前错误无关。引用[5]是关于Oracle版本和补丁的信息,暗示检查版本兼容性。核心需求是解决ORA-26723错误,这通常表示缺少访问redo日志的权限。官方文档表明,需要DV_GOLDENGATE_REDO_ACCESS角色。结合引用[2]的grant_admin_privilege和引用[3]的GG用户设置,我推断步骤应从版本检查开始。Oracle12.2以上版本才支持此角色。用户需先确认版本,如果是11g或更低,需升级。然后检查DGBroker配置状态,确保没有活动保护。接着以有DBA权限的用户执行授权操作。关键命令是:使用sys用户运行grantdv_goldengate_redo_accesstoogg;,并添加容器子句if适用。还要验证角色是否已授予。整个过程需谨慎操作,因为涉及高权限和核心数据库功能。最后,建议用户参考官方文档确认细节,避免误操作。</think> 好的,解决ORA-26723错误的核心在于为OGG用户正确授予`DV_GOLDENGATE_REDO_ACCESS`角色。该角色是启用GoldenGate访问数据库redo日志所需的权限,尤其在启用了Oracle Data Guard Broker或使用了更高安全特性的环境下更为关键[^3]。 以下是具体的解决步骤: 1. **连接到源数据库:** 使用具有DBA权限的用户(如`SYS AS SYSDBA`)连接到源数据库。推荐使用`sqlplus`命令行工具: ```bash sqlplus / as sysdba ``` 或者: ```bash sqlplus sys@<your_tns_alias> as sysdba ``` 2. **确认数据库版本和配置:** * **版本要求:** `DV_GOLDENGATE_REDO_ACCESS`角色主要在**Oracle 12.2及以后版本**中引入和使用。如果你的数据库是11g或更早的12.1版本,该角色可能不存在或不适用[^5]。 * **检查GG复制状态:** 确保之前的`ENABLE_GOLDENGATE_REPLICATION`已设置为`TRUE`(引用[3]中已做过): ```sql SHOW PARAMETER ENABLE_GOLDENGATE_REPLICATION; ``` * **检查Data Guard Broker状态(重要):** 如果数据库属于Data Guard环境,需查看Broker状态: ```sql SELECT status FROM v$dataguard_config; ``` 或者更详细的: ```sql SELECT * FROM v$dataguard_config; ``` 如果Broker处于`ENABLED`状态,进行第3步时可能会遇到限制。 3. **管理Data Guard Broker(如果需要):** 如果`v$dataguard_config`显示状态为`ENABLED`,你需要**暂停Broker的管理**才能授予该角色: ```sql ALTER SYSTEM SET DG_BROKER_START=FALSE; ``` * 这条命令会停止Broker的后台进程(`dmon`),暂时解除它对redo访问控制的严格控制[^3]。完成角色授予后,可以重新启用Broker(见第7步)。 4. **授予`DV_GOLDENGATE_REDO_ACCESS`角色:** 这是解决ORA-26723错误的核心步骤: ```sql GRANT DV_GOLDENGATE_REDO_ACCESS TO ogg; ``` * 如果你的环境是CDB(容器数据库),且OGG用户仅在PDB(可插拔数据库)级别使用,请指定容器**:** ```sql GRANT DV_GOLDENGATE_REDO_ACCESS TO ogg CONTAINER = CURRENT; -- 或者替换为具体的PDB名称 GRANT DV_GOLDENGATE_REDO_ACCESS TO ogg CONTAINER = <your_pdb_name>; ``` 这在多租户环境下非常重要,确保权限授予在正确的容器(通常是源PDB)生效。 5. **验证角色授予:** 确认角色已成功授予OGG用户: ```sql SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'OGG'; ``` 输出中应能看到`DV_GOLDENGATE_REDO_ACCESS`角色。 6. **(可选) 再次运行GoldenGate管理权限过程:** 虽然授予`DV_GOLDENGATE_REDO_ACCESS`通常就是关键所在,为了确保所有基础GoldenGate权限齐全,可以再次运行官方推荐的授权命令(如引用[2]): ```sql EXEC dbms_goldengate_auth.grant_admin_privilege('OGG'); ``` 7. **重新启用Data Guard Broker(如果需要):** 如果在第3步禁用了Broker,现在可以重新启用它: ```sql ALTER SYSTEM SET DG_BROKER_START=TRUE; ``` 启用后,Broker的`dmon`进程会自动重启。 8. **重启GoldenGate进程:** 完成上述步骤后,需要重启报错的那个GoldenGate捕获进程(Extract),它之前因为ORA-26723而中止(引用[1])。在GoldenGate命令行接口(GGSCI)中执行: ```bash GGSCI> STOP EXTRACT <your_extract_name> GGSCI> START EXTRACT <your_extract_name> ``` 进程现在应该能成功启动并开始处理事务。 **要点总结:** * **核心操作:** 使用`SYS`用户在数据库级别为OGG用户授予`DV_GOLDENGATE_REDO_ACCESS`角色。 * **关键环境:** 这在高可用环境(如Data Guard Broker开启)或安全增强的数据库中尤为关键。 * **Data Guard Broker:** 授予该角色时,通常需要**临时禁用**(`DG_BROKER_START=FALSE`)Broker以避免冲突或授权失败。授权后务必重新启用(`DG_BROKER_START=TRUE`)。 * **版本确认:** 确保你的数据库版本支持此角色(通常12.2及以上)。 * **CDB/PDB:** 在多租户环境中,明确使用`CONTAINER`子句将角色授予到PDB级别的OGG用户。 完成这些步骤后,ORA-26723错误应该得到解决,GoldenGate捕获进程可以正常访问redo日志进行复制[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值