谈谈最近碰到的一个OGG同步问题。首先希望大家要养成一种好习惯,经常看抽取进程日志的习惯,通常位于:/dirrpt/repsm.dsc。正常情况下,这个日志文档是不写入数据的,包括出现warnning也不会写入。一旦发现这个文档不断增大,不要盲目得增加文件大小。而是要分析是不是出问题了。

最近,我的这份文档进程会报:

OCI Error ORA-01843: not a valid month (status = 1843). INSERT INTO "ZG"."INVOICE_201603" ("INVOICE_ID","BILLING_CYCLE_ID","DISPLAY_CYCLE_NAME","BILL_REQUIRE_ID","STAFF_ID","ACC_NBR","INVOICE_AMOUNT","COUNT","PRINT_COUNT","SUPPLY_COUNT","PRINT_FLAG","INVOICE_TYPE","INVOICE_CODE","INVOICE_BATCH_CODE","INVOICE_INSIDE_CODE","ACCT_ID","IMAGE","ACCT_NAME","ACCT_CODE","PAY_ADDR","STAFF_CODE","CUST_BANK_NAME","BANK_ACCT_CUST_NO","BANK_ACCT_CUST_NAME","PARTNER_BANK_NAME","PARTNER_BANK_ACCT_NO","PARTNER_BANK_ACCT_NAME","TAB_ID","STATE","PAY_DATE","CREATED_DATE","REGION_ID","AGREEMENT_CODE","CORP_ORG_ID","LIST_NO","PAYMENT_ID","CRM_INVC_TYPE","REVERSE_INVOICE_ID","REVERSE_INVOICE_CODE","REVERSE_LIST_NO","ORG_ID","REMARK","LAST_PRINT_DATE&quot

VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15,:a16,:a17,:a18,:a19,:a20,:a21,:a22,:a23,:a24,:a25,:a26,:a27,:a28,:a29,:a30,:a31,:a32,:a33,:a34,:a35,:a36,:a37,:a38,:a39,:a40,:a41,:a42)

Operation failed at seqno 2676 rba 74673130

Discarding record on action DISCARD on error 1843

Problem replicating ZG.INVOICE_201603 to ZG.INVOICE_201603

Mapping problem with insert record (target format)...

ACCT_CODE = 3019036

PARTNER_BANK_ACCT_NO = NULL

PARTNER_BANK_ACCT_NAME = NULL

TAB_ID = 0

STATE = 3

PAY_DATE = 0001-00-00 00:00:00

CREATED_DATE = 2016-03-17 10:41:17

REGION_ID = 591

AGREEMENT_CODE = NULL

CORP_ORG_ID = 1009

LIST_NO = NULL

PAYMENT_ID = 716032472039910

CRM_INVC_TYPE = 0

REVERSE_INVOICE_ID = 108745172

REVERSE_INVOICE_CODE = NULL

REVERSE_LIST_NO = NULL

ORG_ID = 0

REMARK = NULL

LAST_PRINT_DATE = NULL

仔细一分析原来是原表的pay_date日期记录成了0001-00-00.这个日期是不合法。所以就需要针对这个表的pay_date进行转化。

MAP ZG.INVOICE_201603, target ZG.INVOICE_201603, filter ( @GETENV("TRANSACTION","CSN&quot

> 13801696602863), COLMAP(usedefaults, PAY_DATE = @IF(@STRNCMP(PAY_DATE, "0001-00-00", 10)=0,"0001-01-01 00:00:00",PAY_DATE));

这个修改完成后,并不能就此罢手了。因为之前历史未导入的数据改如何处理。下面就给大家说下我的解决方案,如果大家有更好的方式,希望能够共享下。

首先我需要目标端的replicate进程。----stop repsm

其次:在源端将漏抽取的这些表都导出dump出来。

1)select current_scn from v$database;

2)写好par文档。

zg.par

directory=expdp_dir

dumpfile=zg20160616_%U.dmp

logfile=zg20160616.log

COMPRESSION=ALL

CLUSTER=N

parallel=8

FLASHBACK_SCN=13801753279324  ----注意要输入刚刚查好的scn号

