I was working on some performance issue from past few day. In this series of posts I will discussing cause and solution of those performance issues but before dig into solving the issues let’s get our basics right. Here is what you need to know before you can start digging into performance issues
How to Enable Spool for dedicated client?
Go through this post to learn that. If you already know how to do that then move on to next point.
How to Enable detailed logs?
Download video tutorial showing how to enable detailed logs through Environmental variables.
How to Alter Toad/SQL developer Session?
Siebel alters the session variables at database level before executing the query on database. If you would like to see the same performance that you see from Siebel Application the set the following session parameters before executing SQL statements in Toad or SQL Developer
ALTER SESSION SET optimizer_mode = FIRST_ROWS_10
ALTER SESSION SET "_HASH_JOIN_ENABLED" = FALSE
ALTER SESSION SET "_OPTIMIZER_SORTMERGE_JOIN_ENABLED" = FALSE
ALTER SESSION SET "_OPTIMIZER_JOIN_SEL_SANITY_CHECK" = TRUE
Replicating the issue and generating logs?
You need to perform certain steps which are common to get logs for any kind of problem. So, here is what you need to do
- Enable Spooling for dedicated client
- Enable detailed logs through environmental variables
- Login through dedicated client using Server Data Source
- Perform the transaction that is causing the performance issue
- close the client.
After preforming these steps you will have spool file containing all the SQL’s that are executed in background and detailed logs that will contain SQL as well as Siebel specific information.
I hope you have you basics clear now. Let’s start digging into performance issues one by one now.
Next in series >>
2 Comments at "Debugging performance issues - Basics"
[...] Debugging performance issues - Basics [...]
Question,
How do you know that Siebel sets the session variables at the database level? Is it mentioned in the documentation or have you observed from the logs? Also, the session variables you mentioned looks like applicable to Oracle, am I right?
Comment Now!