复制到Hana将插入一个空语句。

2020-09-07 00:23发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的

现在,我正在与客户一起使用SRS系统-Oracle => Hana-添加了前70个表,并且工作正常。 但是在添加第71个表时,DSI由于一个奇怪的错误而关闭-

===================

I。 2019/06/13 14:07:46 数据库'HANA_SERVER.S00'的DSI线程已启动。
I。 2019/06/13 14:23:14 来自服务器的消息:消息:257,状态0,严重性5-'[语句] [HANA_SERVER] SQLPrepare [SAP AG] [LIBODBCHDB SO] [HDBODBC]语法错误或访问冲突; 257 sql语法错误:"附近的语法不正确" ":第1行第34行(位于pos 34)'。H。 2019/06/13 14:23:14 线程致命错误#5049 DSI EXEC(113(1)HANA_SERVER.S00)-neric/dsi/dsiqmint.c(5178)
数据库'HANA_SERVER.S00'的DSI线程正在关闭。 DSI收到数据服务器错误#257,该错误已映射到STOP_REPLICATION。 有关更多信息,请参见记录的数据服务器错误。 数据服务器错误是由从失败事务的输入命令#2映射的输出命令#0引起的。
H。 2019/06/13 14:23:14 线程致命错误#5273 DSI EXEC(113(1)HANA_SERVER.S00)-neric/dsi/dsiqmint.c(5206)
要将失败的事务写入日志,请执行'sysadmin log_first_tran,HANA_SERVER,S00'。 请分析交易,并根据您的分析提供适当的修复,然后恢复连接。
I. 2019/06/13 14:23:14 数据库'HANA_SERVER.S00'的DSI线程已关闭。

===================

我们进行了一些测试-在Oracle表上仅插入1行数据,它将产生相同的错误,我检查了队列并进行了第一次tran-发现真正的错误是-SRS发送了一个空的sql语句 到哈纳-

插入SGPM.TEMP值()

这是队列转储-

I。 2019/06/13 14:52:20 113:0
I. 2019/06/13 14:52:20 块开始q_number = 113 q_type = 0 blk = 183740:20 cnt = 10
..
I。 2019/06/13 14:52:21。 开始交易原始用户= SGPM交易名称=
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 196 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000001 lqid = 183740:20:7 st = 4 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00'01'72; 'p'00000000'comlen = 58开始交易
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 268 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000002 lqid = 183740:20:8 st = 2101248 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00''01 7' 'p'00000000'comlen = 128插入SGPM.TEMP值()
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 172 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000003 lqid = 183740:20:9 st = 1 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00''01'72; 'p'00000000'comlen = 34 commit transaction

I。 2019/06/13 14:52:21。 块开始q_number = 113 q_type = 0 blk = 183740:21 cnt = 5

........

log_first_tran显示-

