Tuesday, November 16, 2021

Troubleshooting Guide for the Demantra Engine Issues (Doc ID 1456714.1)

 In this Document

Purpose
Troubleshooting Steps
References

APPLIES TO:

Oracle Demantra Demand Management - Version 7.3.0 and later
Information in this document applies to any platform.

PURPOSE

 To trouble shoot demantra engine issues

TROUBLESHOOTING STEPS

 

Whenever you face the problem with the Batch/Simulation Engine, you need to provide the following information to the oracle support for troubleshooting the engine issues.

 

1. Engine 2k log files

2. Engine manager log files

3.Please also upload these query outputs in the Excel sheet with the column headers:

Select * from forecast_history order by time_sig;
Select * from version_details_history order by upgrade_date desc;
Select * from sys_params;
Select * from init_params_0;

 

In addition to, for the simulation engine you need to provide the following:

Simulation only:

select * from simulation_q;
select * from simulation_list;

4. Whenever you run the engine from the workflow, If the engine is taking long time to complete it, please enable the Enhanced Logging for Workflow

http://<Host  Name of Webserver : Port Number>/demantra/admin/loggerManager.jsp

Turn on following Workflow related entries:

Once you enable the Enhanced Logging, you need to  Re-run the workflow and upload/Review the collaborator log file.

Note that this logging will be turned off either by the next time the web server is restarted or by the user turning off the lines that were earlier turned on.

5.Please make sure command line in the workflow provided is correct  as it needs to have full path:

"#application_root#\..\..\Demand Planner\Analytical Engines\bin\EngineManager.exe" 1 1

6. Please make sure that engine is running on 32-bit oracle client version on the client or server machine when you run the engine from the workflow.

7. Please also make sure that the AppServerURL is correctly in this path

Login to the Business Modeler
Parameters---->System parameters--->System--->AppServerURL
OR

select pval from sys_params where pname = 'AppServerURL'

8. When you run the engine on Linux machine,

Engine Manager Pre Run Log.txt
$ORACLE_HOME/j2ee/home/Engine Manager Pre Run Log.txt or $ENGINE_ROOT/bin/Engine Manager Pre Run Log.txt file.

settings.xml

9. Please enhance the Engine logs using this path
EngineAdmininstrator.exe
setting>>configure
please enhance by clicking once the SQL tab, If the tab is down, then it is enhanced.

10.When you are running the engine and your Demantra schema is large or big, you need to make sure that BranchID Multiple is set correctly using this formula

Check how many active combinations are in MDP_MATRIX

 select count(*) from mdp_matrix where do_fore=1 and prediction_status = 1


This result will be called TOTAL which then you use in the following calculation:

BranchID Multiplier = TOTAL / 2000 / Number of engines configured to run (ex. 1 if you have only one localhost).  Note that the number of engines allowed on one machine would roughly be 2 per physical CPU as long as there is around 1.5GB memory available per engine instance.

So in this example if Total = 200,000 and  Number of CPU = 2 the calculation would look like:   200,000 divided by 2000 divided by number of engines, which is 4 since you have 2 Engines per CPU.   200,00/2000/4=25, as your BranchID Multiplier

Save the change.  There is no need to re-register the engine after changing and saving this setting. 

 

11. Whenever the Proportions(P1 to P12 values) are high on a new combination even though very less sales on this combination, then you need to review these parameters(proport missing and proport spread) in the init_params_0 table.

select * from init_params_0 where pname='proport_missing';
select * from init_params_0 where pname='proport_spread';
select * from init_params_0 where pname='def_delta';

You can also re-calculate the proportions using this update statement

BEGIN
UPDATE mdp_matrix
SET prop_changes = 1
where item_id = << your_item_id>>
and location_id = << your_location_id>>;
COMMIT;
proport;
END;

You can also run this update statement whenever you change the engine parameters manually.

These parameters control how proportions will be assigned to months with no history, either those which were prior to the first sale or those which have null values.
By modifying these two parameters you can control how proportions will be assigned to months which did not have demand.
Please review Demantra Implementation Guide for more information.

 

12.If you find out of sync in the mdp_matrix table and sales_data table,then you can run this query on Demantra schema

SELECT ITEM_ID,LOCATION_ID FROM (
SELECT ITEM_ID,LOCATION_ID,FROM_DATE,UNTIL_DATE FROM MDP_MATRIX
UNION
SELECT ITEM_ID,LOCATION_ID, MIN(SALES_DATE), MAX(SALES_DATE) FROM SALES_DATA
GROUP BY ITEM_ID,LOCATION_ID)
GROUP BY ITEM_ID,LOCATION_ID
HAVING COUNT(*) > 1
ORDER BY ITEM_ID,LOCATION_ID;

If the above query returns zero rows, it means that the tables are in sync.

If the above query returns rows, then the tables are not sync. Then, you need to run this update statement

UPDATE MDP_MATRIX
SET FROM_DATE = NULL,
UNTIL_DATE = NULL;
COMMIT;
EXEC UPDATE_MDP_MATRIX_DATES;

 

13. When ever you run the engine on Linux, if the engine has hang, then you should review this metalink document to solve the problem

Unable to start the Engine on Linux server Note 1325321.1

14. Whenever you get this error message

WARNING Retrying bulk insert for file: sqlldr due to communication Error: 256

There was no executable permissions for $ENGINE_ROOT/lib/sqlldr file, so you need to give the full or executable permissions for this file.

15. Whenever EngineStarters become stacked for some reason if corresponding engines are killed brutally. So after killing engine with "kill -9" you need to restart the EngineStarter.

No comments:

Post a Comment

Database Options/Management Packs Usage Reporting for Oracle Databases 11.2 and later (Doc ID 1317265.1)

  Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...