Posts by Christo Kutrovsky

Oracle Parallel Query Sorting and Index Creation Performance Problems

There’s a serious performance bug that’s been in Oracle for a while, and finally there are hints of it been fixed, but only partially. The bug happens when performing sorting operations in parallel, and the source data is already well sorted. The “ranger” doesn’t do a good job of properly assigning row ranges to sorter processes, and ~90% of the rows end up being sent to the same parallel process, regardless of the level of parallelism.

Adding Columns with Default Values and Not Null in Oracle 11g

Oracle 11g has a new performance enhancement when adding columns. In the pre-11g releases, adding a new not null column with a default value would have caused a massive update on the entire table, locking it for the operation and generating tons of undo and redo. I’ve seen this happening in production. Oracle 11g has improved this behaviour by storing the default value in the metadata and making the column addition instantaneous. Although this is a welcomed enhancement, there are some unexpected aspects beyond the basic operations. First, we know default values for new columns are stored in the metadata, but what happens when you change the default?

RMOUG: Day 1

Day One at RMOUG in Denver is now over. There were quite a few interesting presentations. Unfortunately, the very first I went to was canceled due to car trouble. I also found that several sessions of similar interest to me overlapped, so I had to choose my spots. I provided a detailed breakdown of the sessions I attended here.

Oracle’s Secret New Feature: Educated Guesses

Larry Ellison is announcing a major new feature this Wednesday at Open World. For the first time in a while, his keynote is dedicated to the “database” as opposed to the usual high level ERP/Apps/Fusion. Even the title of his keynote is catchy — “Extreme Performance”. Oracle has been keeping the new feature a secret. Even the 11gR2 beta program had very few participants to prevent information leaking out. It’s, “Something’s coming, but I am not telling what.” Okay, it worked on me, I’m excited about it. Let’s think what it could be.

Recent Spike Report from v$active_session_history (ASH)

sec p, dsk p, gets p, rows p, cpu p — these are average statistics for the query being executed. This should give you a quick overview of whether the query is a big query, a small query, a CPU-intensive or a disk I/O-intensive query. Be careful: since the query was introduced to the shared pool, those columns are averages, and therefore could be misleading. These are all per execution stats, so sec p represents the number of seconds on average it took to execute the query.

Page 2 of 612345...Last »