I。 2019/06/13 14:23:47 数据库'HANA_SERVER.S00'的DSI线程已启动。
I。 2019/06/13 14:23:47 提交
I。 2019/06/13 14:23:47 插入SGPM.TEMP值()
I。 2019/06/13 14:23:47 调用rs_update_lastcommit(112,'00000e24c5453214000000010002cec30005cfa000100e24c54064370000000000000001','000000000000000000000000000000000000000000000000000000000000000000000000',to_timestamp('1900-01-01 00:00:00.000000000','YYYY-MM-DD HH:MI:SS.FF9>),0)<0 。 2019/06/13 14:23:47 提交
T。 2019/06/13 14:23:47 (349):数据库'HANA_SERVER.S00'的前1个事务已记录到异常日志中。

有人看过吗? -还有解决的办法吗? 请帮助。 预先感谢您的帮助。

致谢

艾森

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的

现在,我正在与客户一起使用SRS系统-Oracle => Hana-添加了前70个表,并且工作正常。 但是在添加第71个表时,DSI由于一个奇怪的错误而关闭-

===================

I。 2019/06/13 14:07:46 数据库'HANA_SERVER.S00'的DSI线程已启动。
I。 2019/06/13 14:23:14 来自服务器的消息:消息:257,状态0,严重性5-'[语句] [HANA_SERVER] SQLPrepare [SAP AG] [LIBODBCHDB SO] [HDBODBC]语法错误或访问冲突; 257 sql语法错误:"附近的语法不正确" ":第1行第34行(位于pos 34)'。H。 2019/06/13 14:23:14 线程致命错误#5049 DSI EXEC(113(1)HANA_SERVER.S00)-neric/dsi/dsiqmint.c(5178)
数据库'HANA_SERVER.S00'的DSI线程正在关闭。 DSI收到数据服务器错误#257,该错误已映射到STOP_REPLICATION。 有关更多信息,请参见记录的数据服务器错误。 数据服务器错误是由从失败事务的输入命令#2映射的输出命令#0引起的。
H。 2019/06/13 14:23:14 线程致命错误#5273 DSI EXEC(113(1)HANA_SERVER.S00)-neric/dsi/dsiqmint.c(5206)
要将失败的事务写入日志,请执行'sysadmin log_first_tran,HANA_SERVER,S00'。 请分析交易,并根据您的分析提供适当的修复,然后恢复连接。
I. 2019/06/13 14:23:14 数据库'HANA_SERVER.S00'的DSI线程已关闭。

===================

我们进行了一些测试-在Oracle表上仅插入1行数据,它将产生相同的错误,我检查了队列并进行了第一次tran-发现真正的错误是-SRS发送了一个空的sql语句 到哈纳-

插入SGPM.TEMP值()

这是队列转储-

I。 2019/06/13 14:52:20 113:0
I. 2019/06/13 14:52:20 块开始q_number = 113 q_type = 0 blk = 183740:20 cnt = 10
..
I。 2019/06/13 14:52:21。 开始交易原始用户= SGPM交易名称=
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 196 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000001 lqid = 183740:20:7 st = 4 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00'01'72; 'p'00000000'comlen = 58开始交易
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 268 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000002 lqid = 183740:20:8 st = 2101248 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00''01 7' 'p'00000000'comlen = 128插入SGPM.TEMP值()
I。 2019/06/13 14:52:21。 ENTRY ver = 1100 len = 172 orig = 112 lorig = 0 oqid = 00000e24c54f9da0000000010002cec700056aed00100e24c54c57ea0000000000000003 lqid = 183740:20:9 st = 1 tr = ORCLDS.hanaintf'00000e'$'c5'O'9d80000a00''01'72; 'p'00000000'comlen = 34 commit transaction

I。 2019/06/13 14:52:21。 块开始q_number = 113 q_type = 0 blk = 183740:21 cnt = 5

........

log_first_tran显示-

I。 2019/06/13 14:23:47 数据库'HANA_SERVER.S00'的DSI线程已启动。
I。 2019/06/13 14:23:47 提交
I。 2019/06/13 14:23:47 插入SGPM.TEMP值()
I。 2019/06/13 14:23:47 调用rs_update_lastcommit(112,'00000e24c5453214000000010002cec30005cfa000100e24c54064370000000000000001','000000000000000000000000000000000000000000000000000000000000000000000000',to_timestamp('1900-01-01 00:00:00.000000000','YYYY-MM-DD HH:MI:SS.FF9>),0)<0 。 2019/06/13 14:23:47 提交
T。 2019/06/13 14:23:47 (349):数据库'HANA_SERVER.S00'的前1个事务已记录到异常日志中。

有人看过吗? -还有解决的办法吗? 请帮助。 预先感谢您的帮助。

致谢

艾森

付费偷看设置
发送
1条回答
spaceman01
1楼 · 2020-09-07 00:28.采纳回答

在RepServer中执行sysadmin log_first_tran后,

还应该检查RSSD(或ERSSD,如果适用)中rs_helexception显示的内容。

不带任何参数rs_helpexception将显示所有已记录的事务 到目前为止。

然后您可以根据数量和时间戳等选择最新的,然后按照以下条件运行

rs_helpexception ,'V'

这应该确切显示正在尝试的SQL。 它还显示了事务来自何处,在源端登录和源提交时间。 检查源SQL是否正常,然后确定需要什么修复。

HTH

Avinash

一周热门 更多>