Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • ipcs -l Linux/Unix
  • before_trunc.sql Before Truncate table needs to execute following: Oracle
  • DBA_HIST_SQLSTAT contents Oracle
  • runsql_once.ksh Linux/Unix
  • True Session Wait Activity in Oracle 10g Verygood Oracle
  • How to Decide upto what level you can decrement your datafile size. ( Shrink Datafile) Oracle
  • chk_space_SID.ksh Linux/Unix
  • Does DBMS_JOB recompute the NEXT_DATE interval after or before Oracle
  • sesswait.sql Oracle
  • V$ROLLSTAT status is Full Oracle
  • Process Map for CPU and Memory for OS processes Linux/Unix
  • Global Unique Identifier Generation in Oracle 9.2 SYS_GUID() Oracle
  • Reading parameter file and printing Linux/Unix
  • ORA-3136 Oracle
  • oracle tips… from http://www.bijoos.com/oracle/douknow.htm 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

  • Gather Stats manually using DBMS_STATS after disabling DBMS_SCHEDULER jobs as previous entry Oracle
  • DBMS_JOB all example Oracle
  • DB Console Mainenance. Oracle
  • get_vmstat_linux Oracle
  • track_autoupgrade_copy_progress.sql Oracle
  • Pending Transaction Neighbors Script 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
  • alter database backup controlfile to trace Oracle
  • Physical Standby switchover with session active Oracle
  • Implementing Listener Security Oracle
  • Good RAC & Standby Notes Oracle
  • PLSQL Table Syntax 2 Oracle
  • How to know Number of CPUs on Sun Box Linux/Unix
  • Find Command Linux/Unix
  • To see mem usage and CPU usage system wide. Linux/Unix

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme