SharePlex实施文档以及常见故障 - 图文(8)

2019-09-01 23:43

by你好我是李白

G. 问题解决后,可清除日志

sp_ctrl> clear status all

H. 查看队列剩余空间(以下目录根据实际环境查看)

生产库:/databackup 管理库:/databackup I. 查看数据库归档空间剩余

生产库:/arch01 & /arch02

5.4 查看日志

很多错误需要详细的日志信息帮助解决问题。 sp_ctrl> show log reverse

在vardir的log目录下包含各进程的日志文件,最主要的是event_log文件。show log命令只是显示了event_log文件的部分内容。

如果event_log中的信息不足以帮助解决问题,还需要去log目录下查找具体进程的日志。

生产库日志目录(根据自己实际目录查看): /databackup/splex/vardir/log 管理库日志目录:

/databackup/splex/vardir/log

6.一些性能诊断方案

6.1 针对capture too slow

Cpature trace 信息收集按计划执行:

1.每个小时在源端执行一次,直至跑批业务结束,至少要覆盖业务高峰期。 sp_ctrl>trace capture

by你好我是李白

2.每小时在源端执行,收集更详细的信息 sp_ctrl> set param SP_OCT_UTILIZATION_TIMERS 1 let it run for 15 mins, then turn off

sp_ctrl> reset param SP_OCT_UTILIZATION_TIMERS

3.收集更详细的信息: sp_ctrl> stop capture

sp_ctrl> set param SP_OCT_UTILIZATION_TIMERS 2 sp_ctrl> start capture

let it run for 15 mins, then turn off

sp_ctrl> reset param SP_OCT_UTILIZATION_TIMERS sp_ctrl> stop capture sp_ctrl> start capture

所有生成的*.csv文件都需要收集。

7.SharePlex一些问题的解决方案

7.1 View events and error

? show log event查看event日志,show statusdb查看数据库配置状态。 ? 当post检测到错误时,会记录100条sql语句以及不同步的数据,可以在

修复问题之后,使用该sql语句在条件设置的不苛刻情况下修复不同步的数据,

? 进程日志,当进程出现问题,SharePlex不仅仅在event日志中记录,也会

在相应进程日志中记录。

7.2 忽略一些确定的可以忽略的错误

注意:

1.一些错误即使写入oramsglist,post也不会忽略这些错误。

by你好我是李白

2.忽略会造成一些隐藏的数据不同步情况,如果用户无法容忍post产生间隙或者可以接受一些数据不同步,可以使用忽略,可以在vardir中log目录下查看SID_errlog.sql查看详细的忽略掉的错误情况。 ? 忽略post中的DML错误操作步骤:

a) 在目标库,进入SharePlex的vardir目录下的data子目录。 b) 找到oramsglist文件。

c) 如果复制没有激活,使用文本编辑器打开该文件,如果复制激活状态,则

拷贝一份文件副本,然后使用文本编辑器打开副本。 d) 在文件的开始增加错误编号。 [oracle@11rac2 data]$ vim oramsglist 942

e) 在文件的末尾,添加每一个Oracle或者SharePlex错误号码,一个错误一

行。

f) 保存并关闭文件。

g) 如果post还在运行,则停止post。

h) 如果你编辑了一个oramsglist文件的镜像,则保存镜像文件名为原始的

oramsglist。

i) 修改SharePlex参数SP_OPO_CONT_ON_ERR为1. j) 启动post。

7.3 insert null复制到Kafka不显示

7.3.1问题描述

a.表结构

SQL> desc CONTACT_CLSLIST

Name Null? Type

by你好我是李白

----------------------------------------- -------- ---------------------------- CUST_ID NOT NULL NUMBER(10) CONTACT_SEQ NOT NULL NUMBER(4) CONTACT_CLASS_SEQ NOT NULL NUMBER(4) CONTACT_CLASS_CODE NOT NULL CHAR(1) CONTACT_NO NOT NULL VARCHAR2(680) CONTACT_EXT VARCHAR2(16) b.源端插入以及目标段消费 正常插入

SQL> insert into contact_clslist values(666669,5,6,'d','zhang','san'); 1 row created. SQL> commit;

目标端情况,可以看到此时所有列值都有: {\28T12:10:03\pAAJAAERkBAAo\ONTACT_CLSLIST\11T11:05:47\_CLASS_SEQ\ONTACT_EXT\ 可以为空列插入null值时

SQL> insert into contact_clslist values(666670,6,7,'e','zhang',null); 1 row created. SQL> commit;

目标端情况,可以看到插入的null值列已经没有了: {\28T12:11:40\pAAJAAERkBAAq\ONTACT_CLSLIST\11T11:07:24\

by你好我是李白

_CLASS_SEQ\

可以为空列插入空值时

SQL> insert into contact_clslist values(666671,7,8,'f','wang',''); 1 row created. SQL> commit;

查看目标端情况,可以看到此时为空列也没有了: {\28T12:12:47\pAAJAAERkBAAu\ONTACT_CLSLIST\11T11:08:31\_CLASS_SEQ\

因为针对插入时,如果值少于列值,针对未明确赋值的列oracle会自动填入null值,所以第三种现象也是null值不显示的问题。

7.3.2解决方案

在源端设置SP_OCT_INSERT_INCLUDE_NULLS为1然后重启capture进程,插入语句将包含null值。

sp_ctrl> set param SP_OCT_INSERT_INCLUDE_NULLS 1 sp_ctrl> stop capture sp_ctrl> start capture

关于此问题可参考:https://support.quest.com/shareplex/kb/229190


SharePlex实施文档以及常见故障 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017学年第一学期金山区高二地理期终试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: