From time to time I get questions on my trainings, what is the difference between TRUNCATE TABLE and TRUNCATE TABLE DROP STORAGE… well, there is no difference because DROP STORAGE is default 😉 DROP STORAGE Specify DROP STORAGE to deallocate all space from the deleted rows from the table except the space allocated by the […]
Recently I wanted to demonstrate to some people on my training, how Oracle database maintains blocks in a datafile – what happens after truncate, truncate with drop storage clause, delete, regular insert, direct path insert and so on… I didn’t find any tool for that so I’ve written my own. It’s core code is based […]
I know – everyone knows, that PL/SQL packages are faster than stored procedures. If you’ll ask anyone at the training or in your dev team "what is better" – you’ll (almost) always hear: PL/SQL packages. But why exactly? The documentation says: The first time you invoke a package subprogram, Oracle Database loads the whole package […]
Years pass by and I think that the more I’m trying to understand the Oracle RDBMS – the less I know. Recently I started to examine the behavior of session cursor cache and I noticed an interesting thing. But let’s start from the beginning like we should 🙂 The documentation says: About the Session Cursor […]
Sometimes you drop something by accident – you know, the syndrome called "An Enter Too Far". If you drop a table, the case is easy – you can use recyclebin to restore it. But when you drop a package or procedure… well, you have a problem 🙂 Of course, you could use a flashback query […]
Well it has been a month since my last blog post, so I think it’s time to write something 🙂 Those context switches can be a real pain in the ass – there is a great article by Frits Hoogland about context switching from SQL to PL/SQL – you can read it here: https://fritshoogland.wordpress.com/2016/01/23/plsql-context-switch/ You […]
Virtual hosts on Exadata with OVM are HVM and not PV. This is one of the limitations of Infiniband SR-IOV – can’t be used with PV. So there is a qemu used to emulate the hardware While accessing a physical device from within a DOMU we can see that actual work is being done on […]
This week I had a "pleasure" of reimaging Exadata server to use OVM. During this process we hit interesting problem – after the reimaging process there was no bridge at DOM0, corresponding to the client network – because of this, the OEDA sofware returned an error like this: The error was produced by this script: […]
I’ve created recently a script in AWK to create wait event histogram from 10046 trace file. The script can be found here. I thought that a good idea would be creating a little script to analyze the contents of 10053 and 10046 events together. So I wrote one 🙂 You can download it here: http://ora-600.pl/oinstall/format_10046_10053.awk […]