In this Document
APPLIES TO:
Oracle Demantra Demand Management - Version 7.3.0 and laterInformation 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.