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 […]
Joining the OTN Appreciation Day 🙂 I really like the new pragma UDF feature for PL/SQL – it makes me believe that context switches will be less painful in the future 🙂 I wrote a little bit more about it here: https://blog.ora-600.pl/2015/10/29/oracle-12c-pragma-udf-the-truth/ And Martin Widlake wrote a lot about it here: https://mwidlake.wordpress.com/2015/11/11/pragma-udf-some-current-limitations/
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 […]
This will be just short article with very simple trick, showing how to match the ASMLib devices with actual multipath devices. I’m sure there is a simpler way… but I just love using AWK 🙂 If you know a simpler or more elegant solution – please post it in the comments section. My solution looks […]
Let’s fuckup the cluster! Of course after this operation, the final state of the processes can look like this: The cssd service will not be able to start, because there are no voting disks: OK, so let’s try to stop the cluster services: Now we will have to start CRS in exclusive mode and start […]
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 […]
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 […]
I wrote a very simple script in AWK to create wait event histogram (for db file scattered read, db file sequential read, direct path read and direct path read temp) based on 10046 trace file with wait events. Maybe someone will find it useful 🙂 The sample output looks like this: Enjoy 😉
I’ve wrote about privilege escalation with external tables in this post: https://blog.ora-600.pl/2014/12/23/simple-technics-of-privilege-escalation-part2-dbasysdba/ This time we will try to list all files within directory object, to which we have no EXECUTE privs. This is possible due to great new feature of database 12c that allows to use metacharacters to match multiple files in external table. I […]
Thanks to Oracle I had a possibility to test the new Sparc M7 with DAX coprocessors to boost In-Memory performance. You can read about it here and here My first thought was – how to check if and when the DAX coprocessors are being used? When you have a POC for Exadata, you want to […]