TABLES=ZG.INVOICE_201311,ZG.INVOICE_201312,ZG.INVOICE_201401,ZG.INVOICE_201402,ZG.INVOICE_201403,ZG.INVOICE_201404,ZG.INVO

ICE_201405,ZG.INVOICE_201406,ZG.INVOICE_201407,ZG.INVOICE_201408,ZG.INVOICE_201409,ZG.INVOICE_201410,ZG.INVOICE_201411,ZG.

INVOICE_201412,ZG.INVOICE_201501,ZG.INVOICE_201502,ZG.INVOICE_201503,ZG.INVOICE_201504,ZG.INVOICE_201505,ZG.INVOICE_201506

,ZG.INVOICE_201507,ZG.INVOICE_201508,ZG.INVOICE_201509,ZG.INVOICE_201510,ZG.INVOICE_201511,ZG.INVOICE_201512,ZG.INVOICE_20

1601,ZG.INVOICE_201602,ZG.INVOICE_201603,ZG.INVOICE_201604,ZG.INVOICE_201605,ZG.INVOICE_201606,ZG.INVOICE_201607,ZG.INVOIC

E_201608,ZG.INVOICE_201609,ZG.INVOICE_201610,ZG.INVOICE_201611,ZG.INVOICE_201612,ZG.INVOICE_201701,ZG.INVOICE_201702,ZG.IN

VOICE_201703,ZG.INVOICE_201704

3)expdp zg/zg parfile=zg.par

4)到目标端。将这些dump文档导入进去。

目标端zg.pardirectory=expdp_dir

dumpfile=zg20160616_%U.dmp

CLUSTER=N

TABLE_EXISTS_ACTION=replace

REMAP_TABLESPACE=DATA1

ATA1,DATA01

ATA1

logfile=zg20160616.log

parallel=8

TABLES=ZG.INVOICE_201311,ZG.INVOICE_201312,ZG.INVOICE_201401,ZG.INVOICE_201402,ZG.INVOICE_201403,ZG.INVOICE_201404,ZG.INVOICE_201405,ZG.INVOICE_201406,ZG.INVOICE_201407,ZG.INVOICE_201408,ZG.INVOICE_201409,ZG.INVOICE_201410,ZG.INVOICE_201411,ZG.INVOICE_201412,ZG.INVOICE_201501,ZG.INVOICE_201502,ZG.INVOICE_201503,ZG.INVOICE_201504,ZG.INVOICE_201505,ZG.INVOICE_201506,ZG.INVOICE_201507,ZG.INVOICE_201508,ZG.INVOICE_201509,ZG.INVOICE_201510,ZG.INVOICE_201511,ZG.INVOICE_201512,ZG.INVOICE_201601,ZG.INVOICE_201602,ZG.INVOICE_201603,ZG.INVOICE_201604,ZG.INVOICE_201605,ZG.INVOICE_201606,ZG.INVOICE_201607,ZG.INVOICE_201608,ZG.INVOICE_201609,ZG.INVOICE_201610,ZG.INVOICE_201611,ZG.INVOICE_201612,ZG.INVOICE_201701,ZG.INVOICE_201702,ZG.INVOICE_201703,ZG.INVOICE_201704

5)导入成功后,则修改/dirrpm/repsm.rpm文件。

将这些表的scn改成刚刚查的源端的scn。

6)在目标端打开start repsm。就完成了整个恢复。

需要注意的的是:停止replicate进程需要在在源端导出dump的之前。否则,在导入dump的时候,会报这些表正在被占用的错误。

oracle ogg输出格式,关于OGG同步中日期格式超出正常范围的问题处理相关推荐

  1. SAP HANA中日期格式转换

    集团数仓要求的日期格式为:STRING yyyyMMddhhssmm 例如:20200924175407 SAP HANA中日期格式为:TIMESTAMP yyyy-MM-dd hh:ss:mm 例如 ...

  2. 关于 pandas 解析 json 文件和其他类型文件的结果中日期格式数据类型不一致的问题

    问题: 我有两个文件,一个 .csv 文件和一个 .json 文件,数据截图分别如下: 我的目的是解析这些文件,并将结果统一交由下一个程序块进行处理. 在了解到 pandas 可以解析数据文件(csv ...

  3. java中日期格式大小写标准写法

    java中日期格式大小写标准写法: yyyy-MM-dd HH:mm:ss (年-月-日 时:分:秒)

  4. csv文件中日期格式问题

    csv文件中日期格式问题 我们在hive中做MySQL的 题目时,遇到日期格式不是yyyy-mm-dd时,会比较头疼.关于csv文件日期格式的上传到hdfs中,在做hql题目时用year(purcha ...

  5. oracle时间格式设为英文,Oracle向中文字符集数据库导入英文日期格式数据出现问题的解决...

    在程序中导入脚本文件,执行结束后,没有出现错误,但是在查询customers表时,发现只有一行数据,仔细观察发现: 1. CREATE TABLE customers ( customer_id IN ...

  6. 电脑表格日期怎么修改原有日期_“电脑表格日期格式怎么改“如何把excel中日期格式设置为2001-01-01...

    如何在EXCEL中改变日期格式 1.打开需置日期格式的excel表. 2.选中日期所在的格,单击鼠键,选择"设置单元格格式"选项. 3.在弹对话框"数字"标签中 ...

  7. hive中日期格式转换

    hive中日期格式转换 日期时间格式大致分成时间戳和日期时间格式互转,字符串转化成日期时间格式,日期格式之间的转化 一.时间戳和日期互转 1.unix_timestamp函数,日期转时间戳 当函数参数 ...

  8. Oralce中日期格式

    http://www.blogjava.net/zJun/archive/2006/08/14/61808.html Oralce中的to_date()函数用于将字符串转换为日期对象,具体使用格式为: ...

  9. java 查询日期行列转换_java中日期格式的转换和应用

    java中主要有3个类用于日期格式转换    DateFormat .SimpleDateFormat.Calendar SimpleDateFormat函数的继承关系: java.lang.Obje ...

  10. 解决MVC返回Json中日期格式问题

    问题:MVC中使用控制器返回JsonResult,如果带有日期字段的对象,浏览器接收到的json中会变成形如/Date('123123123')/格式.如何在easyui等中直接使用是个麻烦事. 解决 ...

最新文章

  1. html5粒子形成图案,html5 canvas粒子形成下雪背景的效果
  2. oracle sysman 不存在_Oracle无法对所有 EM 相关帐户解锁
  3. Redis 集群_主从复制_哨兵模型
  4. 2022年移动应用趋势洞察白皮书
  5. python3.6安装cv2库_win10 +python3.6环境下安装opencv以及pycharm导入cv2有问题的解决办法...
  6. SAP License:SAP顾问心情随笔——点燃一支烟
  7. 顶尖的语音识别软件――Nuance Recognizer_语音识别_CTI论坛
  8. easyui获取图片路径_Python玩转图片九宫格
  9. win10共享文件夹设置,本地组策略配置全攻略
  10. pyqt html编辑器,PyQt笔记——代码编辑器Scintilla的使用方法
  11. c语言三角函数例题,三角函数的诱导公式习题及答案解析.doc
  12. Unity获取真实地理地图应用Terrain笔记
  13. 启发式搜索算法 - 以A*为中心来说明启发式算法本质是要找有效的heuristic需要满足的性质
  14. [node]request+watch开发自测的懒人神器
  15. Bais(偏差)与Variance(方差)的区别
  16. 织梦Dedecms主要文件夹目录及模板文件说明
  17. 视频监控方面部分基础知识
  18. 不带头结点建立单链表(头插法、尾插法)
  19. 利达主机联网接线端子_利达消防设备接线图
  20. 如何在华为云软件开发云上运行Python

热门文章

  1. 郑传华:微商快速赚钱108招
  2. Lucene/Solr/ElasticSearch搜索问题案例分析
  3. 微信购物商城网站定制需要多少钱?电商网站建设开发方案(一)
  4. Windows--IOmeter测试网络
  5. html5版本过低,你的浏览器版本过低【解决步骤】
  6. 基于JavaMail的Java邮件发送:复杂邮件发送
  7. Gson解析JSON数据的两种方法
  8. 城管系统服务器,数字城管系统建设方案详细.doc
  9. Java虚拟机栈和本地方法栈
  10. megacli通过盘符定位物理盘_Megaraid 磁盘定位