Performance Tuning

Report Memory Map of a Process in Linux

The pmap command can be used to obtain a memory map report for a process or list of processes. In my opinion, it is a great tool to explore memory leaks and any other memory related issues. If you simply invoke pmap with no options, it will list the usage with general available options, as shown …

Report Memory Map of a Process in LinuxRead More »

SQL*Plus Feature: TIMING and SET TIMING command

SET TIMING—one of the most frequently used commands—displays timing statistics on each SQL command or PL/SQL block. What if you want to collect timing statistics for multiple group of statements? TIMING command becomes handy in such situation—one of things that I knew and have forgotten over time. It can be used to collect data to do …

SQL*Plus Feature: TIMING and SET TIMING commandRead More »

How to identify PL/SQL performance bottlenecks using DBMS_PROFILER

The DBMS_PROFILER package provides an interface to profile existing PL/SQL applications and identify performance bottlenecks. You can then collect and persistently store the PL/SQL profiler data. This package enables the collection of profiler (performance) data for performance improvement or for determining code coverage for PL/SQL applications. Application developers can use code coverage data to focus …

How to identify PL/SQL performance bottlenecks using DBMS_PROFILERRead More »

How to read an Oracle SQL Execution Plan?

To execute any SQL statement Oracle has to derive an ‘execution plan’ . The execution plan of a query is a description of how Oracle will implement the retrieval of data to satisfy a given SQL statement. It is nothing but a tree which contains the order of steps and relationship between them The basic …

How to read an Oracle SQL Execution Plan?Read More »

Analyzing Database Server I/O Bottlenecks using IOSTAT

iostat (input/output statistics) an utility that reports Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions. The iostat command is used for monitoring system input/output device loading by observing the time the devices are active in relation to their average transfer rates. The iostat command generates reports that can be used to …

Analyzing Database Server I/O Bottlenecks using IOSTATRead More »

Identifying CPU and Memory Intensive processes on a database server using PS

ps (process statistics) is an utility that reports a snapshot of the current processes. By default, ps selects all processes with the same effective user ID (euid=EUID) as the current user and associated with the same terminal as the invoker. It displays the process ID (pid=PID), the terminal associated with the process (tname=TTY), the cumulated …

Identifying CPU and Memory Intensive processes on a database server using PSRead More »

Analyzing Database Server CPU/Processor Bottlenecks using MPSTAT

mpstat (multiple processor statistics) is an utility that report processors related statistics. Below is the sample default output generated by mpstat with no options: The report generated by the mpstat command has the following format: CPU: Processor number, starts with 0. The keyword all indicates that statistics are calculated as averages among all processors. %user: …

Analyzing Database Server CPU/Processor Bottlenecks using MPSTATRead More »

Analyzing Database Server Bottlenecks using VMSTAT

vmstat (virtual memory statistics) reports information about processes, memory, paging, block IO, traps, and cpu activity. Below is the sample default output generated by vmstat with no options: Column description of default output. Procs r: The number of processes waiting for run time. b: The number of processes in uninterruptible sleep. Memory swpd: the amount …

Analyzing Database Server Bottlenecks using VMSTATRead More »