Author Archives: Bobby

About Bobby

I live in Chandler, Arizona with my wife and three daughters. I work for US Foods, the second largest food distribution company in the United States. I have worked in the Information Technology field since 1989. I have a passion for Oracle database performance tuning because I enjoy challenging technical problems that require an understanding of computer science. I enjoy communicating with people about my work.

More than n! join orders?

Earlier today I was getting paranoid and thought I had found an error in my “Intro to SQL tuning” paper namely that there were more than n! join orders. Here is what I said in the paper: There are many … Continue reading

Posted in Uncategorized | Leave a comment

Faster commit time with shared servers

This is a follow up to my previous post “Faster commit time with fewer sessions“.  I’ve put together a test case against an HP-UX server running 10.2.0.3 of Oracle that shows commits six times faster with shared servers than with … Continue reading

Posted in Uncategorized | Leave a comment

Faster commit time with fewer sessions

I’m trying to understand how to prevent the database server that supports one of our web sites from becoming overwhelmed when the CPU %used gets too high.  Once CPU gets above about 80% performance takes a nose dive and CPU … Continue reading

Posted in Uncategorized | 3 Comments

Added plan_hash_value to DBA_HIST_SQLSTAT query

I modified my query of DBA_HIST_SQLSTAT that I use for query tuning to include plan_hash_value.  This is nice because you can see whether a particular plan corresponds to a longer run time.  Here a link the the modified script(updated). Here … Continue reading

Posted in Uncategorized | 1 Comment

optimizer_features_enable hint

I thought I had already posted on this, but I didn’t.  I recently used this hint to resolve an issue with a custom PeopleSoft Financials batch process running too long.  A particular query was taking over an hour instead of … Continue reading

Posted in Uncategorized | Leave a comment

Breaking up query to force join order

If all else fails and you can’t get the optimizer to join the tables together in an efficient order you can break the query into multiple queries saving the intermediate results in a global temporary table.  Here is how to … Continue reading

Posted in Uncategorized | 2 Comments

awrgrpt.sql AWR report for RAC and Exadata

Recently I discovered the RAC version of the AWR report – awrgrpt.sql.  Today was the first time I used it for a real system.  In this case a 12 node Exadata system.  awrgrpt.sql is in $ORACLE_HOME/rdbms/admin just like the normal … Continue reading

Posted in Uncategorized | 7 Comments

CPU queuing and library cache: mutex X waits

I had a funny thing happen today.  I had recently participated in a forum thread about  library cache: mutex X waits.  In that discussion the library cache: mutex X waits were on an AWR report but when we dug deeper … Continue reading

Posted in Uncategorized | Leave a comment

ECO Presentations

The list of the East Coast Oracle Users conference presentations came out: Click here for the list (NO LONGER EXISTS). My “Introduction to SQL Tuning” talk is on there.  I also submitted an Exadata talk but it looks like Michael … Continue reading

Posted in Uncategorized | Leave a comment

Comments

I’ve changed the blog’s settings regarding comments.  I was trying to prevent spam but it looks like the settings I chose prevented people from leaving comments.  One person emailed me to ask about this.  So, I’m still going to moderate … Continue reading

Posted in Uncategorized | Leave a comment