Category Archives: Oracle performance tuning

Tracing Oracle background processes with Dtrace for Linux

I’ve been googling for articles on using Dtrace with Oracle databases. There isn’t all that much. I’ve found an article from Andrey Nikolaev on using Dtrace to investigate exclusive latches on Solaris. He uses this dtrace command to investigate the … Continue reading

Posted in Linux, Oracle database administration, Oracle performance tuning | Tagged , , , | 1 Comment

Trace column 1.3

trace_column.sql is a script that you can use to quickly trace (event 10046) a couple of sessions with the same properties. For example: suppose there are multiple sessions of a user called APP_USER, you can start the trace on all … Continue reading

Posted in Oracle performance tuning, Oracle scripts | Tagged , , | Leave a comment

Parallel query performance consistency

A collegue just asked me “didn’t you have a query to see what SQL has ran in parallel?” I’ve used this months ago and completely forgot, but this might come in handy again some day, so I’ll put this here. col … Continue reading

Posted in Oracle performance tuning | Tagged , , , , , | 2 Comments

Function based indexes sans the NULLs

A collegue asked my help with a performance issue. He was trying to tune a query that ran on a 6 TB table. The query had to return rows for a couple of specific statusses and for that it should … Continue reading

Posted in Oracle performance tuning | Tagged , , , , | Leave a comment

Oracle performance mystery: wildly varying query response time

At this moment I’m working on a very weird performance issue on our Oracle Universal Content Management database. This is the query (actually with binds of course. Values for dReleaseState and dStatus are the same as far as I could … Continue reading

Posted in Oracle performance tuning | Tagged , , , , , , , , | 6 Comments

Statistics history, revisited

Tuesday last week I did a presentation on the Planboard DBA Symposium in De Meern, the Netherlands, about SQL performance issues. The scope of my presentation was what to do when a SQL statement suddenly does not perform adequately. Often … Continue reading

Posted in Oracle performance tuning | Tagged , , , , , , | Leave a comment

SQL*Net message from client on sqlplus?

Here is a very weird issue I encountered recently. I was working on a test to find out whether different values of parallel parameters would result in better performance for a data warehouse setup. I had noticed that several important SQL … Continue reading

Posted in Oracle performance tuning | Tagged , , , , , , , , | Leave a comment

Planboard DBA Symposium: 17 juni 2014

Dutch-speaking readers of my blog might be interested to know I’ll be speaking at the 9th Planboard DBA Symposium at Oracle Nederland in De Meern. There will be (Dutch) sessions for DBAs and middleware specialists. I will do a session about first … Continue reading

Posted in Oracle performance tuning | Tagged , , , | Leave a comment

Useful stuff from event 10053 traces – part 2

I would like to reflect once more on the “dynamic sampling used for this statement” message. Suppose dynamic sampling really happened with reason, because statistics were old, missing or otherwise insufficient. Now what?   Dynamic sampling because of missing or old statistics … Continue reading

Posted in Oracle performance tuning | Tagged , , , , | Leave a comment

Useful stuff from event 10053 traces – part 1

In theory you can use event 10053 traces to see what choices the optimizer has made, which is very interesting if your query didn’t perform as it was supposed to do. In practice event 10053 traces contain an overwhelming amount … Continue reading

Posted in Oracle performance tuning | Tagged , , , , , , , , | Leave a comment