Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Distributed Transaction Troubleshooting. Oracle
  • How to check current redo log progress redo_progress.sql Oracle
  • catting.sh Linux/Unix
  • My Test Case On 21-OCT-2005 Oracle
  • Logic to chech # of parameters command line parameters Linux/Unix
  • CTAS with LONG Column for 9i and higher Oracle
  • Goog notes on X$ tables Oracle
  • Passing from Unix to PLSQL using bind variables Linux/Unix
  • Useful Solaris Commands on 28-SEP-2005 Linux/Unix
  • UTL_FILE test program Oracle
  • Paste command syntax Linux/Unix
  • findinfo.sql (SQL for getting CPU and Active session info) Oracle
  • Find Plan Hash value fphv.sql Oracle
  • Rollback force for distributed transactions Oracle
  • Insert cause enqueue locks 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

  • USE_NL and INDEX hints example Oracle
  • how to find OS block size Oracle
  • Explain Plan Output 2 Oracle
  • Renaming Global Name GLOBAL_NAME Oracle
  • Find_table_size.sql Oracle
  • Standby Database File Management in 10g with STANDBY_FILE_MANAGEMENT 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
  • TOP-N Sql to find Nth max or Top N rows Oracle
  • How can I tell if ASO is installed ? Oracle
  • Standby Database Behavior when a Datafile is Resized on the Primary Database Note:123883.1 Oracle
  • compile_inv.sql Oracle
  • When to rebuld B-tree index Oracle
  • runsql_once.ksh Linux/Unix
  • Insert cause enqueue locks Oracle
  • pvm_rbs1.sql (to collect rbs info from db) Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme