SUMMARY
This technical note describes a known defect in Strategy Enterprise Manager 10.x that causes the Enterprise Manager Data Load to fail when the warehouse database password contains certain special characters.
DESCRIPTION
In Strategy Enterprise Manager 10.x, the Data Load fails partway through the process at the first point where the EM service attempts to connect to the EM warehouse (generally this will be around 30%, at the point where "Migrating Statistics" is written to the log). The exact behavior will be dependent on the status of the "UseMultiprocess" setting in the MSIReg.reg file on the EM Service machine. See KB289904 for more information about this setting.
When UseMultiprocess=true:
Entries similar to the following will be written in the DSSErrors.log on the EM service machine:
2016-09-21 16:19:10.059-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1976420096][MultiProcess][Error] Find target process dead while waiting for reply
2016-09-21 16:19:10.143-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1911682816][Database Classes][Error] Execute Query failed.
Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [23000:1400: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into ("xxx"."EM_LOG"."EM_MESSAGE") Connection String: DSN=xxx;UID=xxx;HOST=xxx;PORT=xxx;SID=xxx;. SQL Statement: insert into EM_LOG(EM_TIME,EM_MESSAGE) values (to_date('2016/09/21 16:19:10','YYYY/MM/DD HH24:MI:SS'),'').
2016-09-21 16:19:10.192-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1911682816][Database Classes][Error] Execute Query failed.
Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [23000:1400: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into ("xxx"."EM_LOG"."EM_MESSAGE") Connection String: DSN=xxx;UID=xxx;HOST=xxx;PORT=xxx;SID=xxx;. SQL Statement: insert into EM_LOG(EM_TIME,EM_MESSAGE) values (to_date('2016/09/21 16:19:10','YYYY/MM/DD HH24:MI:SS'),'').
<log4j:event logger="MAEntMgr" timestamp="1474489139686" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Migrating Statistics]]></log4j:message>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489139688" level="DEBUG" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Starting moving IS_SCHEDULE_STATS]]></log4j:message>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489150081" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException:
at com.Strategy.maem.dataload.etlnative.ETLMove.moveNative(Native Method)
at com.Strategy.maem.dataload.etlnative.ETLMove.move(Unknown Source)
at com.Strategy.maem.dataload.etlnative.ETLObject.ExecuteMove(Unknown Source)
at com.Strategy.maem.dataload.etlnative.ETLObject.move(Unknown Source)
at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489150121" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Statistics migration failed, Please check DSSErrors.log for more details]]></log4j:message>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489150122" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[Statistics migration failed, Please check DSSErrors.log for more details]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException: Statistics migration failed, Please check DSSErrors.log for more details
at com.Strategy.maem.dispatcher.DispatcherPool.handleReturnType(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.notifyHandler(Unknown Source)
at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.processReturn(Unknown Source)
at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489150128" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Error during the data load migration!]]></log4j:message>
</log4j:event>
<log4j:event logger="MAEntMgr" timestamp="1474489150130" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[Statistics migration interruped]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException: Statistics migration interruped
at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>[HOST:xxxx][SERVER:][PID:xxxx][THR:3280099072][Database Classes][Error] Connect failed. Login failed. Error type: Odbc error. Odbc operation attempted: SQLDriverConnect. [HY000:0: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver]Insufficient information to connect to the data source. Connection String: DSN=xxxx;. [HOST:xxxx][SERVER:][PID:xxxx][THR:3280099072][Database Classes][Error] Failed to connect to data source. Error message: Connect failed. Login failed. Error type: Odbc error. Odbc operation attempted: SQLDriverConnect. [HY000:0: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver]Insufficient information to connect to the data source. Connection String: DSN=xxxx;. [HOST:xxxx][SERVER:][PID:xxxx][THR:1380558592][MultiProcess][Error] The child process is terminating because the parent process died. [HOST:xxxx][SERVER:][PID:xxxx][THR:2998875904][MultiProcess][Error] The child process is terminating because the parent process died.
# # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fc253a25de4, pid=1648, tid=140472451540736 # # JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libM8DbCon3.so+0x1f5de4] MDb::LogicalConnection::CreateStatement()+0x4 #