Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • find_idle_cpu.sql Oracle
  • Search and replace editor command in vi Linux/Unix
  • find_err.sql for finding errors from dba_errors. Oracle
  • Locally Managed Tablespace and Dictionary managed tablespace (LMT-DMT) Oracle
  • find_longsql.sql Oracle
  • Proc code Oracle
  • switchover for primary database Oracle
  • SAN Linux/Unix
  • scp with ssh2 Linux/Unix
  • How does one overcome the Unix 2 Gig file limit? Linux/Unix
  • standard Monitoring – 1 Oracle
  • plan10g.sql Oracle
  • Process Map for CPU and Memory for OS processes Linux/Unix
  • When error comes for temporary tablespace with version <= 9i Oracle
  • metalink all dynamic view reference notes. 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

  • Oracle Release Explaination Oracle
  • How to stop OCSSD Daemon Oracle
  • Oracle Statspack survival Guide Oracle
  • plan10g.sql good1 Oracle
  • ORA-4031 issue and solution on 09-MAY-2008 Oracle
  • cp_filesystem.sql Oracle

Leave a Reply Cancel reply

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

Categories

  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • Oracle (392)
  • PHP/MYSQL/Wordpress (10)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (341)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • load SPM baseline from cursor cache05-Jun-2025
  • Drop all SPM baselines for SQL handle05-Jun-2025
  • Load SPM baseline from AWR05-Jun-2025
  • Drop specific SQL plan baseline – spm05-Jun-2025
  • findinfo.sql (SQL for getting CPU and Active session info)27-May-2025
  • SQL Tracker by SID sqltrackerbysid.sql22-Apr-2025
  • How to connect to Oracle Database with Wallet with Python.21-Mar-2025
  • JSON/XML Types in Oracle18-Mar-2025
  • CPU Core related projections12-Mar-2025
  • Exadata Basics10-Dec-2024

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Running select from V$ views from remote server Linux/Unix
  • TNSNAMES entries details Oracle
  • Oracle 11g RAC on OEL 5 and Vmware 2 Oracle
  • PLSQL Table Syntax 1 Oracle
  • Getting started with notebook Python/PySpark
  • oracle fast start failover best practice Oracle
  • before_trunc.sql Before Truncate table needs to execute following: Oracle
  • scp with ssh2 Linux/Unix

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme