Skip to content

PL/SQL

Oracle Partition and Performance of massive/concurrent Inserts

For a customer, I had to check if partitioning improves performance of massive and concurrent inserts. The goal is to execute several Inserts in parallel via dbms_parallel_execute package (my previous blog “parallelize your Oracle Insert with DBMS_PARALLEL_EXECUTE” explains how to use dbms_parallel_execute). The idea is to insert more than 20 millions of rows in 2 tables : One table not… 

Parallelize your Oracle INSERT with DBMS_PARALLEL_EXECUTE

One of the challenge of all PL/SQL developers is to simulate the Production activity in a Non Prod. environment like for example different Insert executed by several sessions. Different tools exist like Oracle RAT (Real Application Testing) but under license or you can create your own PL/SQL package using DBMS_SCHEDULER or DBMS_PARALLEL_EXECUTE packages. The aim of this blog is to… 

SELECT FROM DUAL : Oracle Performance And Tuning

The DUAL table is automatically created by Oracle and contains one column (DUMMY) and one row (x value). This table is often used by SQL developer in PL/SQL code (Package, Functions, Trigger) to initialize variables storing technical information such as for example SYSDATE, USER or HOSTNAME. Querying DUAL table is generally faster  as we can see below: SQL> select sysdate… 

APEX Connect 2020 – Day 1

This year the APEX connect conference goes virtual online, like all other major IT events, due to the pandemic. Unfortunately it spans only over two days with mixed topics around APEX, like JavaScript, PL/SQL and much more. After the welcome speech and the very interesting Keynote about “APEX 20.1 and beyond: News from APEX Development” by Carsten Czarski, I decided… 

APEX Connect 2017 – Day 1

This year again the APEX connect conference spans over three days with mixed topics around APEX, like JavaScript, CSS, SQL and much more. After the welcome speech and the Keynote about “Reconciling APEX and the Thick Database Paradigm” by Bryn Llewellyn I decided to attend presentations on following topics: – Temporal Validity and Flashback Data Archive – Universal Theme and… 

How to destroy your performance: PL/SQL vs SQL

Disclaimer: This is in no way a recommendation to avoid PL/SQL. This post just describes a case I faced at a customer with a specific implementation in PL/SQL the customer (and me) believed is the most efficient way of doing it in PL/SQL. This was a very good example for myself to remind me to check the documentation and to… 

Fun with PL/SQL code reviews – Part 1

For quite a long time I did not work anymore with PL/SQL and was quite happy when I had the chance to review some code at a customer. The status today: I am not that happy anymore 🙁 Let me explain why and show you some examples on what was discovered. Of course all of the identifiers have been obfuscated… 

Oracle Database Firewall

Le marché du Database Activity Monitoring (DAM) devenant de plus en plus important avec des produits tels que Imperva, Guardium ou Sentrigo, je me suis intéressé au produit Oracle Database Firewall, qu’Oracle présente comme un substitut aux différents acteurs du marché des DAMs.

Database space management issue with Grid Control 11g

My colleague Hervé Schweitzer reported a very interesting issue to me. It is about the usage of Grid Control 11g while monitoring the available space on an Oracle database – in our case a 10.2.0.3 target database. This post continues my last post about the free space management in a tablespace in relation to the recycle bin management.

Oracle 11g R2: catupgrd.sql running for hours

During the last weeks, I was confronted to an uncommon bug during the database upgrade from security sensibledatabases.

The upgrade was sticking for hours on the script c1101000.sql.  which tried to fill the column DBID with the database DBID of the tables AUD$ and/or FGA_LOG$.