- Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
- Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
In this video I will present a case study of a complex performance issue where the initial symptoms pointed somewhere else than the root cause. Only when systematically following through the troubleshooting evidence, we get to the root cause of the problem. This session aims to help you understand (and reason about) the Oracle’s multi-process & multi-layer system behavior, preparing you for independent troubleshooting of such complex performance issues in the future. - Linux, Oracle, SQL pe...| tanelpoder.com
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
| Categories on Tanel Poder Consulting
- Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
Success! Thanks for signing up for my class! You will receive an email with the payment receipt from Paypal that confirms your attendance. If you don’t see this email, please check your spam folder. In case of any questions, please email: seminars@poderc.com I will send out the slides, scripts and webinar joining instructions on the week before the class starts. There’s more info and instructions on how to prepare for the online classes on the seminars page when you scroll down:| Advanced Oracle SQL Tuning, Troubleshooting and Linux Performance Training by...
Advanced Oracle SQL Tuning, Troubleshooting and Linux Performance Training by Tanel Poder - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
Tanel Põder (young) Tanel Põder (current) Hi, I am a consultant, advisor, entrepreneur and a long-time computer performance geek. I’m interested in the inner workings of complex systems and especially how all the pieces work together. That helps me build and fix enterprise data systems with less of trial and error and more of a systematic approach. 30 years ago, I started as a part-time C developer and then moved to Unix, Linux, Oracle RDBMS and various distributed systems on-premises and...| tanelpoder.com
When I delivered a previous version of this class last, it was year 2013 and the latest Oracle version was 11.2. Since plenty of people have asked if I ever do this training again - and now that Oracle 18c is out with a lot of new (and adaptive) stuff added since version 11, I’ve decided to update the material and run it again as an online training class :) - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
I have uploaded my TPT-oracle scripts to GitHub and have formally open sourced them under Apache 2.0 license as well. This allows companies to embed this software in their toolsets and processes & distribute them without a worry from legal departments. The repository is here: https://github.com/tanelpoder/tpt-oracle Now you can “git clone” this repository once and just “git pull” every now and then to see what updates & fixes I have made. - Linux, Oracle, SQL performance tuning and tr...| tanelpoder.com
I have uploaded the the video of my Secret Hacking Session: Oracle X$TRACE, Wait Event Internals and Background Process Communication to my Oracle performance & troubleshooting Youtube channel. The slides are in Slideshare. Enjoy! - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
Update: I unexpectedly ended up falling ill and decided to reschedule this hacking session to January 24, 10am PST. No need to re-register if you already have done so. Sorry for the inconvenience. I will upload the video to Youtube after the event. Since I’m running my Advanced Oracle Troubleshooting Training in the end of this month, I’ll do one of my “secret” hacking sessions too for promotion and noise-making reasons next week! - Linux, Oracle, SQL performance tuning and troublesho...| tanelpoder.com
A lot of people have asked me to do another run of my Oracle Troubleshooting training or at least get access to previous recordings – so I decided to geek out over the holiday period, update the material with latest stuff and run one more AOT class in 2018! The online training will take place on 29 January – 2 February 2018 (Part 1) & 26 February – 2 March 2018 (Part 2). - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
We are running a “Gluent New World training month” in this July and have scheduled 3 webinars on following Wednesdays for this! The first webinar with Michael Rainey is going to cover modern alternatives to the traditional old-school “ETL on a RDBMS” approach for data integration and sharing. Then on the next Wednesday I will demonstrate some Apache Impala SQL engine’s internals, with commentary from an Oracle database geek’s angle (I plan to get pretty deep & technical). - Linux,...| tanelpoder.com
This Gluent New World webinar is based on my RAM is the new disk and how to measure its performance article series: RAM is the new disk – Introduction RAM is the new disk – tools for measuring CPU efficiency and RAM access RAM is the new disk – Columnar vs Row-oriented data access test results I’m using the Oracle Database In-Memory option as an example here, but the same rules apply to other row & column stores as well. - Linux, Oracle, SQL performance tuning and troubleshooting -...| tanelpoder.com
Here are the two BIWA Summit 2016 presentations I delivered today. The first one is a collection of high level thoughts (and opinions) of mine and the 2nd one is more technical: SQL in the Hybrid World from Tanel Poder SQL Monitoring in Oracle Database 12c from Tanel Poder - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
I have created a new youtube channel – and have uploaded some videos there already! Bookmark & Subscribe here: https://www.youtube.com/tanelpoder More stuff is coming over the next weeks & months :-) - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
Here’s an updated presentation I first delivered at Hotsos Symposium 2015. It’s about lots of concurrent PX direct path insert ant CTAS statements that, when clashing with another bug/problem, caused various gc buffer busy waits and enq: TX – allocate ITL entry contention. This got amplified thanks to running this concurrent workload on 4 RAC nodes: When reviewing these slides, I see there’s quite a lot that needs to be said in addition to what’s on slides, so this might just mean...| tanelpoder.com
Here’s my latest OOW presentation – SQL Monitoring in Oracle Database 12c: [direct link] You can download all my scripts from /files/ - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
It took a while (1.5 years since my last class – I’ve been busy!), but I am ready with my Advanced Oracle Troubleshooting training (version 2.5) that has plenty of updates, including some more modern DB kernel tracing & ASH stuff and of course Oracle 12c topics! The online training will take place on 16-20 November & **14-18 December 2015 **(Part 1 and Part 2). The latest TOC is below: - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
[ part 1 | part 2 | part 3 ] RAM is the new disk, at least in the In-Memory computing world. No, I am not talking about Flash here, but Random Access Memory – RAM as in SDRAM. I’m by far not the first one to say it. Jim Gray wrote this in 2006: “Tape is dead, disk is tape, flash is disk, RAM locality is king” (presentation) Also, I’m not going to talk about how RAM is faster than disk (everybody knows that), but in fact how RAM is the slow component of an in-memory processing...| tanelpoder.com
Here’s the video of E4 keynote we delivered together with Kerry Osborne a few weeks ago. It explains what we see is coming, at a high level, from long time Oracle database professionals’ viewpoint and using database terminology (as the E4 audience is all Oracle users like us). However, this change is not really about Oracle database world, it’s about a much wider shift in enterprise computing: modern Hadoop data lakes and clouds are here to stay. - Linux, Oracle, SQL performa...| tanelpoder.com
I have some news, two items actually. First, today (it’s still 18th June in California) is my blog’s 8th anniversary! I wrote my first blog post, about Advanced Oracle Troubleshooting, exactly 8 years ago, on 18th June 2007 and have written 229 blog posts since. I had started writing and accumulating my TPT script collection a couple of years earlier and now it has over 1000 files in it! And no, I don’t remember what all of them do and even why I had written them. - Linux, Oracle, SQL ...| tanelpoder.com
Vishal Desai systematically troubleshooted an interesting case where the initial symptoms of the problem showed a spike of enq: SQ – contention waits, but he dug deeper – and found the root cause to be quite different. He followed the blockers of waiting sessions manually to reach the root cause – and also used my @ash/ash_wait_chains.sql and @ash/event_hist.sql scripts to extract the same information more conveniently (note that he had modified the scripts to take AWR snap_ids as t...| tanelpoder.com
I’ve updated some of my ASH scripts to use these 4 arguments in a standard way: What ASH columns to display (and aggregate by) Which ASH rows to use for the report (filter) Time range start Time range end So this means whenever I run ashtop (or dashtop) for example, I need to type in all 4 parameters. The example below would show top SQL_IDs only for user SOE sessions from last hour of ASH samples: - Linux, Oracle, SQL performance tuning and troubleshooting - consulting & training.| tanelpoder.com
Here are the slides of a presentation I did at the IOUG Virtual Exadata conference in February. I’m explaining the basics of some new Oracle 12c things related to Exadata, plus current latest cellsrv improvements like Columnar Flash Cache and IO skipping for Min/Max retrieval using Storage Indexes: Note that Christian Antognini and Roger MacNicol have written separate articles about some new features: http://antognini.ch/2015/03/exadata-storage-index-minmax-optimization/ https://blogs.ora...| tanelpoder.com
This is the first entry in a series of random articles about some useful internals-to-know of the awesome Oracle Database In-Memory column store. I intend to write about Oracle’s IM stuff that’s not already covered somewhere else and also about some general CPU topics (that are well covered elsewhere, but not always so well known in the Oracle DBA/developer world). Before going into further details, you might want to review the Part 0 of this series and also our recent Oracle Database...| tanelpoder.com
Despite the title, this is actually a technical post about Oracle, disk I/O and Exadata & Oracle In-Memory Database Option performance. Read on :) If a car dealer tells you that this fancy new car on display goes 10 times (or 100 or 1000) faster than any of your previous ones, then either the salesman is lying or this new car is doing something radically different from all the old ones. You don’t just get orders of magnitude performance improvements by making small changes. Perhaps the ...| tanelpoder.com
My previous post was about Oracle 12c SQL Scalar Subquery transformations. Actually I need to clarify its scope a bit: the previous post was about scalar subqueries inside a SELECT projection list only (meaning that for populating a field in the query resultset, a subquery gets executed once for each row returned back to the caller, instead of returning a “real” column value passed up from a child rowsource). I did not cover an other use case in my previous post – it is possible to use ...| tanelpoder.com
Here’s a treat for the hard-core Oracle performance geeks out there – I’m releasing a cool, but still experimental script for ASH (or poor-man’s ASH)-based wait event analysis, which should add a whole new dimension into ASH based performance analysis. It doesn’t replace any of the existing ASH analysis techniques, but should bring the relationships between Oracle sessions in complex wait chains out to bright daylight much easier than before. You all are familiar with the AWR/Statsp...| tanelpoder.com
This post applies both to non-Exadata and Exadata systems. Before Oracle 11.2 came out, it was true to say that Oracle Parallel Execution slaves always do direct path reads (bypassing buffer cache) when doing full segment scans. This should not be taken simplistically though. Even when you were doing full table scans, then yes the scanning was done with direct path multiblock reads – but if you had to visit other, additional blocks out of the scanning sequence, then these extra IOs were don...| tanelpoder.com
There was an interesting question in Oracle-L about the JOXSHM_EXT_* files in /dev/shm directory on Linux. Basically something like this: $ ls -l /dev/shm/* | head -rwxrwx--- 1 oracle dba 4096 Apr 18 10:16 /dev/shm/JOXSHM_EXT_0_LIN112_1409029 -rwxrwx--- 1 oracle dba 4096 Apr 18 10:16 /dev/shm/JOXSHM_EXT_100_LIN112_1409029 -rwxrwx--- 1 oracle dba 4096 Apr 18 10:16 /dev/shm/JOXSHM_EXT_101_LIN112_1409029 -rwxrwx--- 1 oracle dba 4096 Apr 18 10:23 /dev/shm/JOXSHM_EXT_102_LIN112_1409029 -rwxrwx--- ...| tanelpoder.com
Here’s a little known feature of Exadata – you can use a Bloom filter computed from a join column of a table to skip disk I/Os against another table it is joined to. This not the same as the Bloom filtering of the datablock contents in Exadata storage cells, but rather avoiding reading in some storage regions from the disks completely. So, you can use storage indexes to skip I/Os against your large fact table, based on a bloom filter calculated from a small dimension table! This is u...| tanelpoder.com
[ part 1 | part 2 | part 3 ] In the previous article I explained that the main requirement for high-speed in-memory data scanning is column-oriented storage format for in-memory data. SIMD instruction processing is just icing on the cake. Let’s dig deeper. This is a long post, you’ve been warned. Test Environment I will cover full test results in the next article in this series. First, let’s look into the test setup, environment and what tools I used for peeking inside CPU hardware. I...| tanelpoder.com
If you haven’t read the previous parts of this series yet, here are the links: [ Part 1 | Part 2 ]. A Refresher In the first part of this series I said that RAM access is the slow component of a modern in-memory database engine and for performance you’d want to reduce RAM access as much as possible. Reduced memory traffic thanks to the new columnar data formats is the most important enabler for the awesome In-Memory processing performance and SIMD is just icing on the cake. In the ...| tanelpoder.com