At Trivadis Performance Days 2018 (awesome event by the way) I promised to deliver ODBV3 with support for ASM – and here it is! 🙂 https://github.com/ora600pl/odbv To use it, you have to have access to a user at ASM level with at least SYSDBA privilege. In the connect string you don’t have to add AS […]
Most of us already know that AMM sucks. But usually, we think about disadvantages of AMM in terms of performance. Let’s see why it sucks in the terms of security 😉 Let’s create an encrypted tablespace for HR.EMPLOYEES and protect HR schema with Database Vault. Contents of sqlnet.ora Now we will use dbca to configure […]
(Please tell me that I’m not the only one who thinks "Index Organized Table" instead of "Internet Of Things" when hearing IOT…) This post is inspired by Connor McDonald and his blog post from a year ago about direct mode operations and IOTs. You can read it here: https://connor-mcdonald.com/2016/07/04/direct-mode-operations-on-iots/amp/ While writing a redo parser for […]
While researching redo log internals for V00D00 we had to face the fact, that we know shit about real transactional behavior. When I say "real", I mean – under the hood. Even with a very simple stuff like COMMIT and ROLLBACK we were constantly amazed by the internal mechanisms. Today let’s take ROLLBACK under the […]
During a research for VOODOO, we came across a lot of interesting stuff inside REDO. One of my favourites is an UPDATE, becoming an INSERT 🙂 So let’s see what has happened – I performed the following update on a sample table: The regular dump of redo log with an UPDATE looks like this: In […]
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 […]
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 […]
I had a pleasure to work with my colleagues from Oracle – Radosław Kut and Krzysztof Marciniak – at comparing the performance of In-Memory queries between Sparc M7, Intel® Xeon® X5670 and Intel® Xeon® E5-2699. You can find results of our findings in this presentation: https://www.oracle.com/webfolder/s/delivery_production/docs/FY16h1/doc17/DB12c-on-SPARC-M7.pdf Following their methodology I’d like to present appropriate results […]
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 […]
At UKOUG Tech’15 (Super Sunday) there was a session called "12c: A Closer Look at the Multi-Process Multi-Threaded Model for Oracle on Linux/Unix" by Markus Flechtner. Since then I can’t stop thinking about the performance of this feature. Why Oracle decided to provide it? I did some tests regarding sort operations and threaded execution was […]
Let’s check, why PRAGMA UDF makes execution faster, then regular function. C function responsible for calling a PL/SQL code from SQL is called "plsql_run": Now let’s try to create a new HR session and create a simple function which will multiple values by 2: From other terminal I will connect to the HR session with […]
I było tak, że 31 dnia miesiąca sierpnia roku 2015, spotkali się entuzjaści Wyroczni w posiadłości AVIVA. I było tak, że dzierżąc kufle – po brzegi browarem wypełnione – zasiadło wielu aby posłuchać kilku, którzy chcieli się przemyśleniami swoimi podzielić. I stało się tak, że admin przepijał do dewelopera a deweloper do admina i pospołu dyskusja toczyła się wartka a […]
One of the new CBO features in database 12c is "sql plan directives". The main purpose of this functionality is to deliver better adaptive plans if object statistics does not reflect the reality. Quoting after documentation During SQL execution, if a cardinality misestimate occurs, then the database creates SQL plan directives. During SQL compilation, the […]
At the beginning we have to prepare parameter file for the new instance Start the instance in nomount Since I want to duplicate the database in active mode I will register it in LISTENER. To achieve this I have to add the following lines to the listener.ora Now we can perform active database duplication with […]
There is a new feature in Oracle Spatial 12c, called "Spatial Vector Acceleration". According to Oracle: One of the most notable improvements with Oracle Spatial and Graph 12c can be seen in performance increases in vector data operations. Enabling the Spatial Vector Acceleration feature (available with the Spatial option) dramatically improves the performance of commonly […]
There is a great new feature related to the 12c database. The feature that will resolve a lot of problems with migrating databases between endian formats. And thanks to our new partner – Omnitec, who agreed to share with their SPARC resources – I will be able to demonstrate you this powerful solution. Oracle has […]
There are a lot of new powerful features in the 12c database but don’t forget about the little features that can make a DBA happier on the day to day basis 🙂 One of my favourites is a new approach to use a DBCA command line interface to create a database in silent mode: Nice, […]
One of my customers had a problem with a very slow TRUNCATE TABLE operation on a partitioned table having 22 000 partitions. The problem has raised after a test migration to database 12c. I’ve prepared a little demo to address this issue and show the walkaround for it. Oracle Database 12c (12.1.0.2): Oracle Database 11g […]