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.

Direct IO and db_writer_processes=36 on HP-UX reduced free buffer waits

In my previous post I explained that setting db_writer_processes=1, dbwr_io_slaves=32 made a 2-3 times reduction in run time of my test of 15 concurrent updates. Further testing has shown that an even greater improvement – really 10 times – can … Continue reading

Posted in Uncategorized | 1 Comment

db_writer_processes, dbwr_io_slaves with no asynch I/O on HP-UX

I’m working on an HP-UX system that doesn’t have asynchronous I/O configured and I’m getting a bunch of “free buffer waits” which indicates that the DBWR processes are having trouble writing updated blocks from memory to disk fast enough.  Some … Continue reading

Posted in Uncategorized | 4 Comments

DBA_HIST_SEG_STAT example

I used this query to debug some updating issues on a table: select ss.DATAOBJ#, sn.END_INTERVAL_TIME, ss.DB_BLOCK_CHANGES_DELTA, ss.PHYSICAL_WRITES_DELTA from DBA_HIST_SEG_STAT ss, DBA_HIST_SNAPSHOT sn, DBA_HIST_SEG_STAT_OBJ so where so.OWNER=’MYUSER’ and so.OBJECT_NAME=’PLAN_TABLE’ and so.OBJECT_TYPE=’TABLE’ and ss.OBJ#=so.OBJ# and ss.DATAOBJ#=so.DATAOBJ# and ss.snap_id=sn.snap_id order by ss.snap_id,ss.DATAOBJ#; This … Continue reading

Posted in Uncategorized | Leave a comment

DBA_HIST_ACTIVE_SESS_HISTORY shows PeopleSoft OPRIDs

You can use DBA_HIST_ACTIVE_SESS_HISTORY to show details about the PeopleSoft operator id (OPRID) and which part of the online application they were in.  I was just looking at a Query Manager issue and found that DBA_HIST_ACTIVE_SESS_HISTORY populated these three columns … Continue reading

Posted in Uncategorized | Leave a comment

Don’t use TIME_WAITED in ASH views

I attended John Beresniewicz’s Active Session History (ASH)  talk at Collaborate 13 on Monday.  One simple point from it was that he commonly sees queries of the ASH views that use the TIME_WAITED column incorrectly and result in incorrect results.  … Continue reading

Posted in Uncategorized | 3 Comments

Lessons from preparing my Exadata talk

Well, I’m giving this talk related to Exadata at the Collaborate 13 usergroup conference on Monday.  I’ve spent a lot of time – probably too much time – preparing the slides and practicing the talk.  I first gave this talk … Continue reading

Posted in Uncategorized | Leave a comment

Yet another Exadata slides update

Link to the latest version of my Exadata talk slides: zip Here are the details of my presentation time and place if you are going to Collaborate 13 in Denver: Session title: Exadata Distinctives Room: Mile High Ballroom 1C Date … Continue reading

Posted in Uncategorized | Leave a comment

Exadata flash cache latency .4 milliseconds

The central point of my Exadata presentation is that data flows from the disks and into and out of memory caches in a different way on Exadata when using a Smart Scan than in non-Exadata Oracle databases.  An interesting consequence … Continue reading

Posted in Uncategorized | Leave a comment

Flash cache used when smart scans are disabled

I just wanted to double check something on my Exadata slides.  I think I had checked this before but became unsure if something I was saying was true, namely that when you run a normal non-smart scan query on Exadata … Continue reading

Posted in Uncategorized | 1 Comment

Disabling cardinality feedback

I ran into a case today where I had tuned a query by putting a cardinality hint into a view, but the optimizer changed the plan anyway by overriding the cardinality hint with cardinality feedback.  So, I found out how … Continue reading

Posted in Uncategorized | Leave a comment