Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Passing from Unix to PLSQL using bind variables Linux/Unix
  • Sample WW22 listener.ora Oracle
  • Histogram Overview Oracle
  • Generate SSH without password authentication. Linux/Unix
  • cif crons Linux/Unix
  • Order by with ROWNUM Oracle
  • get_aix_vmstat.ksh Oracle
  • DBMS_JOB all example Oracle
  • The most important Tuning Notes Oracle
  • Single character replacement in Unix Linux/Unix
  • Sending email with file attachment. Linux/Unix
  • replace alphabets using sed Linux/Unix
  • grep multuple patterns Linux/Unix
  • Finding locked objects Oracle
  • sbind.sql Find Bind variable from sql_id sqlid Oracle

To find explain plan for a statement that occurred in past.

Posted on 27-Sep-2006 By Admin No Comments on To find explain plan for a statement that occurred in past.

Find hash value & time when this plan was taken for particular sql id.

Filename : fphv.sql

REM *** Find Plan Hash value

column plan_hash_value format 999999999999

accept v_sqlid prompt ‘Enter SQL_ID : ‘

select distinct sql_id, plan_hash_value, to_char(timestamp, ‘DD-MON-RRRR:HH24:MI:SS’) from dba_hist_sql_plan

where sql_id=’&v_sqlid’;

Then, Apply sql id and plan_hash_value for a unique plan.

REM fplan.sql

REM Find execution plan from dba_hist_sql_plan for a specific SQL_ID and PLAN_HASH_VALUE.

column plan_hash_value format 999999999999

accept v_sqlid prompt ‘Enter SQL_ID : ‘

accept v_plan_hash_value prompt ‘Enter PLAN Hash Value : ‘

SELECT LPAD(‘ ‘,2*(LEVEL-1))||operation||’ ‘||options ||’ ‘||object_name ||’ ‘|| DECODE(id, 0, ‘Cost = ‘||position)

“Query Plan”

FROM dba_hist_sql_plan

START WITH id = 0 and sql_id=’&v_sqlid’ and plan_hash_value=&v_plan_hash_value

CONNECT BY PRIOR id = parent_id and sql_id=’&v_sqlid’ and plan_hash_value=&v_plan_hash_value;

SQl_ID and SQL statement you can get from currwaitobj.sql

set lines 120 pages 200

column event format a30

column object_type format a14

column object_name format a30

column owner format a10

column sql_text format a120

spool currwaitobj

accept event_name prompt ‘Enter fraction of event to trace : ‘

accept start_time1 prompt ‘Start Time in (DD-MON-RRRR:HH24:MI format) : ‘

accept stop_time1 prompt ‘Stop Time in (DD-MON-RRRR:HH24:MI format) : ‘

select distinct a.event

from v$active_session_history a

where sample_time between to_date(‘&start_time1’, ‘DD-MON-RRRR:HH24:MI’) and to_date(‘&stop_time1’, ‘DD-MON-RRRR:HH24:MI’);

select distinct a.event, s.sql_id, s.sql_text

from v$active_session_history a, v$sqlarea s

where s.sql_id = a.sql_id

and lower(a.event) like lower(‘%&event_name%’)

and sample_time between to_date(‘&start_time1’, ‘DD-MON-RRRR:HH24:MI’) and to_date(‘&stop_time1’, ‘DD-MON-RRRR:HH24:MI’)

order by s.sql_id;

spool off

Oracle, SQL scripts

Post navigation

Previous Post: currwaitobj.sql SQl_ID and SQL statement you can get from currwaitobj.sql
Next Post: How to find where datafile is created dbf_info.sql

Related Posts

  • compile_inv.sql Oracle
  • alter database backup controlfile to trace Oracle
  • All About Trace Fils Oracle
  • Check Oracle installed products using one command Oracle
  • Optimizer SORT Operations Oracle
  • tblwopk.sql /* Find Tables Without PK */ 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 (393)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (342)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025
  • Checking SQL Server Version25-Jul-2025
  • Oracle vs MYSQL Architecture differences (For DBAs)24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • currwaitobj.sql SQl_ID and SQL statement you can get from currwaitobj.sql Oracle
  • Find Stale DR Physical Standby Oracle
  • Oracle Connections expire_time and firewall Oracle
  • Removing Blank lines from file using grep Linux/Unix
  • Running some SQL on multiple databases connecting using monitoring userid and password Linux/Unix
  • How to remove blank lines using vi editor command Linux/Unix
  • When error comes for temporary tablespace with version <= 9i Oracle
  • Goldengate Tutorial Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme