升级到IDM 8.0后的分派器问题

2020-09-24 12:13发布

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

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


大家好,

将IDM系统升级到8.0后,在进行调度程序测试时,我们将遇到以下错误,并且调度程序无法启动。 请就这个问题提出建议。

读取Db信息-准备的语句:从MC_DBINFO中选择INFOVALUE,其中INFONAME ='TYPENUM'完整的调度程序标识符:idmdispatcher_2018_8_1 @ <服务器名称>:1518111633478:673641调度程序标识符前缀:idmdispatcher_2018_8_1 @ <服务器名称>无法调用主类-异常: " java.lang.VerifyError:操作数堆栈上的错误类型异常详细信息:位置:com/sap/idm/ic/services/dispatcher/MxDispatcher_DBCommonFacade.flushLinkRecord(Ljava/sql/Connection; Lcom/sap/idm/db/obj/view/IdMVLink;)V @ 47:原因:类型'com/sap/idm/db/obj/view/IdMVLink'(当前帧,堆栈[1])无法分配给'com/sap/idm/db/obj/MxTableObject的当前帧:bci:@ 47

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

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


大家好,

将IDM系统升级到8.0后,在进行调度程序测试时,我们将遇到以下错误,并且调度程序无法启动。 请就这个问题提出建议。

读取Db信息-准备的语句:从MC_DBINFO中选择INFOVALUE,其中INFONAME ='TYPENUM'完整的调度程序标识符:idmdispatcher_2018_8_1 @ <服务器名称>:1518111633478:673641调度程序标识符前缀:idmdispatcher_2018_8_1 @ <服务器名称>无法调用主类-异常: " java.lang.VerifyError:操作数堆栈上的错误类型异常详细信息:位置:com/sap/idm/ic/services/dispatcher/MxDispatcher_DBCommonFacade.flushLinkRecord(Ljava/sql/Connection; Lcom/sap/idm/db/obj/view/IdMVLink;)V @ 47:原因:类型'com/sap/idm/db/obj/view/IdMVLink'(当前帧,堆栈[1])无法分配给'com/sap/idm/db/obj/MxTableObject的当前帧:bci:@ 47

付费偷看设置
发送
5条回答
我是小鹏鹏啊
1楼 · 2020-09-24 12:55.采纳回答

在更新SP5中的最新补丁后,该问题已解决。

黑丝骑士
2楼-- · 2020-09-24 13:01

Hello Vinay,

请不要忘记接受对您问题的正确答案。 这可以帮助其他人看到问题已解决,并且遇到相同问题的成员可以更快地找到解决方案。

这次我为您做了,所以现在您的答案用橙色标记,并在列表顶部,以提高可视性。 要了解有关"接受"按钮功能的更多信息,请阅读此博客" 如何处理我的回答 问题?"。

此致

Steffi。

梦想连接
3楼-- · 2020-09-24 12:50

如果在升级脚本过程中出错,请重新运行(必要时在DBA的帮助下)以解决错误。 重新生成调度程序后,这应该可以解决该问题。

路亽曱_Ryan
4楼-- · 2020-09-24 12:57

嗨,马特,

感谢您的答复。

在重新运行更新脚本时,mxmc_db已更新,并且更新idstore.PFB时出错。 另外,当我签入mxmc_update.log时,能够看到在执行调度程序测试时遇到的相同错误。 它与idstore有关。 请确认。

我在下面提供了调度程序的.sh和.prop的内容。

*************************************************** ******

在本地主机上完成mxmc_db的更新

*************************************************** ******

*************************************************** *************

更新idstore模式失败。 看到mxmc_update.log

*************************************************** *************

mxmc_update,log启用7.2批准机制视图更新MC_LOGS更新IdStore模式检查jdbc连接[11.02.2018 23:08:51-606]-读取Db信息-准备的语句:从MC_DBINFO中选择INFOVALUE,其中INFONAME ='TYPENUM'jdbcconnection 确定更新IdStore模式[11.02.2018 23:08:53-421]-读取Db信息-准备的语句:从MC_DBINFO选择INFOVALUE,其中INFONAME ='TYPENUM'更新身份存储上的模式3线程" main" java.lang中的异常。 NullPointerException:尝试在com上调用从com.sap.idm.utils.JDBCUtil.fill(JDBCUtil.java:149)的局部变量'v'加载的空对象的方法java.lang.Object.toString()时。 com.sap.idm.db.objutil.table.LanguageTranslationUtil.addNew(LanguageTranslationUtil.java:50)上的sap.idm.utils.JDBCUtil.bindVars(JDBCUtil.java:39)com.sap.idm.schematransport.ic。 com.s处的com.sap.idm.schematransport.impl.ImXportSchema.executeImport(ImXportSchema.java:480)处的LanguageUtil.toDatabase(LanguageUtil.java:48) com.sap.idm.schematransport.impl上的com.sap.idm.schematransport.impl.ImXportSchema.updateIDStores(ImXportSchema.java:222)上的ap.idm.schematransport.impl.ImXportSchema.importSchema(ImXportSchema.java:330) com.sap.idm.schematransport.impl.ImXportSchema.main(ImXportSchema.java:141)上的ImXportSchema.updateIDSSchema(ImXportSchema.java:203)

dispactcherutil.sh

#!/bin/bash#:: ---------------- MC_COMMAND =" $ 1" DISPATCHER_NAME =" $ 2" OPTIONS =" $ 3"#:: ---- ------------#:: ================================== ================================================== ==#:: ---调度程序安装程序需要JDBC驱动程序才能连接到Identity Management DB#:: ========================== ================================================== ============如果[-f" dispatcherutil.config"],则#从配置文件中获取驱动程序路径| 在第一个equal(=)号之前切掉部分| 删除开头和结尾的制表符或空格MXDRIVERJAR =" $(grep -i" JDBC_DRIVER_JARFILE"" dispatcherutil.config" | cut -d'='-f2- | sed's/^ [\ t] *//; s/[ \ t] * $//')" fi如果[[$ MC_COMMAND ==""]]然后echo"" echo"用法:sh dispatcherutil.sh <命令> <选项>"回声"" echo"命令 其中之一:test/add/delete/start/suspend/resume/stop/softstop/list/gui/set_jdbc_url/set_default" echo" dispatcherName命令\" list \",\" gui \"和\" set_jdbc_url \不需要 ",但对其他用户是必需的" echo"选项checkconfig/runonce之一与命令\" test \"结合使用" echo"与 _rt用户结合使用的JDBC URL与命令\" set_jdbc_url \"结合使用" echo""退出 0 fi如果[[$ MC_COMMAND ==" gui"]]则#:: =============================== ================================================== =====#::--启动Dispatcher Installer GUI#:: =============================== ================================================== ====== $ {JAVA_HOME}/bin/java -cp。:./Java/Dispatcher Installer.jar:./Java/idmcommon.jar:" $ {MXDRIVERJAR}" com.sap.idm.dispatcherutil.ui.FrmMain出口0 fi,如果[[$ MC_COMMAND ==" test"]]然后#:: == ================================================== ==================================#::-在测试模式下启动分派器#:: ================================================== ==================================== sh ./Service-Scripts/Dispatcher_Service_${DISPATCHER_NAME}。 sh $ {MC_COMMAND} $ {OPTIONS}退出0 fi#:: ================================== ================================================== ==#::--启动分派器安装程序#:: =================================== ================================================== == $ {JAVA_HOME}/bin/java -cp。:./Java/DispatcherInstaller.jar:./Java/idmcommon.jar:" $ {MXDRIVERJAR}" com.sap.idm.dispatcherutil.cmd.CmdInstaller $ {MC_COMMAND } $ {DISPATCHER_NAME} $ {OPTIONS}

dispatcher_template.prop

#********************************************** *************#

---每个RELOAD_FREQUENCY ...都会重新加载此文件。#

*************************************************** ************#==================================== ===============================--调度员参数#============ ================================================== ========#----------------------------------------- ----------------------------#---调度员的姓名#------------ -------------------------------------------------- ------- DISPATCHER_NAME = $ DISPATCHERNAME $#------------------------------------- --------------------------------#---达到MC所需的驱动程序和URL#------ -------------------------------------------------- ------------- MC_JDBCDRIVER = $ JDBCDRIVER $ MC_JDBCURL = $ JDBCURL $#-------------------------- -------------------------------------------#---传递给 DSE运行时引擎。 #---#---此模板中使用的分隔符为';'。 #---调度程序将创建平台正确的字符串(在Windows--上使用';';在Unix上使用':')#---#-%DSE_HOME%将由调度程序扩展(替换为 值#---传递给调度程序本身)#---#---此模板中使用的目录分隔符为'/'。 #---可以使用'\\'或'/'-调度程序将创建#---平台正确的字符串(在Windows上为'\\',在Unix上为'/')#---# --- TODO#---需要JCO驱动程序才能连接到ABAP。 如果在Unix上运行#---调度程序,则必须将路径设置为指向实际的#--- JCO安装目录。 #------------------------------------------------- -------------------- DSECLASSPATH =%DSE_HOME%/Java/*; $ DSEClassPath $#---------------- -------------------------------------------------- ---#--- DSE可能需要的驱动程序,因此它可以执行#---此模板中使用的驱动程序之间的分隔符为';'。 #---可以使用';' 或':'-调度员将创建#---平台正确的字符串(在Windows上为';',在Unix上为':')#------------------- -------------------------------------------------- JDBCDRIVERS = $ JDBCDRIVERS $ DISP_CONN_STR_CHARSET = UTF-8

天桥码农
5楼-- · 2020-09-24 13:04

您好Vinay,

尝试重新运行数据库升级脚本,然后重新生成调度程序。 我在较早的版本中也遇到过类似的问题。

如果这不起作用,请发布调度程序.sh和.prop文件的内容。

马特

一周热门 更多>