Sometimes a simple question turns out to be harder than expected.
“Can we see if a particular SQL execution in AWR used a baselined plan?”
Initial thoughts might be:
Q: Does DBMS_XPLAN.DISPLAY_AWR tell us this?
A: Apparently not. See below. This question could also be rephrased as two other possible questions:
Q:Isn’t there a column on DBA_HIST_SQLSTAT which tell us this?
A: No. You’d think there should be. There is a SQL_PROFILE column. (more...)
In the Oracle technical universe, it seems that the end of the calendar year is always eventful. First there’s OpenWorld: obviously significant for official announcements and insight into Oracle’s strategy. It’s also the week when many top engineers around the world meet up in San Francisco to catch up over (more...)
Recently I received an email with an simple content:
"It" is slow again :-)
The email explained a package to be slow.
Ok, I started with my "not enough information" reply and an email conversation began.
We are still not ready to identify the problem, but as there is no (more...)
A new version of the XPLAN_ASH tool (detailed analysis of a single SQL statement execution) is available for download. The previous post
includes links to video tutorials explaining what the tool is about.As usual the latest version can be downloaded here.
The new version comes with numerous improvements and (more...)
It's just under a week to go before the doors open for the UKOUG Tech13 conference and the adjoining OakTable World UK 2013 sessions, so I thought I would write a very short blog post about what I will be doing there, where I'll be, and what I'm looking forward (more...)
Here are two interesting enhancements in Oracle database 12c PL/SQL. PL/SQL subprogram defined using WITH clause of a subquery – Oracle database 12c allows PL/SQL declaration section in the WITH clause. One can define PL/SQL function or procedure into a WITH clause. Functions declared in the PL/SQL declaration section can (more...)
Today was speaking at HighLoad++ 2013 Moscow. I had two presentation covering deep internals of JVM. One about JIT compilation and other concerning pauseless garbage collection algorithms.
Slide decks are below (in Russian)
Today I was speaking at CEE SECR 2013 at Moscow.
Below is a slide deck from presentation (in Russian)
To no big surprise, the healthcare.gov website went down promptly after being launched. This is the place where people sign up for “Obamacare,” and officials foolhardily insisted that everything was ready for a million visitors. It wasn’t.
Serious websites generally eschew big-bang launches because it is so hard to get (more...)
IMU and Private strands are interesting new entries in Oracle 10g. These to private buffer to a transaction will help to avoid many expensive latches both in buffer cache and log buffer. There are tons of data available in the net about these subjects and many experts spoke (more...)
this is a getting-started article for PyLatencyMap
, a performance tool for real-time investigation and troubleshooting of latency data. Contains examples relevant for the Oracle RDBMS and for DTrace.Getting started
Download the latest version of PyLatencyMap
(also available on GitHub
). At the time of this writing PyLatencyMap (more...)
Oracle Coherence data grid has a powerful tool for inplace data manipulation - EntryProcessor. Using entry processor you can get reasonable atomicity guarantees without locks or transactions (and without drastic performance fees associated).
One good example of entry processor would be built-in ConditionalPut processor, which will verify certain condition before (more...)
this post is about PyLatencyMap, a performance-oriented tool I have written for command-line drill down of latency data, integrating various data sources (Oracle, DTrace, trace files) into a basic visualization engine.Motivations:
Understanding a performance problem is often about understanding where time is spent. Many of the systems I (more...)
session_cached_cursors is one of the neglected parameter in oracle environment which specifies the number cursor cached in the PGA of a session. Any SQL executed multiple times will be cached and executed with a softer soft parsing. There can be 3 scenarios for any parse request.
SQL parsing (more...)
When I wrote this article for The Register in October 2010, there was a torrent of naysayers and witch hunters spewing their opinions in the comments section. I don't have a problem with that, I was only expressing an opinion myself, after all. I don't actually own a time machine (more...)
This is just a pointer post to a tool which I discovered today. It is ORATOP, to monitor databases real time like top of unix flavours. It is pretty much like MOATS (tool from Tanel Poder and Adrian Billington and RAC version by Jagjeet Singh), with a bit better output (more...)
Got a question: What will happen a running curosr got invalidated? SQL execution will fail or invalidation is not at all possible?
There are two components for an executing cursor. A session cached cursor (private area where row source are getting processed) in PGA and sharable execution plan (shared excution (more...)