Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • send attachment from unix-shell script Linux/Unix
  • To seee semaphores and shared memory segments in Solaris Linux/Unix
  • Good notes on Oracle Events Oracle
  • Oracle Standby Database Library Index from Metalink Oracle
  • Adding addidional hard drive and attach it to a linux box. Linux/Unix
  • Finding Oracle Patches with opatch Oracle
  • temp_use.sql diplays usage of temp ts Oracle
  • How to Use DBMS_STATS to Move Statistics to a Different Database Oracle
  • crtgr.sql /* For creating trigger from data dictionary */ Oracle
  • alter database backup controlfile to trace Oracle
  • get_ratio.sql get the ratio of users from v$session and this uses CASE-WHEN-THEN clause Oracle
  • DBMS_Shared_pool pinning triggers Oracle
  • V$transaction notes for finding XID composition. Oracle
  • SCRIPT TO LIST RECURSIVE DEPENDENCY BETWEEN OBJECTS UTLDTREE.sql Oracle
  • perf_today.sql Oracle

Trace a SQL session from another session using ORADEBUG

Posted on 30-Sep-202530-Sep-2025 By Admin No Comments on Trace a SQL session from another session using ORADEBUG

Find the SPID from Oracle’s SID using below SQL.

REM **** This is used to get SPID from SID.
col username format a30
col machine format a20
col program format a40
accept _sid prompt 'Enter Oracle Session ID ->'
select a.sid, b.pid, b.spid, a.username,
a.program,a.machine
from v$session a,V$process b
where a.paddr = b.addr
and   a.sid = &_sid
/

Use ORADEBUG command as below.

oradebug setospid <SPID_FROM_QRY>
oradebug unlilimit
oradebug tracefile_name
oradebug event 10046 trace name context forever, level 12
—- Run some queries for which you want traces.
oradebug event 10046 trace name context off

Now, we have tracefile_name available. Use TKPROF utility to analyze the tracefile contents generated via 10046 trace as below: 

 🔹 What is tkprof?

tkprof is a utility that formats Oracle SQL trace files into human-readable reports.

Suppose you have a trace file: ora_1234.trc

Run:

tkprof ora_1234.trc report.prf sys=no sort=exeela,fchela
  • sys=no → exclude SYS schema SQL (noise)

  • sort=exeela,fchela → sort by execution elapsed time and fetch elapsed time

Now open report.prf to analyze performance.


🔹 Common tkprof Options

Option Purpose
sys=no Excludes recursive SQL from SYS
sort=option Sorts SQLs by performance metric
explain=user/password Adds explain plan info
aggregate=yes/no Whether to group identical SQLs
insert=filename.sql Creates a SQL script of all statements

🔹 Cheat Sheet – Most Useful sort Options

Sort Option Meaning
prsela Parse elapsed time
prscpu Parse CPU time
exeela Execution elapsed time
execpu Execution CPU time
fchela Fetch elapsed time
fetchpu Fetch CPU time
disk Disk reads
query Consistent gets
current Current (buffer) gets
rows Rows processed

👉 Example:

tkprof ora_1234.trc top_sql.prf sys=no sort=exeela,disk,rows

This shows the most expensive SQLs by elapsed time, disk reads, and rows processed.

Oracle, SQL scripts

Post navigation

Previous Post: SQL Server Vs Oracle Architecture difference
Next Post: Postgres DB user and OS user.

Related Posts

  • Handling LOB data in Oracle Oracle
  • find_pk.sql /* Find Primary Key */ Oracle
  • How can I tell if ASO is installed ? Oracle
  • Renaming the column name Oracle
  • Wait.sql Oracle
  • Running PDB on single node in RAC Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (402)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (3)
  • Videos (0)

Recent Posts

  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026
  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Good Link from metalink 1 Oracle
  • find_string_in_database.sql Oracle
  • cache buffer chain latch Oracle
  • sid_wise_sql.sql Further explaination Oracle
  • Useful Solaris Commands on 28-SEP-2005 Linux/Unix
  • Specify the Rollback segment to use in Transaction Oracle
  • checking connectivity between two servers Linux/Unix
  • longtx.sql with the flag whether session is blocking any DML locks or not. Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme