1403:

ORA-01403: No data found
在运行PL/SQL块、存储过程、函数、触发器等,假设须要进行操作的记录没有查询到。则会返回1403的错误
Goldengate中的1403
在目标段复制进程中,godengate从日志中解析出sql语句,依据sql语句的where条件。在目标段的库中匹配不出对应的记录

1403错误原因:
1. 附加日志相关

• 数据相关
• 表结构不一致/索引重建

常见问题:
1.生产端I/O过大、内存占用过大
配置了多个Extract进程导致
2.进程“假死”
1>參数配置错误: TRANLOGOPTIONS rawdeviceoffset 0
此參数仅仅在AIX使用裸设备时配置。其它环境不能配置
2>查看进程处理状态:
GGSCI>send repxxx, status
send repxxx status
Sending STATUS request to REPLICAT REPXXX ...
Current status: Processing data
Sequence #: 1
RBA: 3861681
21157 records in current transaction
3、RAC节点时钟不同步(OGG-01028)
1> 配置參数:
THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 90000 IOLATENCY 90000
2> 配置NTP时钟同步server

4、队列文件不自己主动删除
1>实施时。运行了多次:
ADD EXTTRAIL 。。。

ADD RMTTRAIL 。。。
2>处理细节參照运维文档进行处理

5、參数文件里username处理
1> TRANLOGOPTIONS EXCLUDEUSER USERNAME
这里的USERNAME是须要替换为实际的GoldenGateusername

6、參数文件里字符集处理
1> setenv (NLS_LANG=“AMERICAN_AMERICA.ZHS16GBK”)
这里的AMERICAN_AMERICA.ZHS16GBK是须要替换为实际数据库的字符集设置

7、參数文件里压缩參数
1> RMTHOST *.*.*.*, MGRPORT 7839, compress
这里compress一定要配置,加快传输速度,降低datapump的延迟

9、容灾端入库性能优化
1> 无主键表建议添加主键或唯一索引
2> 将大表单独拆分为独立的进程,添加參数:
BATCHSQL


OGG怎样跳过长事务?
GGSCI (cdla6702.netjets.com) 13> send extract EXT1I2D4, showtrans

Sending SHOWTRANS request to EXTRACT EXT1I2D4 ...

Oldest redo log file necessary to restart Extract is:



Redo Log Sequence Number 4762, RBA 77272080

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

XID: 3.9.209025

Items: 0

Extract: EXT1I2D4

Redo Thread: 1

Start Time: 2014-03-22:00:11:06

SCN: 14.1966161432 (62095703576)

Redo Seq: 4762

Redo RBA: 77272080

Status: Running
send extract EXT1I2D4, skiptrans 3.9.209025  
---->>>此处应该为XID。不是SCN


Question

    Can I turn on the Oracle Supplemental Log at the DB Level only, without doing it at the Table Level?





Answer

    GoldenGate requires adding Supplemental Logging at the Table Level, regardless of the Database Supplemental setting, due to issues with Multiple Unique Keys and/or lack of Keys.



    It is highly recommended to use "ADD TRANDATA" under the GGSCI interface.  If using
the SQL command to add Supplemental Logging at the Table Level, ALL the keys should be included (ex.  2 separate Unique Keys are all required).


怎样打开附加日志:
To turn on supplemental logging at the database level, GoldenGate requires this command to be executed:



ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;



This change to add supplemental logging will not take effect until the current redo log is switched, so the following command must also be executed:



ALTER SYSTEM SWITCH LOGFILE.



(Note: You must have the ALTER DATABASE and ALTER SYSTEM privileges to execute the above sql statements.)



To turn on supplemental logging at the table level, you can execute this command:



alter table <table_name> add supplemental log group ggs_mytab (<column_name>, <column_name>) always;



(Note: You must have the ALTER TABLE privilege to execute the above sql statement.)



Or you can turn on supplemental logging through GGSCI with this command:



GGSCI> dblogin userid <user>, password <pw>



GGSCI> add trandata <schema>.<table>

怎样确定附加日志是否打开:
1> 数据库级别
select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI,
FORCE_LOGGING from v$database;

2> 表级别
select * from dba_log_groups where
OWNER='<schema_name_in_upper_case>' and TABLE_NAME='<table_name_in_upper_case>';
 ---假设有数据返回,则说明附加日志已经打开。反之没有打开

For a particular table, you can find which columns are part of the Supplemental Log group with the query below:

select LOG_GROUP_NAME, COLUMN_NAME, POSITION from 

dba_log_group_columns

where OWNER='<schema_name_in_upper_case>' and 

TABLE_NAME='<table_name_in_upper_case>'

order by position;

For a particular table, you can find out if Supplemental Logging is turned on through GGSCI with the commands below:

GGSCI> dblogin userid <user>, password <pw>

GGSCI> info trandata <schema>.<table>

select distinct a.sql_id,a.event,b.sql_text from v$session a,v$sql b where  a.username='GGUSER' and a.program like 'replicat%'
and a.status='ACTIVE' and a.sql_id=b.sql_id;


-----------------自己整理的

OGG常见问题处理的更多相关文章

  1. Goldengate OGG常见问题与错误列表

     Goldengate OGG常见问题与错误列表  以下列出了OGG一些常见的问题与错误及其解答:   Note: 966211.1 How To Resync A Single Table With ...

  2. 转 OGG 部署阶段常见问题

    序号 问题 解决方案1 "2019-04-13 20:23:55 ERROR OGG-00868 Oracle GoldenGate Capture for Oracle, e_db1.pr ...

  3. H5项目常见问题汇总及解决方案(果断复制粘贴,不解释)

    H5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" co ...

  4. H5项目常见问题及注意事项

    Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" content="wi ...

  5. H5项目常见问题

    转自 https://github.com/FrontEndZQ/HTML5-FAQH5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面//一.HTML页 ...

  6. H5项目常见问题汇总及解决方案

    H5项目常见问题汇总及解决方案 H5   2015-12-06 10:15:33 发布 您的评价:       4.5   收藏     4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...

  7. html5常见问题

    H5项目常见问题汇总及解决方案 2016-12-21 FrontEndZQ JavaScript 转自 https://github.com/FrontEndZQ/HTML5-FAQ H5项目常见问题 ...

  8. H5项目常见问题及注意事项,视频全屏,定位,屏幕旋转和触摸,偏页面重构向 来源joacycode的github

    Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" content="wi ...

  9. h5前端项目常见问题汇总

    原文作者:FrontEndZQ 原文链接:https://github.com/FrontEndZQ/HTML5-FAQ H5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度 ...

随机推荐

  1. 解决angular 与django的冲突

    {% block main %} <script type="text/javascript" src="http://cdnjs.cloudflare.com/a ...

  2. 第04章-VTK基础(4)

    [译者:这个系列教程是以Kitware公司出版的<VTK User's Guide -11th edition>一书作的中文翻译(出版时间2010年,ISBN: 978-1-930934- ...

  3. .NET(C#):分析IL中的if-else,while和for语句并用Emit实现

    这是一篇关于IL和反射Emit的文章(所以不喜欢IL或者Emit的就没必要往下看了),要求读者对IL和Emit工作原理较了解.所有分析IL均在Visual Studio 2010 SP1下编译生成.( ...

  4. MVC View基础(转)

    View主要用于呈现数据.由于Controller和相关的Service已经处理完业务逻辑并将结果打包成model实体,View只需要怎么去获得model并将其转为Html 1选择需要渲染的视图 在上 ...

  5. DOM元素尺寸和位置(clientwidth ,scrollwidth , offsetwidth.......)

    [1] slientWidth 和 sclientHeight slientWidth:获取的是可视宽度 slientHeight:获取的是可视高度 <html> <head> ...

  6. Javascript的事件委托

    在谈js的事件委托之前,先来简单说说js事件的一些基础知识吧. 什么是事件?Javascipt与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器中发生的一些特定的交互瞬间. 什么是事件流?事 ...

  7. OpenCV——Sobel和拉普拉斯变换

    Sobel变换和拉普拉斯变换都是高通滤波器. 什么是高通滤波器呢?就是保留图像的高频分量(变化剧烈的部分),抑制图像的低频分量(变化缓慢的部分).而图像变化剧烈的部分,往往反应的就是图像的边沿信息了. ...

  8. size_t和size_type类型

    size_t一般用来表示一种计数,比如有多少东西被拷贝等.例如:sizeof操作符的结果类型是size_t,该类型保证能容纳实现所建立的最大对象的字节大小. 它的意义大致是“适于计量内存中可容纳的数据 ...

  9. Java实现的 线程池

    由于最近开始学习java,用到了线程池,按照之前c++的写法写出此java版的线程池 TaskRunnale实现相关任务的接口,具体要实现什么任务在相应的run函数中实现. package threa ...

  10. git删除分支

    git branch -d branchname删除一个分支需要具备的条件: 1 如果待删除的分支没有upstream branch,那么待删除的分支需要合并到HEAD上,否则需要使用-D强制删除 2 ...