Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Histogram Overview Oracle
  • create a folder in multiple places Linux/Unix
  • Proc code Oracle
  • export import with parameter file. Oracle
  • CPU Core related projections AWS
  • How to analyze statspack or AWR report. Oracle
  • To check whether standby is recovering properly or not?? Oracle
  • PLSQL Table Syntax 1 Oracle
  • Trace a SQL session from another session using ORADEBUG Oracle
  • Search and Replace vi editor command. Linux/Unix
  • Jai Shree Ram Oracle
  • arch_configUOCIOTTO.ora Oracle
  • DBMS_STATS Metalinks Notes Oracle
  • Restoring a user’s original password 1051962.101 Oracle
  • How to know current SID 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

  • standard Monitoring – 1 Oracle
  • Clean up Oracle
  • Histogram Overview Oracle
  • On solaris 10, “S” link is not part of $ORACLE_HOME/bin/oracle as default. ( For 9.2.0.8) Oracle
  • find_cons.sql Oracle
  • How to choose Driver table in SQL statement Oracle

Leave a Reply Cancel reply

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

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (393)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (0)
  • 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

  • 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
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Small sample shell program Linux/Unix
  • How to connect to Oracle Database with Wallet with Python. Oracle
  • scripts to take listener.log backup Linux/Unix
  • MYSQL for Oracle DBA MYSQL
  • How to know Number of CPUs on Sun Box Linux/Unix
  • executing Function from SQLPLUS prompt Oracle
  • Oracle 10g Wait Model Oracle
  • cur_sql.sql Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme