Upcoming Speaking Engagements
After about four months without any speaking engagements, over the next three months I’ll have the opportunity to speak at several events. I’m looking forward to meet you at one of them! April 3, I’ll...
View ArticleTroubleshooting Oracle Performance, 2nd Edition
Few days ago the second edition of Troubleshooting Oracle Performance was finally published. Today, I updated the pages on this site that provide information about the book. It goes without saying that...
View ArticleDifferences between the First and the Second Edition of Troubleshooting...
Several people asked me how much I changed in the second edition. The short answer is… A LOT. The main goals set for the revision of the book were the following: Add content about Oracle Database 11g...
View ArticleTroubleshooting Oracle Performance, 2nd Edition – Downloadable Files
This is just a short post to point out that the downloadable files are available here. You can download either a ZIP or a TAR file containing all files, or single files. Since every file has its own...
View ArticleRESULT_CACHE Hint in 12.1.0.2
Every new Oracle Database patch introduces not only documented features, but also undocumented ones. In this short post I would like to provide information about an enhancement of the RESULT_CACHE...
View ArticleThe APPROX_COUNT_DISTINCT Function – A Test Case
The aim of this post is not to explain how the APPROX_COUNT_DISTINCT function works (you find basic information in the documentation and in this post written by Luca Canali), but to show you the...
View ArticleAbout Oracle’s Code of Ethics, MOS Confidentiality Clause, and Content Stolen...
I strive to keep the number non-technical posts on this blog to the minimum. However, there are days when a non-technical post has to be written. This is one of such days. Oracle Corporation, concerned...
View ArticleThe Importance of the In-Memory DUPLICATE Clause for a RAC System
With the INMEMORY clause you can specify 4 sub-clauses: The MEMCOMPRESS clause specifies whether and how compression is used The PRIORITY clause specifies the priority (“order”) in which the segments...
View ArticleSTATISTICS COLLECTOR Row Source Operation and LOBs
The aim of the STATISTICS COLLECTOR row source operation, which is used in adaptive plans, is to buffer all data produced by its child operation until it is known whether the inflection point is...
View ArticleUKOUG TECH14 SQL Quiz
If you are an attendee of UKOUG Tech14 you have a chance to win a free copy of Expert Oracle SQL by Tony Hasler AND a free copy of Troubleshooting Oracle Performance (2nd edition) by myself. If you...
View ArticleRestrict the query optimizer through OPTIMIZER_FEATURES_ENABLE and...
To make upgrades easier, I regularly see people considering disabling query optimizer features by setting the OPTIMIZER_FEATURES_ENABLE initialization parameter to a non-default value. My general...
View ArticleExadata Storage Index Min/Max Optimization
Before discussing the Exadata-specific feature, let’s review what the database engine can do independently of whether Exadata is used. To execute queries containing the min or max functions...
View ArticleAd: Trivadis DK Opening Event
Trivadis, the company I work for, just opened a new branch in Denmark (the press release, in German, is available here). On the 14th of April (09:00-15:00) takes place, in the Oracle’s office in...
View ArticleBugs Related to SQL Plan Directives Pack and Unpack
SQL plan directives are a new concept introduced in version 12.1. Their purpose is to help the query optimizer cope with misestimates. To do so, they store in the data dictionary information about the...
View ArticleForeign Keys and Library Cache Locks
In this post I would like to describe a behavior of Oracle Database that, at least for me, isn’t obvious at all. Actually, it’s something that I can’t explain why it works in that way. Let’s start by...
View ArticleOnline Training Ad: Oracle Database 12c – New Performance Features
On 10 December 2015 I’ll give an online training entitled Oracle Database 12c – New Performance Features. This short post provides key information about it. Description With every new release of Oracle...
View ArticleAuto SGA Management Impacts the Default Value of DB_FILE_MULTIBLOCK_READ_COUNT
The database engine determines the maximum disk I/O size used during multiblock reads (for example, full table scans or index fast full scans) by multiplying the values of the db_block_size and...
View ArticleAlso Extensions Created Because of SQL Plan Directives Can Invalidate Packages
UPDATE 2015-12-18: As metioned by Bryn Llewellyn in this tweet, the invalidation I describe below is caused by bug 19450314. A patch for it is available here for several releases (e.g. it is available...
View ArticleOracle Database In-Memory Demos
In the last 14 months I delivered a dozen of presentations covering the In-Memory Column Store. During many of them, I spent most of the time showing the audience several demos. The aim of this post is...
View ArticleAlso Extensions Created Because of SQL Plan Directives Can Invalidate...
In a previous post I described a situation where the creation of an extension, independently of whether it’s carried out manually by a person or automatically by the database engine, can lead to the...
View Article