Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Oracle Data Direct to TAPE Oracle
  • rm_backup_arch_file.ksh Linux/Unix
  • Small sample shell program Linux/Unix
  • SYSOPER Mystery Oracle
  • Processes Parameter decision Oracle
  • How to Decide upto what level you can decrement your datafile size. ( Shrink Datafile) Oracle
  • fdisk -l explaination about Primary-Logical-Extended Partitions Linux/Unix
  • Oracle 10g Wait Model Oracle
  • Find sort details from Db find_sort.sql Oracle
  • Removing first line Linux/Unix
  • OPENING A STANDBY DATABASE IN READ-ONLY MODE Oracle
  • chk_space_SID.ksh Linux/Unix
  • create user with unlimited quota Oracle
  • longtx.sql with the flag whether session is blocking any DML locks or not. Oracle
  • Privilege to describe the table. 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

  • Locally Managed Tablespace and Dictionary managed tablespace (LMT-DMT) Oracle
  • Oracle Material from OTN Oracle
  • find_pk.sql /* Find Primary Key */ Oracle
  • Oracle Identifiers Oracle
  • Jai Shree Ram Oracle
  • Changing Instance Name ( No DB_NAME) 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 (150)
  • MYSQL (5)
  • Oracle (403)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (151)
  • SQL scripts (349)
  • SQL Server (6)
  • Uncategorized (5)
  • Videos (0)

Recent Posts

  • Key Management in Oracle: The Core Issue: Missing Master Key12-May-2026
  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sh23-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

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Giving Grant on v$DATABASE Oracle
  • To find all disk io ( EMC as well as local) Linux/Unix
  • Creating never expiring DB user accounts in Oracle Oracle
  • How to calculate PROCESSES parameter Oracle
  • Handling LOB data in Oracle Oracle
  • eplan9i.sql Oracle
  • compile_inv.sql Oracle
  • Does DBMS_JOB recompute the NEXT_DATE interval after or before Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme