Skip to content

Instantly share code, notes, and snippets.

@davidhooey
davidhooey / oracle_wait_events_for_sqlid.sql
Created September 17, 2013 13:58
Oracle Wait Events for SQL_ID
-- Shared Pool
select
event,
time_waited "time_waited(s)",
case when time_waited = 0 then
0
else
round(time_waited*100 / sum(time_waited) Over(), 2)
end "percentage"
from
@davidhooey
davidhooey / oracle_blocker_blocked_sess_history.sql
Last active November 21, 2023 18:30
Oracle blocker and blocked session information from history.
select distinct
-- Snapshot ID
min(blocked.snap_id) as first_snap_id,
max(blocked.snap_id) as last_snap_id,
-- Sample ID and Time
min(blocked.sample_id) as first_sample_id,
min(blocked.sample_id) as last_sample_id,
to_char(
min(blocked.sample_time),
@davidhooey
davidhooey / oracle_segment_advisor_for_all_segments_in_schema.sql
Created September 24, 2013 20:11
Oracle Segment Advisor for All Segments in Schema
--
-- Segment Advisor for All Segments in Schema
--
-- 1. Grant the ADVISOR and SELECT ANY DICTIONARY roles to the schema owner.
-- 2. Execute the script as the schema owner.
-- 3. Revoke the ADVISOR and SELECT ANY DICTIONARY roles from the schema owner.
set echo off
set feedback off
@davidhooey
davidhooey / oracle_logon_trigger_to_enable_sql_trace.sql
Created September 26, 2013 13:39
Oracle Logon Trigger To Enable SQL Trace
create or replace trigger [SCHEMA_NAME]_startsqltracing after logon on [SCHEMA_NAME].schema
begin
execute immediate 'alter session set timed_statistics=true';
execute immediate 'alter session set max_dump_file_size=unlimited';
execute immediate 'alter session set events ''10046 trace name context forever, level 12''';
end;
/
create or replace trigger [SCHEMA_NAME]_endsqltracing before logoff on [SCHEMA_NAME].schema
@davidhooey
davidhooey / oracle_statistics_generating_and_seleting.sql
Created October 10, 2013 18:48
Oracle Statistics Generating And Deleting
NOTE:
Oracle9i: estimate_percent defaults to NULL which is COMPUTE
Oracle10g: estimate_percent defaults to to_estimate_percent_type (get_param('ESTIMATE_PERCENT'))
-- ********************************
-- * Generating Schema Statistics *
-- ********************************
execute dbms_stats.gather_schema_stats(ownname=>'SCHEMAOWNER',estimate_percent=>NULL,cascade=>TRUE,degree=>dbms_stats.default_degree)
execute dbms_stats.gather_schema_stats(ownname=>'SCHEMAOWNER',estimate_percent=>NULL,cascade=>TRUE,degree=>dbms_stats.default_degree,method_opt=>'FOR ALL INDEXED COLUMNS SIZE AUTO')
execute dbms_stats.gather_schema_stats(ownname=>'SCHEMAOWNER',estimate_percent=>NULL,cascade=>TRUE,degree=>dbms_stats.default_degree,method_opt=>'FOR ALL INDEXED COLUMNS SIZE 1') -- No Histograms
@davidhooey
davidhooey / captured_binds_for_sqlid.sql
Created April 9, 2018 19:47
List values used for bind variables from single SQL_ID.
select
snap_id,
sql_id,
name,
position,
datatype_string,
to_char(last_captured,'YYYY-MM-DD HH24:MI:SS') last_captured,
value_string
from
dba_hist_sqlbind
@davidhooey
davidhooey / Vagrantfile_Rails_Development
Last active November 12, 2020 16:38
Vagrant Rails Development
# -*- mode: ruby -*-
# vi: set ft=ruby :
# -----------------------------------------------------------------------------
# Rails Development Vagrantfile
# -----------------------------------------------------------------------------
#
# Server Info:
#
# Ubuntu 12.04 32-bit
@davidhooey
davidhooey / oracle_blocker_blocked_sessions.sql
Last active July 21, 2020 17:24
Oracle blocker and blocked session information.
select
-- Session causing the block
blockers.blocker_instance_id as blocker_instance_id,
blocker.sid as blocker_sid,
blocker.serial# as blocker_serial#,
blocker.username as blocker_username,
blocker.status as blocker_status,
blocker.machine as blocker_machine,
blocker.program as blocker_program,
blocker.sql_id as blocker_sql_id,
@davidhooey
davidhooey / oracle_top_sql_current.sql
Last active January 14, 2020 23:46
Oracle top current SQL
select
*
from
(
select
module,
sql_id,
child_number,
plan_hash_value,
executions,
@davidhooey
davidhooey / oracle_top_sql_history.sql
Last active January 14, 2020 23:45
Oracle top historical SQL
select
*
from
(
select
ss.module,
ss.snap_id,
ss.sql_id,
ss.plan_hash_value,
ss.executions_total,