Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Establishing trusted relationship between dbmonitor( central monitoring) and monitoring targets. Linux/Unix
  • age_alert.ksh aging out alert.log Linux/Unix
  • tar and untar a dolder with all its subfolder. Linux/Unix
  • Find average Row Length and other table size calculation. metalink notes Oracle
  • Exadata Basics Oracle
  • checking redhat linux version Linux/Unix
  • Oracle Release Explaination Oracle
  • create trigger syntax Oracle
  • In Addition to previous note, following grants needed on PERFSTAT user. Oracle
  • upload.html PHP/MYSQL/Wordpress
  • normal maintenance for exp-imp and renaming table Oracle
  • JSON/XML Types in Oracle Oracle
  • Another export with Query Oracle
  • sqlnet.ora paramters Oracle
  • GSQ.sql Oracle

Find_planinfo.sql

Posted on 08-Apr-202322-Apr-2025 By Admin No Comments on Find_planinfo.sql
/********************************************
Author: Paresh Mehta
Script Name : find_planinfo.sql
********************************************/
set lines 200
set pages 500
set echo off
col execs for 999,999,999
col avg_etime for 999,999.999
col avg_lio for 999,999,999.9
col begin_interval_time for a30
col node for 99999
col plan_hash_value format 99999999999999
col sql_profile format a30
col intrvl format a29
col component format a20


alter session set nls_date_format='DD-MON-RRRR:HH24:MI:SS';

--break on plan_hash_value,sql_profile on startup_time skip 1

accept v_sql_id prompt 'Enter SQL_ID ->'

select s.instance_number, to_char(begin_interval_time,'DD-MON:HH24:MI') || ' To '
|| to_char(END_INTERVAL_TIME,'DD-MON:HH24:MI') intrvl , plan_hash_value, s.sql_profile,
nvl(executions_delta,0) execs,
(elapsed_time_delta/decode(nvl(executions_delta,0),0,1,executions_delta))/1000000 avg_etime,
(buffer_gets_delta/decode(nvl(buffer_gets_delta,0),0,1,executions_delta)) avg_lio,
round(IO_OFFLOAD_ELIG_BYTES_DELTA,2)/(1024*1024) smart_scan_elig_mb,
round(IO_OFFLOAD_RETURN_BYTES_DELTA,2)/(1024*1024) smart_scan_actual_mb,
parse_calls_delta, version_count,
resops.start_time, resops.end_time, resops.component, resops.oper_type, resops.oper_mode,
resops.initial_size/1024/1024 "from",
resops.TARGET_SIZE/1024/1024 "to", resops.status
from DBA_HIST_SQLSTAT S, DBA_HIST_SNAPSHOT SS, gv$sga_resize_ops resops
where sql_id = '&v_sql_id'
and ss.snap_id = S.snap_id
and ss.instance_number = S.instance_number
and resops.inst_id(+) = s.instance_number
and executions_delta > 0
and resops.START_TIME(+) >= begin_interval_time
and resops.START_TIME(+) <= END_INTERVAL_TIME
and resops.END_TIME(+) >= begin_interval_time
and resops.END_TIME(+) <= END_INTERVAL_TIME
order by begin_interval_time;

select inst_id, sql_id, child_number, plan_hash_value, max(TIMESTAMP)
from gV$sql_plan
where sql_id= '&v_sql_id'
group by inst_id, sql_id, child_number, plan_hash_value
order by 5;

set lines 200 pages 200 feedback 1
col created format a30
col sql_handle format a25
col plan_name format a35
col PLAN_HASH_VALUE format 999999999999999
col sql_plan_baseline format a30
col executions format 99999999

alter session set nls_date_format='DD-MON-RRRR:HH24:MI:SS';

col EXACT_MATCHING_SIGNATURE format 999999999999999999999999999


SELECT distinct a.created, b.sql_id, sql_handle,
( select to_number(regexp_replace(plan_table_output,'^[^0-9]*'))
from table(
dbms_xplan.display_sql_plan_baseline(sql_handle,plan_name)
) where plan_table_output like 'Plan hash value: %') plan_hash_value, plan_name, a.enabled, a.accepted, a.fixed, a.autopurge, a.EXECUTIONS
FROM dba_sql_plan_baselines a, gv$sql b
WHERE a.signature = b.exact_matching_signature
and sql_id='&v_sql_id'
order by 6,8;

set echo on
Oracle, SQL scripts

Post navigation

Previous Post: Wait.sql
Next Post: DBA_HIST_SQLSTAT contents

Related Posts

  • How to set Processes Parameter Oracle
  • Load testing on Oracle 19C RAC with HammerDB Oracle
  • column level grant syntax Oracle
  • RMAN : Consistent Backup, Restore and Recovery using RMAN Oracle
  • usnsql.sql Displays information about UNDO segments with sql statements Oracle
  • Btee and Bitmap Plans in Oracle 9i and higher 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
  • Useful Solaris Commands on 28-SEP-2005 Linux/Unix
  • Global Unique Identifier Generation in Oracle 9.2 SYS_GUID() Oracle
  • default permission on ~/.ssh/authorized_keys2 or authorized_keys Linux/Unix
  • Important Solaris Commands Linux/Unix
  • load SPM baseline from cursor cache Oracle
  • Gather Stats manually using DBMS_STATS after disabling DBMS_SCHEDULER jobs as previous entry Oracle
  • Small sample shell program Linux/Unix
  • RAC 11g with vmware Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme