热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle11gR2Streams出现ORA-26744:ORA-26767:错误

在源数据库发现Streams异常,如:查:select*fromdba_capture看到异常错误ORA-26744:STREAMScaptureprocessquot;CAPTURE

在源数据库发现Streams异常,如:查:select * from dba_capture看到异常错误ORA-26744: STREAMS capture process quot;CAPTURE

问题:

在源数据库发现Streams异常,,如:

查:select * from dba_capture看到异常错误

ORA-26744: STREAMS capture process "CAPTURE_STREAM" does not support "BHOMSWAS"."DBMS_TABCOMP_TEMP_UNCMP" because of the following reason:

ORA-26767: No enough redo log information for LogMiner

Oracle metalink的解释:

Streams Capture Aborting With ORA-26767 Due To Temp Tables Created By DBMS_COMPRESSION [ID 1082323.1]

--------------------------------------------------------------------------------

修改时间22-NOV-2010 类型PROBLEM 状态PUBLISHED

In this Document

Symptoms

Changes

Cause

Solution

--------------------------------------------------------------------------------

Applies to:

Oracle Server -EnterpriseEdition - Version:11.2.0.0. to 11.2.0.0 - Release: 11.2 to 11.2

Information in this document applies to any platform.

Symptoms

Streams Capture is aborting with ORA-26767 . The following error message is logged in Capture trace

ORA-26744: STREAMS capture process "" does not support ""."DBMS_TABCOMP_TEMP_UNCMP" because of the following reason:

ORA-26767: No enough redo log information for LogMiner

Sometime the table mentioned in above error message is either DBMS_TABCOMP_TEMP_UNCMP OR DBMS_TABCOMP_TEMP_CMP. These tables do not exist on source database.

-Streams Apply can fail with ORA-26714 and ORA-00942

-Streams slows down mining archive logs generated during maintenance window

Additional Explanation:

It appears that the "Automated Maintenance Window" jobs Segment Advisor calls dbms_compression which creates two tables called DBMS_TABCOMP_TEMP_UNCMP and DBMS_TABCOMP_TEMP_CMP in users schema

Changes

Cause

DBMS_COMPRESSION is a new utility introduce in 11GR2 which is used for Compression Advisory.

DBMS_COMPRESSION creates two temporary tables (namely,

DBMS_TABCOMP_TEMP_UNCMP &

DBMS_TABCOMP_TEMP_CMP)

while doing the analyze of the table in the table owner schema. These tables are compared to see what compression level can be achieved.

By default ddl for above mentioned tables has nologging option enabled.

Now if CAPTURE has schema level rule defined, then DDL/DML for these tables will be captured as well.Since ddl for above mentioned table has nologging option enabled., enough redo information for the capture process was not available, and hence CAPTURE failed with ORA-26767 .

Solution

The workaround would be to specify a negative rule for the tables DBMS_TABCOMP_TEMP_UNCMP, and DBMS_TABCOMP_TEMP_CMP.

This will skip the replication of these table.

Please see the below example and make the appropriate changes with respect your environment.

The negative rule condition here eliminates table named 'unwantedtable' in the SCOTT schema.

Use ADD_TABLE_RULES to specify the table. Specify the inclusion_rule => FALSE clause

in the ADD_TABLE_RULES command to place the rule in the negative rule set.

BEGIN

DBMS_STREAMS_ADM.ADD_TABLE_RULES (

table_name => 'scott.unwantedtable',

streams_type => 'capture',

streams_name => 'strm01_capture',

queue_name => 'strmadmin.streams_queue',

include_dml => true,

include_ddl => true,

source_database => 'SOURCE.ORACLE.COM',

inclusion_rule => false ); --specifies the negative rule set

END;

/

解决:

1、在源数据库用streams的strmadmin用户把caputer进程停止

SQL> begin

dbms_capture_adm.stop_capture(

capture_name => 'capture_stream');

end;

/

2、建立3个限制不传输表的规则

SQL> BEGIN

DBMS_STREAMS_ADM.ADD_TABLE_RULES (

table_name =>'bhomswas.DBMS_TABCOMP_TEMP_UNCMP',

streams_type=>'capture',

streams_name=>'capture_stream',

queue_name=>'strmadmin.SOURCE_QUEUE',

include_dml=>true,

include_ddl=>true,

source_database=>'CBOMS',

inclusion_rule=>false);

END;

/

PL/SQL procedure successfully completed.

SQL> BEGIN

DBMS_STREAMS_ADM.ADD_TABLE_RULES (

table_name =>'bhomswas.DBMS_COMPRESSION',

streams_type=>'capture',

streams_name=>'capture_stream',

queue_name=>'strmadmin.SOURCE_QUEUE',

include_dml=>true,

include_ddl=>true,

source_database=>'CBOMS',

inclusion_rule=>false);

END;

/

PL/SQL procedure successfully completed.

SQL> BEGIN

DBMS_STREAMS_ADM.ADD_TABLE_RULES (

table_name =>'bhomswas.DBMS_TABCOMP_TEMP_CMP',

streams_type=>'capture',

streams_name=>'capture_stream',

queue_name=>'strmadmin.SOURCE_QUEUE',

include_dml=>true,

include_ddl=>true,

source_database=>'CBOMS',

inclusion_rule=>false);

END;

/

PL/SQL procedure successfully completed.

3、启动caputer进程

SQL> begin

dbms_capture_adm.start_capture(

capture_name => 'capture_stream');

end;

/

PL/SQL procedure successfully completed.

解决上面问题

linux

推荐阅读
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • SQL中UPDATE SET FROM语句的使用方法及应用场景
    本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
author-avatar
mobiledu2502916313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有