2026-03-12 20:23:15
This commit is contained in:
103
vg/stats_tab_pref.sql
Normal file
103
vg/stats_tab_pref.sql
Normal file
@@ -0,0 +1,103 @@
|
||||
@@header
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display statistics gathering preferences
|
||||
* Parameters : 1 - owner (% - wildchar, \ - escape char)
|
||||
* 2 - Object name (% - wildchar, \ - escape char)
|
||||
* 3 - Preference name (% - wildchar, \ - escape char)
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ ----------------------------------------------------
|
||||
* 22-May-13 Vishal Gupta Added input parameters and defaulting them to '%'
|
||||
* 11-May-12 Vishal Gupta Created
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/************************************
|
||||
* INPUT PARAMETERS
|
||||
************************************/
|
||||
UNDEFINE owner
|
||||
UNDEFINE table_name
|
||||
UNDEFINE preference_name
|
||||
|
||||
DEFINE owner="&&1"
|
||||
DEFINE table_name="&&2"
|
||||
DEFINE preference_name="&&3"
|
||||
|
||||
COLUMN _owner NEW_VALUE owner NOPRINT
|
||||
COLUMN _table_name NEW_VALUE table_name NOPRINT
|
||||
COLUMN _preference_name NEW_VALUE preference_name NOPRINT
|
||||
|
||||
set term off
|
||||
|
||||
COLUMN _owner NEW_VALUE owner NOPRINT
|
||||
COLUMN _object_name NEW_VALUE object_name NOPRINT
|
||||
COLUMN _preference_name NEW_VALUE preference_name NOPRINT
|
||||
|
||||
|
||||
SELECT DECODE(UPPER('&&owner'),'','%','&&owner') "_owner"
|
||||
, DECODE(UPPER('&&table_name'),'','%','&&table_name') "_table_name"
|
||||
, DECODE(UPPER('&&preference_name'),'','%','&&preference_name') "_preference_name"
|
||||
FROM DUAL;
|
||||
|
||||
SELECT CASE
|
||||
WHEN INSTR('&&owner','.') != 0 THEN SUBSTR(UPPER('&&owner'),1,INSTR('&&owner','.')-1)
|
||||
ELSE DECODE(UPPER('&&owner'),'','%',UPPER('&&owner'))
|
||||
END "_owner"
|
||||
, CASE
|
||||
WHEN INSTR('&&owner','.') != 0 THEN SUBSTR(UPPER('&&owner'),INSTR('&&owner','.')+1)
|
||||
ELSE DECODE(UPPER('&&table_name'),'','%',UPPER('&&table_name'))
|
||||
END "_table_name"
|
||||
FROM DUAL;
|
||||
set term on
|
||||
|
||||
|
||||
|
||||
PROMPT
|
||||
PROMPT ***********************************************************************
|
||||
PROMPT * S T A T I S T I C S G A T H E R I N G P R E F E R E N C E S
|
||||
PROMPT * (Table Level)
|
||||
PROMPT *
|
||||
PROMPT * Input Parameters
|
||||
PROMPT * - Table Owner = '&&owner'
|
||||
PROMPT * - Table Name = '&&table_name'
|
||||
PROMPT * - Pref Name = '&&preference_name'
|
||||
PROMPT ***********************************************************************
|
||||
|
||||
COLUMN owner HEADING "Owner" FORMAT a20
|
||||
COLUMN table_name HEADING "TableName" FORMAT a30
|
||||
COLUMN preference_name HEADING "Preference|Name" FORMAT a20
|
||||
COLUMN preference_value HEADING "Preference|Value" FORMAT a15
|
||||
COLUMN ChangeTime HEADING "ChangeTime" FORMAT a36
|
||||
|
||||
|
||||
-- This query has been taken from DBA_TAB_STAT_PREFS sys view.
|
||||
-- chgtime column is not exposed in the view, so quering from underlying
|
||||
-- objects directly
|
||||
SELECT u.name owner
|
||||
, o.name table_name
|
||||
, p.pname preference_name
|
||||
, p.valchar preference_value
|
||||
, p.chgtime ChangeTime
|
||||
FROM sys.optstat_user_prefs$ p
|
||||
, sys.obj$ o
|
||||
, sys.user$ u
|
||||
WHERE p.obj#=o.obj#
|
||||
AND u.user#=o.owner#
|
||||
AND o.type#=2
|
||||
AND u.name like UPPER('&&owner') ESCAPE '\'
|
||||
AND o.name like UPPER('&&table_name') ESCAPE '\'
|
||||
AND UPPER(p.pname) like UPPER('&&preference_name') ESCAPE '\'
|
||||
ORDER BY u.name
|
||||
, o.name
|
||||
, p.pname
|
||||
;
|
||||
|
||||
@@footer
|
||||
Reference in New Issue
Block a user