tapdata问题
2024-10-21 07:31:44
- 聚合节点写两个不同的聚合函数,只需要在关联目标节点的目标字段中添加上分组字段,其他字段不用做关联
- 聚合节点写两个相同的聚合函数,只需要在关联目标节点的目标字段中左右两边都添加上_id,会输出两条数据,但是其中每条数据都存在_id._tapd8_sub_name的key,value就为设置的该聚合的子处理名称。
报错处理:出现报错的话,就在任务配置中,原来的【去重写入机制】,智能去重写入,改成强制去重写入;重新运行任务,你再看下 - tapdata自有的时间戳转时间格式:https://www.yuque.com/knbase/tapdata-enterprise/data-replication_script_javascript
- tapdata使用js过滤打印日志: log.info("要打印的内容")
- 如果想要增量有效 在原表节点中就不能设置智能过滤和sql过滤是吧,直接在原表节点后面加上js过滤节点或者 row filter过滤节点是么
- 聚合后的全量同步数据量和sql分组聚合查出来的不对上
问题出现原因:
1.在聚合后的表上,如果还要分表 ,这些分表要最终关联成一张表的时候,关联字段就必须一致和分组字段相同,因为这些分表都是通过聚合节点输出的
2.分表上的数据写入模式也要和主表上的数据写入模式一样,都要弄成【更新已存在或插入新数据】,分表不能写成【仅更新时插入】
3.数据量大的话,建议复制源表结构,插入少部分数据,这样容易调试 - 增量同步都不成功,只能够全量同步,并且在原表节点中关掉了智能和sql过滤,这个应该怎么解决呢。
任务日志,在报错前发现有5次重试,最开始由源端Oracle logminer丢失所致,(微信是源库增量日志过期了导致)日志报警如下: [WARN] 2022-08-03 18:16:41 [Thread-178] com.tapdata.oraclecdc.AutomaticallyRedoLogMiner -
Unexpected error: ORA-01291: missing logfile ORA-06512: at "SYS.DBMS_LOGMNR", line 58 ORA-06512: at line 2 ,
retry time: 1, stacks: java.sql.SQLException: ORA-01291: missing logfile ORA-06512: at "SYS.DBMS_LOGMNR",
line 58 ORA-06512: at line 2 at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509) at
oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268) at oracle.jdbc.driver.
T4C8Oall.doOALL(T4C8Oall.java:655) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270) at oracle.jdbc.driver.T4CPreparedStatement.
doOall8(T4CPreparedStatement.java:91) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970) at oracle.jdbc.driver.OracleStatement.
doExecuteWithTimeout(OracleStatement.java:1205) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666) at oracle.jdbc.driver.
T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3778) at oracle.
jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1081) at com.tapdata.oraclecdc.AbstractRedoLogMiner.getLogContentsResultSet(Abstra
ctRedoLogMiner.java:1212) at com.tapdata.oraclecdc.AutomaticallyRedoLogMiner.startMine(AutomaticallyRedoLogMiner.java:177) at com.tapdata.oraclecdc.OracleConnector.lambd
a$startConnect$1(OracleConnector.java:440) at java.lang.Thread.run(Thread.java:748) Caused by: Error : 1291, Position : 0, Sql = BEGIN SYS.DBMS_LOGMNR.START_LOGMNR( START
SCN => :1 , OPTIONS => SYS.DBMS_LOGMNR.DDL_DICT_TRACKING + SYS.DBMS_LOGMNR.DICT_FROM_REDO_LOGS + SYS.DBMS_LOGMNR.CONTINUOUS_MINE + SYS.DBMS_LOGMNR.NO_SQL_DELIMITER ); END;
, OriginalSql = BEGIN SYS.DBMS_LOGMNR.START_LOGMNR( STARTSCN => ?, OPTIONS => SYS.DBMS_LOGMNR.DDL_DICT_TRACKING + SYS.DBMS_LOGMNR.DICT_FROM_REDO_LOGS + SYS.DBMS_LOGMNR.CON
TINUOUS_MINE + SYS.DBMS_LOGMNR.NO_SQL_DELIMITER ); END;, Error Msg = ORA-01291: missing logfile ORA-06512: at "SYS.DBMS_LOGMNR", line 58 ORA-06512: at line 2 at oracle.jdbc
.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513) ... 17 more 平台系统设置中关闭了共享挖掘;
共享挖掘任务也停止;
所以任务在增量阶段,直接挖取Oracle库的日志; 解决方式,
1. 了解Oracle源库redo log日志保留的时长;
2. 任务重置重新启动运行;
3. 或者采用共享日志挖掘的方式;
最新文章
- OpenSessionInViewFilter配置和作用
- ASP.NET获取客户端的相关信息
- html默认属性
- Codeforces Round #143 (Div. 2) E. Cactus 无向图缩环+LCA
- barabasilab-networkScience学习笔记6-evolving networks
- shell中一维数组值得获取
- (Beta)Let's-版本发布说明
- android131 360 03 输入密码
- 【转】maven 项目出现 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- c++ 中关于int,unsigned int , short的关系与应用
- “未能加载文件或程序集file:///E:/MoneySet.dll或它的某一个依赖项,试图加载格式不正确的程序,行203,位置5. 文件:MReportSet.resx”,
- <;转>;Java 理论与实践: 正确使用 Volatile 变量
- VB.Net常用数学函数整理
- combination sum、permutation、subset(组合和、全排列、子集)
- Hbase API 简单封装
- 数据库TCPIP协议开了,但还是远程连不上
- 总结这两天连续干掉的bug In 创新实训 智能自然语言交流系
- 关于HashMap初始化容量问题
- 如何使用eslint
- asp.net SimpleImpersonation使用身份模拟访问局域网共享目录