PERFORMANCE TUNING

The Pursuit of Ultimate Performance On Non Production Oracle Databases

The scope of this article is to disable some features –mainly related to recoverability and logging, in order to speed up Test databases that are being used to testing application functionality or database features. What we are doing here is similar to what mechanics do when converting a regular car to a race car; they […]

SQL Tuning Script

This shell script will help you tune a SQL Statement in Oracle by doing the following functions: It will ask you for the SQL Statement sqlid, then it will do the following: 1- Display the SQL Statement Statistics like: Executions, ELAPSED/CPU time, Waits, I/O stats:   2- Display the SQL TEXT along with populating the […]

New Sections in 19c AWR In Comparison With 11g’s AWR

AWR report in 19c is packed up with many new sections. In this post I’ll highlight the new sections comparing with 11g’s AWR report. Starting with “Report Summary” sections: – Top ADDM Findings: – TOP 10 Foreground Wait Events: (Instead of TOP 5 in 11g) – Wait classes: (new table)   – IO Profile (new […]

Speed Up The Data Pump Import In Oracle 19c

Following the release of Oracle 19c –the long term supported member of the 12c family, many Oracle customers planned to migrate their older DBs especially the widely used version “11g” to the new version. Because of the restrictions on the direct upgrade from 11g to 19c, data pump method became the optimal method for this […]

Oracle Resource Manager | Decoding The Enegma Machine

Introduction: Oracle Resource Manager (available since 8i) is one of the underestimated Oracle features, because it’s not commonly used among DBAs. In this article I’ll try to explain it in a simple way to make you change your mind and start making use of it.   What is Resource Manager:   In short, it gives […]

“virtual circuit wait” Wait Event in AWR on a Dedicated Architecture Server

Problem: I noticed “virtual circuit wait” wait event in the AWR report for one of the databases in the TOP 5 Wait Events: Analysis: Honestly I didn’t know what this event for, I googled it and landed on (Doc ID 1415999.1) which is discussing the same event on Shared Server architecture, but wait a second […]

Using RULE Based Optimizer When Querying GV$ Views

I had a complaint from one of the readers that dbalarm script for monitoring the DB is taking very long time to run against one RAC DB [11.2.0.3] especially in the part of reporting locked sessions on the database, when I dug deeper found that most of time is getting consumed by this statement: select substr(s.INST_ID||’|’||s.OSUSER||’/’||s.USERNAME||’| ‘||s.sid||’,’||s.serial#||’ […]

dbalarm Script for Monitoring Oracle DB Server is Now Packed With New Features

I’ve introduced a new mode called “Paranoid” mode to the dbalarm script (which is used to monitor the Oracle database and listener logs along with monitoring locks, Space, and other events). When the paranoid  mode gets enabled, the script will monitor the following additional activities/events on the Oracle database: – EXPORT/IMPORT activities whenever they start. […]

All About Statistics In Oracle

In this post I’ll try to summarize all sorts of statistics in Oracle, I strongly recommend reading the full article, as it contains information you may find it valuable in understanding Oracle statistics. #####################################Database | Schema | Table | Index Statistics##################################### Gather Database Statistics:=======================SQL> EXEC DBMS_STATS.GATHER_DATABASE_STATS(     ESTIMATE_PERCENT=>100,METHOD_OPT=>’FOR ALL COLUMNS SIZE SKEWONLY’,     CASCADE => TRUE,    […]