Watch Kerry Osborne compare and contrast Hadoop and Exadata Architecture from his E4 2012 presentation “Hadoop Meets Exadata.”
Here’s the Part 2 of the Oracle SQL plan execution hacking session (Part 1 is here)!
We’ll use a bit of DTracing to peek inside an Oracle SQL plan execution, plus some other random experiments. You can download the qer_trace.sh script from here. Note that this is not a “How to use DTrace” webinar, you have to learn DTrace yourself to understand (or enhance) this script.
This is the Part 1 of the hacking session I delivered live.
In this part we’ll talk mostly about how an application talks to the database session when wanting to execute a query (tracing OPI calls, fetch operations etc).
In the Part 2 (which I will upload soon) we’ll drill down inside an execution plan then.
Here is a compilation from E4 2012 featuring all presenters and abstract titles.
E4 2013 is already shaping up to be a great educational experience as well. Here is a short list of Exadata experts who have already committed to present:
Tom Kyte: Keynote
Call for Papers is currently OPEN – click HERE to submit an abstract.
Deadline: April 30, 2013
Here is the link to set up a user account at Enkitec and download Karen’s presentation deck from E42012:
Exadata Snapper (also called ExaSnapper or ExaSnap) is a new tool by Tanel Poder, which allows to “peek” into some SQL Execution-related cell metrics without leaving the Oracle database session / sqlplus prompt. The current version 0.7 is a beta version and will likely be much improved and changed once it reaches v1.0.
The tool itself will be downloadable from enkitec.com (will update this post once it’s there).
Here are the videos, split into 3 parts:
- Part 1 – Introduction
- Part 2 - Smart Scan and IO activity in the cell
- Part 3 - Advanced Metrics and Q&A
Part 1 – Introduction
Part 2 - Smart Scan and IO activity in the cell
Part 3 – Advanced Metrics and Q&A
Here’s the video of Snapper v4.0 beta “launch party”. I have fixed most of the bugs you see in this video
You can get the latest Snapper v4 BETA from here:
Please save it with “Save as…”, not copy & paste to an editor, as some editors tend to mess up large pasted content.
You can download most enkitec.tv videos also from iTunes Podcasting system and they tend to have better quality than the web version. Just subscribe to http://blip.tv/enkitectv/rss or search for EnkitecTV in the podcast directory!
Note that this was a hacking session deliberately aimed to be fun and “hackerish” rather than useful. Do not try this in your production databases!!!
The title is “Lots of undocumented, unknown and unnecessary features in Oracle!”
You can watch it here:
Note that there are more videos available on OakTableWorld website (and probably more will show up soon!)
This hacking session’s topic is Oracle parameter infrastructure. We will look into some internals of Oracle instance, session and optimizer environment parameter management. This session does not attempt to explain what all the individual parameters do, but how parameters work in general.
This knowledge can be useful for explaining some seemingly weird things happening in Oracle
1) Did you know that there are multiple different types of configuration parameters inside Oracle?
2) Do you want to know why changing some session parameters causes Oracle to recompile a new child cursor, while some parameters (notably the _small_table_threshold and _serial_direct_read) don’t?
3) Where are the session-level parameter values kept?
4) How to see what Oracle parameters some other session is using at the moment?
NB!!! Note that as the name says, this is a free hacking session – informal, fun and unstructured online hacking with no slides and no particular sturcture – it’s all demos in sqlplus.
Note that I had some trouble with my recording software in the end, so part of the question #2 will be answered in a future video!
By the way, I didn’t mention this in the hacking session, but ORADEBUG DUMP PARAMETERS 1 allows you to dump all *modified* parameters of another session (if you connect to that session’s process with oradebug first):
*** 2012-04-12 21:18:41.094 Processing Oradebug command ‘dump MODIFIED_PARAMETERS 1′ DYNAMICALLY MODIFIED PARAMETERS: timed_statistics = TRUE timed_os_statistics = 60 nls_date_format = dd-MON-yy optimizer_index_caching = 11 _serial_direct_read = ALWAYS _rowsource_execution_statistics= TRUE _rowsource_profiling_statistics= TRUE statistics_level = ALL _sqlmon_threshold = 5 _timemodel_collection = TRUE
Here’s another hacking session video from last year:
- How do full table scans work?
- How and why do the “ORA-8103: object no longer exists” errors happen
- How does Oracle (11g) decide between a buffered full table scan and a direct path read scan (plus smart scan in Exadata)
- What’s the difference between an object_id and data_object_id?