Wednesday, March 26, 2008

General Troubleshooting

Okay...something is acting weird. A field does not display correctly, the app stops working correctly, a workflow says its doing one thing but it looks like it's doing something else. What do you do to troubleshoot the problem? Here are some suggestions:

  1. Look for a pattern. Can you recreate what just happened?
  2. Look in the server.log (and output.log for Weblogic). Do you see any strange error messages? (I will post a future blog entry for troubleshooting log messages)
  3. If the problem appears to be with workflows, turn on workflow logging and look at every workflow that fires. Many workflows call other workflows, so this could take a few iterations.
  4. Are the issues related to performance? If you have access to a DBA, ask them to help identify the long running SQL queries and run and explain plan. Look at my posting about analyzing long running SQL queries.
  5. If the issues are related to specific records in the database, use TOAD (or a similar tool) to compare good records with bad records in both the T_BONAME table and IBS_SPEC table. Are there any inconsistencies between good and bad records?
  6. Are objects stuck in a "bad" state? Use TOAD to be sure the sys_objectstate in the T_BONAME table and object_state in the IBS_SPEC table - be sure these match. These field can be updated to put the object into a valid state.
  7. Are fields not getting filled out by workflow as expected? Check the field length of the desination fields to be sure you're not trying to push 150 characters into a 100 character field
At some point in the future I will expand on this topic.....

No comments: