Sunteți pe pagina 1din 56

Time Model

SQL

Metrics Waits

Stats
Sessions
Performance Tuning in
Oracle 10g
Kyle Hailey
9i
Waits
v$sql
v$system_event
V$session_wait V$system_event
V$sql –
includes stats V$session_event

V$sesstat

v$sysstat
v$session
V$session

V$sysstat
10g

Waits
SQL
V$sql
Includes some
waits now
V$session includes waits

Stats Sessions
Metrics – rates and
calculations
X$ -> no v$ -> WRH$_SQLSTAT

Waits V$eventmetric
SQL V$waitclassmetric

Metrics

Stats
Sessions V$sessmetric

V$sysmetric
Time Model
Time Model

SQL
Wait

Metrics

Stats
Sessions
In Memory History

Metrics
1 hour in Memory
15 and 60 seconds

Time

Session Wait
1-128M in Memory
Every second
10g Constructs
 OS Statistics (Kodi Uma…)
– Depends on platform
 Metrics
– Deltas and derived stats over 15 and 60 second periods

 Metric History
– Up to an hour

 Time Model
– groups time like waits & cpu into domains , eg Logon on/off , Parse

 Active Session History


 AWR History
– Like statspack++, history in “wrh$” tables for 7 day

 Services
– (not discussed in this presentation)

 ADDM
– Automatic analysis of performance data
10g Performance Data
 Statistics
– New stats, DB Time (?)
 Metrics*
– Deltas of Stats and Events over 15 and 60 seconds
– Max, min, average, standard deviation over 30 minutes
 Wait Model
– Wait events times and counts
– Wait classes
– ASH* – history of session waits
 Time Model*
– Database time
– Aggregation of time by operational area such as log on/off, parsing
etc
 SQL
– * Added some wait data – ( internally track the cursor statistic
deltas)
 Session
– * exposed wait info
* New in 10g
10g Generic Fields Names
Conventions V$
 Names
– Event
– Statistic
– Waitclass
 Ids
– Event#
– Statistic#
– Waitclass#
 Name Hash
– Event_id
– Statistic_id
– Waitclass_id
System Statistics View
Stats Waits waitclasses Time Model sql
V$stat_name V$event_name

V$ V$sysstat V$system_event v$system_wait_class * V$sys_time_model * V$sql


Cumulative
values now
V$event_histogram
*
Metrics V$sysmetric * V$eventmetric * v$waitclassmetric * ----------- ASH
v$metricgr Some goes into x$kewrtsqlstat *
oup sysmetric Cumulative,
V$metricna updated every 10
me seconds?)
deltas
Metrics V$sysmetric_ ----------- v$waitclassmetric_histo ----------- -----------
History history * ry *
V$sysmetric_
hour of Deltas summary *

AWR wrh$_sysmetr wrh$_system_even wrh$_waitclassmetric_h WRH$_SYS_TIME WRH$_SQLSTAT


ic_history t istory (alert only) * _MODEL * *
Last 7 days *(alert only)
wrh$_sysstat
WRH$_SYSM
ETRIC_SUMM
ARY *
Session Statistics View
stats waits waitclasses Time Model sql

V$ V$sessstat V$session_event ---------------- V$sess_time_model -----------------


* (some stats
possible
from ASH)
Metrics V$sessmetric ----------------- ----------------- ----------------- -----------------

Metrics ----------------- ----------------- ----------------- ----------------- -----------------


history

AWR WRH$_SESSMET ----------------- ---------------- ----------------- -----------------


RIC_HISTORY * (some stats (some stats
(alert only) possible from possible
ASH) from ASH)
Session Polling View
Active Session History : ASH
stats
V$ V$session_wait

Metrics

Metrics V$active_session_history *
Polling at 1 second
history
(V$session_wait_history)

AWR Wrh$_active_session_history
(1 in 10 values from “”) *
Waits
Time Model

SQL
Waits

Metrics

Stats
Sessions
Waits – v$
 Names and Classes
– v$event_name
 Cumulative
– v$system_event – by event
– v$session_event – by session and event
– * v$system_wait_class – by wait class
– * v$event_histogram – by event and wait time bucket
 Metrics - Deltas
– * v$eventmetric – 60 second deltas for all events (799)
– * v$waitclassmetric – 60 seconds deltas for 12 waitclasses
– * v$waitclassmetric_history – last 60 minutes of 1 minute deltas
 Details - polling
– v$session_wait – current wait
– * v$session_wait_history – last 10 waits – a bit superfluous
– * v$active_session_history - last 30 minutes polled every second
* new in 10g
Waits New
 800 waits
 Latches broken out
– Ex) Latch: library cache latch
 Enqueues broken out
– Ex) Enq: HW - contention
Waitclasses
 Administrative (39) Configuration (20)
– log file size
– switch logfile
– Enqueues: ST, HW, ITL
– rebuild index – Latch: redo copy,shared pool

 Application (11)  Idle (56)


– enqueues
– sqlnet break/reset
 Network (25)
 Cluster (113)
 System I/O (19)
 Commit (1)
– Log file Sync  Scheduler (6)
 Concurrency (12)  User I/O (12)
– Latches: cbc, lbc,


Lib cache locks
Bbw
 Other (485)
Waitclasses
SQL> select * from v$system_wait_class;
WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED
------------- ----------- -------------------- ----------- -----------
1893977003 0 Other 11695 1873612
4217450380 1 Application 9316 850799
3290255840 2 Configuration 1949 2379
4166625743 3 Administrative 3 475
3875070507 4 Concurrency 184 634
3386400367 5 Commit 6260 1423
2723168908 6 Idle 1531734 530987091
2000153315 7 Network 127231 1709
1740759767 8 User I/O 1037623 16561
4108307767 9 System I/O 268085 150502
Waits Metrics (Events and
Classes)
Current AWR on disk 7
Current deltas Recent deltas
cumulative days
Wait Classes
v$system_wait_class v$waitclassmetric v$waitclassmetric_history wrh$_waitclassmetric_histor
WAIT_CLASS_ID BEGIN_TIME BEGIN_TIME y
WAIT_CLASS# END_TIME END_TIME
WAIT_CLASS INTSIZE_CSEC INTSIZE_CSEC Only gets populated with alerts
TOTAL_WAITS WAIT_CLASS_ID WAIT_CLASS_ID
TIME_WAITED WAIT_CLASS# WAIT_CLASS#
v$event_name NUM_SESS_WAITING NUM_SESS_WAITING
EVENT# TIME_WAITED TIME_WAITED
EVENT_ID WAIT_COUNT WAIT_COUNT
NAME
PARAMETER1
PARAMETER2
PARAMETER3
WAIT_CLASS_ID
WAIT_CLASS#
WAIT_CLASS
Wait Events

V$system_event v$eventmetric
BEGIN_TIME
WRH$_SYSTEM_EVENT
EVENT END_TIME
TOTAL_WAITS INTSIZE_CSEC
TOTAL_TIMEOUTS EVENT_ID
TIME_WAITED
NUM_SESS_WAITING No in memory history
TIME_WAITED
AVERAGE_WAIT WAIT_COUNT
TIME_WAITED_MICRO
EVENT_ID

V$session_event
Waits – Session Sampling
ER
current 10 samples Half hour 7 days (disk)
v$session_wait v$session_wait_history v$active_session_history wrh$active_session_history
SID SID SNAP_D
SAMPLE_ID
SEQ# SEQ#
SAMPLE_TIME DBID
EVENT EVENT# INSTANCE_NUMBER
SESSION_ID
P1TEXT EVENT SAMPLE_ID
P1 P1TEXT SESSION_SERIAL#
SAMPLE_TIME
P1RAW P1 USER_ID
P2TEXT SESSION_ID
P2TEXT SQL_ID
P2 P2 SESSION_SERIAL#
SQL_CHILD_NUMBER
P2RAW USER_ID
P3TEXT
P3TEXT SQL_PLAN_HASH_VALUE
P3 SQL_ID
P3 SQL_OPCODE
WAIT_TIME SQL_CHILD_NUMBER
P3RAW
SERVICE_HASH
WAIT_CLASS_ID SQL_PLAN_HASH_VALUE
SESSION_TYPE
WAIT_CLASS# SQL_OPCODE
WAIT_CLASS SESSION_STATE
SERVICE_HASH
WAIT_TIME QC_SESSION_ID
SECONDS_IN_WAIT SESSION_TYPE
QC_INSTANCE_ID
STATE SESSION_STATE
SEQ#
QC_SESSION_ID
EVENT#
v$event_name P1
QC_INSTANCE_ID
SEQ#
EVENT_ID P2
EVENT_ID
EVENT# P3
P1
EVENT_ID WAIT_TIME
P2
NAME TIME_WAITED
P3
PARAMETER1 CURRENT_OBJ#
WAIT_TIME
PARAMETER2 CURRENT_FILE#
TIME_WAITED
PARAMETER3 CURRENT_BLOCK#
CURRENT_OBJ#
WAIT_CLASS_ID PROGRAM
CURRENT_FILE#
WAIT_CLASS# MODULE
CURRENT_BLOCK#
WAIT_CLASS ACTION
PROGRAM
CLIENT_ID
MODULE
Waits in Workload Repository –
AWR
 WRH$
– WRH$_EVENT_NAME
– WRH$_SYSTEM_EVENT ( + BL* )
– WRH$_BG_EVENT_SUMMARY
– WRH$_WAITCLASSMETRIC_HISTORY alerts only
– WRH$ACTIVE_SESSION_HISTORY

*( BL : base line)
Waits – DBA view on AWR
 DBA_HIST – views onto WRH
– DBA_HIST_WAITCLASSMET_HISTORY
 Alerts only
– DBA_HIST_SYSTEM_EVENT
 Queries both
WRH$_SYSTEM_EVENT_BL
WRH$_SYSTEM_EVENT
– DBA_HIST_BG_EVENT_SUMMARY
Stats
Time Model

SQL
Waits
Metrics

Stats
Sessions
Stats
 V$statname
 V$systat
 V$sesstat
 *v$sysmetric – derived and deltas, 15
and 60 second
 *v$sysmetric_history – last hour
 *v$sysmetric_summary – max, min, avg, stddev
Snapshots:
 * wrh$_sysmetric_history (alert only)
 * wrh$systat
 * wrh$_ sysmetric_summary
v$sysmetric
 Short Duration – 15 secs
 Long Duration – 60 secs
 Per Transaction
 Per Sec
 Ratios
Metric short duration
Per Sec and Per Transaction
Buffer Cache Hit Ratio Physical Reads
Memory Sorts Ratio Physical Writes
Execute Without Parse Physical Reads Direct
Ratio Redo Generated
Logons
Soft Parse Ratio
User Calls
Database CPU Time Logical Reads
Ratio
Redo Writes
Library Cache Hit Ratio Total Table Scans
Shared Pool Free % Full Index Scans
Txns Per Logon DB Block Gets
Consistent Read Gets
Per Sec DB Block Changes
Consistent Read Changes
User Transaction Per Sec Executions
Metric long duration
Buffer Cache Hit Ratio Current Logons Count
Memory Sorts Ratio Current Open Cursors Count
Redo Allocation Hit Ratio User Limit %
User Commits Percentage SQL Service Response Time
User Rollbacks Percentage Database Wait Time Ratio
Cursor Cache Hit Ratio Database CPU Time Ratio
Rows Per Sort Row Cache Hit Ratio
Execute Without Parse Ratio Row Cache Miss Ratio
Soft Parse Ratio Library Cache Hit Ratio
User Calls Ratio Library Cache Miss Ratio
Global Cache Average CR Get Time Shared Pool Free %
Global Cache Average Current Get Time PGA Cache Hit %
Global Cache Blocks Corrupted Process Limit %
Global Cache Blocks Lost Session Limit %
Txns Per Logon
sec/txn
Per Second and Transaction
Per Sec Physical Reads Disk Sort
Physical Writes Enqueue Timeouts
User Commits Physical Reads Direct Enqueue Waits
User Rollbacks Physical Writes Direct Enqueue Deadlocks
User Transaction Physical Reads Direct Lobs Enqueue Requests
Physical Writes Direct Lobs DB Block Gets
DBWR Checkpoints
Redo Generated Consistent Read Gets
Background Checkpoints
Logons DB Block Changes
Network Traffic Volume Open Cursors Consistent Read Changes
User Calls CPU Usage
Per Transaction Recursive Calls CR Blocks Created
Logical Reads CR Undo Records Applied
Response Time Redo Writes User Rollback Undo Records Applied
Long Table Scans Leaf Node Splits
Total Table Scans Branch Node Splits
Full Index Scans PX downgraded 1 to 25%
Total Index Scans PX downgraded 25 to 50%
Total Parse Count PX downgraded 50 to 75%
Hard Parse Count PX downgraded 75 to 99%
Parse Failure Count .
Metrics Visually

v$sysmetric_history

3 minutes of 15 second deltas

60 minutes of 1 minute deltas

Not saved to disk but summary is


Stat Metrics Summary
 *v$sysmetric_summary – max, min, avg, stddev
– Last hour summary

 * wrh$_ sysmetric_summary (all long duration )

– Half hour summaries (or when AWR runs)


Stats – ER
v$sysmetric Statistics Metrics
BEGIN_TIME
END_TIME
INTSIZE_CSEC
GROUP_ID
METRIC_ID v$metricgroup
METRIC_NAME GROUP_ID
VALUE
METRIC_UNIT NAME
v$sysstat
INTERVAL_SIZE STATISTIC#

v$sysmetric_history MAX_INTERVAL
v$sessmetric
NAME
CLASS
BEGIN_TIME VALUE
BEGIN_TIME HASH
END_TIME
END_TIME
INTSIZE_CSEC
INTSIZE_CSEC
GROUP_ID
SESSION_ID
METRIC_ID
SESSION_SERIAL_NUM
METRIC_NAME
CPU
VALUE
PHYSICAL_READS
METRIC_UNIT
PGA_MEMORY v$sessstat
HARD_PARSES STATISTIC#
v$sysmetric_summary SOFT_PARSES
NAME
BEGIN_TIME CLASS
END_TIME PHYSICAL_READ_PCT VALUE
INTSIZE_CSEC -> intsize
GROUP_ID
v$metricname LOGICAL_READ_PCT
HASH
GROUP_ID
METRIC_ID
GROUP_NAME
METRIC_NAME
METRIC_ID
NUM_INTERVAL
METRIC_NAME
MAXVAL
METRIC_UNIT
MINVAL
AVERAGE
STANDARD_DEVIATION
METRIC_UNIT
Time Model
Time Model

SQL
Waits

Metrics

Stats
Sessions
Time Model
 *V$SYS_TIME_MODEL
 *V$SESS_TIME_MODEL
 WRH$_SYS_TIME_MODEL
 WRH$_SYS_TIME_MODEL_BL
 DBA_HIST_SYS_TIME_MODEL
Time Model

V$SYS_TIME_MODEL V$SESS_TIME_MODEL
STAT_ID STAT_ID
STAT_NAME STAT_NAME
VALUE VALUE
Time Model Details
SQL> select STAT_NAME, value from V$SYS_TIME_MODEL;
DB time 3.9837E+10
DB CPU 2.4055E+10
background cpu time 2.1808E+10
sequence load elapsed time 15939410
parse time elapsed 451760577
hard parse elapsed time 178851736
sql execute elapsed time 3.6900E+10
connection management call elapsed time 1045589383
failed parse elapsed time 848439
hard parse (sharing criteria) elapsed time 3347865
hard parse (bind mismatch) elapsed time 1515268
PL/SQL execution elapsed time 418089534
inbound PL/SQL rpc elapsed time 0
PL/SQL compilation elapsed time 37666077
Java execution elapsed time 0
bind/define call elapsed time 0
Time Model Detail Session
SQL> select STAT_NAME, value from V$SESS_TIME_MODEL where sid=1;
DB time 143
DB CPU 290000
background cpu time 0
sequence load elapsed time 0
parse time elapsed 0
hard parse elapsed time 0
sql execute elapsed time 0
global cache cr block receive time 0
global cache current block receive time 0
global cache get time 0
connection management call elapsed time 0
failed parse elapsed time 0
hard parse (sharing criteria) elapsed time 0
hard parse (bind mismatch) elapsed time 0
PL/SQL execution elapsed time 0
inbound PL/SQL rpc elapsed time 0
PL/SQL compilation elapsed time 0
Java execution elapsed time 0
bind/define call elapsed time 0
cluster wait time 0
concurrency wait time 0
application wait time 0
user I/O wait time 0
SQL
Time Model

SQL
Waits

Metrics
Stats
Sessions
V$SQL
 SQL_FULLTEXT
 SQL_ID
 FETCHES
 END_OF_FETCH_COUNT
 DIRECT_WRITES
 APPLICATION_WAIT_TIME
 CONCURRENCY_WAIT_TIME
 CLUSTER_WAIT_TIME
 USER_IO_WAIT_TIME
 PLSQL_EXEC_TIME
 JAVA_EXEC_TIME
 CPU_TIME
 ELAPSED_TIME
AWR SQL

 WRH$_SQLSTAT
 WRH$_SQLSTAT_BL
 WRH$_SQLTEXT
Metrics
Time Model

SQL
Waits

Metrics

Stats
Sessions
Metrics
 Performance Advantage
– Less CPU than v$sysstat, v$system_event
– (not scanning the big strucs #sessions x
#stats or #events, no conversions )
 Precomputed deltas
– 15, 60 seconds
 Precomputed derived values
– Per tnx, per sec, ratios
Metrics
 V$METRICGROUP
 V$METRICNAME
V$METRIC
 V$SYSMETRIC V$METRIC_HISTORY
 V$SESSMETRIC
 V$FILEMETRIC
 V$EVENTMETRIC Combined view onto the other
 V$WAITCLASSMETRIC metric tables
 V$SVCMETRIC

 V$SYSMETRIC_HISTORY
 V$FILEMETRIC_HISTORY
 V$WAITCLASSMETRIC_HISTORY
 V$SVCMETRIC_HISTORY

 V$SYSMETRIC_SUMMARY
Metric groups and names

v$metricgroup v$metricname
GROUP_ID GROUP_ID
NAME GROUP_NAME
INTERVAL_SIZE METRIC_ID
MAX_INTERVAL METRIC_NAME
METRIC_UNIT
Metric Group
2 is a superset of 3
1* select * from v$metricgroup 4 is a superset of 5

GID NAME INTS M_INT GROUP_ID COUNT(*)


--- ----------------------------------- ------ ----- -------- ----------
0 Event Metrics 6000 1 0 3
1 Event Class Metrics 6000 60 1 4
2 System Metrics Long Duration 6000 60 2 114
3 System Metrics Short Duration 1500 12 3 40
4 Session Metrics Long Duration 6000 60 4 1
5 Session Metrics Short Duration 1500 1 5 8
6 Service Metrics 6000 60 6 2
7 File Metrics Long Duration 60000 6 7 6

Ie, v$sysmetric_history keeps the last hour for


Max Interval long duration deltas, 60s, and the last 4
minutes for short duration, 15 second deltas
V$metric

v$metric
BEGIN_TIME
END_TIME
INTSIZE_CSEC
GROUP_ID
ENTITY_ID
ENTITY_SEQUENCE
METRIC_ID
METRIC_NAME
VALUE
METRIC_UNIT
Session
Time Model

SQL
Waits

Metrics

Stats
Sessions
Session
Added ( exposed ) v$session_wait in v$session
EVENT# NUMBER
EVENT VARCHAR2(64)
P1TEXT VARCHAR2(64)
P1 NUMBER
P1RAW RAW(4)
P2TEXT VARCHAR2(64)
P2 NUMBER
P2RAW RAW(4)
P3TEXT VARCHAR2(64)
P3 NUMBER
P3RAW RAW(4)
WAIT_CLASS_ID NUMBER
WAIT_CLASS# NUMBER
WAIT_CLASS VARCHAR2(64)
WAIT_TIME NUMBER
SECONDS_IN_WAIT NUMBER
ADDM
 dba_advisor_findings     TASK_NAME, TASK_ID is indexed
and

 dba_advisor_recommendations 
TASK_ID,FINDING_ID

 dba_advisor_actions          TASK_ID and REC_ID


 dba_advisor_rationale        TASK_ID and REC_ID
 dba_advisor_objects  TASK_ID , OBJECT_ID from actions or
rationale.
AWR Views: DBA_HIST
DBA_HIST_DATABASE_INSTANCE
DBA_HIST_RESOURCE_LIMIT
DBA_HIST_SNAPSHOT
DBA_HIST_SHARED_POOL_ADVICE
- DBA_HIST_SNAP_ERROR
?DBA_HIST_SQL_WORKAREA_HSTGRM
- DBA_HIST_BASELINE
DBA_HIST_PGA_TARGET_ADVICE
- DBA_HIST_WR_CONTROL ? (work load repository ?)
DBA_HIST_INSTANCE_RECOVERY
- DBA_HIST_DATAFILE
DBA_HIST_JAVA_POOL_ADVICE
DBA_HIST_FILESTATXS – only file number, no name
DBA_HIST_THREAD - logswitches
- DBA_HIST_TEMPFILE
-DBA_HIST_STAT_NAME
DBA_HIST_TEMPSTATXS – onl;y file number
*DBA_HIST_SYSSTAT
+DBA_HIST_SQLSTAT group by parent cursor plus DELTAs was (stats$sql_summary)
*-DBA_HIST_SYS_TIME_MODEL
DBA_HIST_SQLTEXT
-DBA_HIST_OSSTAT_NAME
*+DBA_HIST_SQL_SUMMARY – identify litterals (was stat$sql_statistics)
-DBA_HIST_OSSTAT
DBA_HIST_SQL_PLAN
DBA_HIST_PARAMETER_NAME
-DBA_HIST_SQLBIND
DBA_HIST_PARAMETER
-DBA_HIST_OPTIMIZER_ENV
DBA_HIST_UNDOSTAT
*-DBA_HIST_EVENT_NAME
DBA_HIST_ROLLSTAT
*DBA_HIST_SYSTEM_EVENT
DBA_HIST_SEG_STAT
*DBA_HIST_BG_EVENT_SUMMARY – sum of backgrounds
DBA_HIST_SEG_STAT_OBJ
DBA_HIST_WAITSTAT
-DBA_HIST_METRIC_NAME
DBA_HIST_ENQUEUE_STAT
*-DBA_HIST_SYSMETRIC_HISTORY alert
-DBA_HIST_LATCH_NAME
*-DBA_HIST_SYSMETRIC_SUMMARY – max, min, avg standard devia
DBA_HIST_LATCH
*-DBA_HIST_SESSMETRIC_HISTORY alert
DBA_HIST_LATCH_CHILDREN
-DBA_HIST_FILEMETRIC_HISTORY alert
DBA_HIST_LATCH_PARENT
*DBA_HIST_WAITCLASSMET_HISTORY alert
DBA_HIST_LATCH_MISSES_SUMMARY – summed over parent latch
DBA_HIST_DLM_MISC
DBA_HIST_LIBRARYCACHE
-DBA_HIST_RCVRY_FILE_DEST_STAT
DBA_HIST_DB_CACHE_ADVICE
-DBA_HIST_RMAN_PERFORMANCE
DBA_HIST_BUFFER_POOL_STAT
*-DBA_HIST_ACTIVE_SESS_HISTORY – every 10th point from v$active_
DBA_HIST_ROWCACHE_SUMMARY – summed over rowcache entries
-DBA_HIST_TABLESPACE_STAT
DBA_HIST_SGA
-DBA_HIST_LOG
DBA_HIST_SGASTAT
DBA_HIST_MTTR_TARGET_ADVICE
DBA_HIST_PGASTAT
-DBA_HIST_TBSPC_SPACE_USAGE - ?
AWR Data Tables - WRH
WRH$_LATCH_PARENT_BL
*WRH$_ACTIVE_SESSION_HISTORY WRH$_SHARED_POOL_ADVICE
WRH$_LIBRARYCACHE
*WRH$_ACTIVE_SESSION_HISTORY_BL WRH$_SQL_PLAN
WRH$_LOG
*WRH$_BG_EVENT_SUMMARY WRH$_SQL_SUMMARY
*WRH$_METRIC_NAME
WRH$_BUFFER_POOL_STATISTICS WRH$_SQL_WORKAREA_HISTOGRAM
WRH$_MTTR_TARGET_ADVICE
WRH$_DATAFILE WRH$_SQLBIND
WRH$_OPTIMIZER_ENV
WRH$_DB_CACHE_ADVICE WRH$_SQLBIND_BL
WRH$_OSSTAT
WRH$_DB_CACHE_ADVICE_BL WRH$_SQLSTAT
WRH$_PARAMETER
WRH$_DLM_MISC WRH$_SQLSTAT_BL
WRH$_PARAMETER_BL
WRH$_ENQUEUE_STAT WRH$_SQLTEXT
WRH$_PARAMETER_NAME
WRH$_ENQUEUE_STAT_BL WRH$_STAT_NAME
WRH$_PGA_TARGET_ADVICE
* WRH$_WAITCLASSMETRIC_HISTORY *WRH$_SYS_TIME_MODEL
WRH$_PGA_TARGET_ADVICE_BL
*WRH$_EVENT_NAME *WRH$_SYS_TIME_MODEL_BL
WRH$_PGASTAT
WRH$_FILEMETRIC_HISTORY *WRH$_SYSMETRIC_HISTORY
WRH$_PGASTAT_BL
WRH$_FILESTATXS *WRH$_SYSMETRIC_SUMMARY
WRH$_RECOVERY_FILE_DEST_STAT
WRH$_FILESTATXS_BL *WRH$_SYSSTAT
WRH$_RESOURCE_LIMIT
WRH$_INSTANCE_RECOVERY *WRH$_SYSSTAT_BL
WRH$_RMAN_PERFORMANCE
WRH$_JAVA_POOL_ADVICE *WRH$_SYSTEM_EVENT
WRH$_ROLLSTAT
WRH$_LATCH *WRH$_SYSTEM_EVENT_BL
WRH$_ROWCACHE_SUMMARY
WRH$_LATCH_BL WRH$_TABLESPACE_SPACE_USAGE
WRH$_ROWCACHE_SUMMARY_BL
WRH$_LATCH_CHILDREN WRH$_TABLESPACE_STAT
WRH$_SEG_STAT
WRH$_LATCH_CHILDREN_BL WRH$_TABLESPACE_STAT_BL
WRH$_SEG_STAT_BL
WRH$_LATCH_MISSES_SUMMARY WRH$_TEMPFILE
WRH$_SEG_STAT_OBJ
WRH$_LATCH_MISSES_SUMMARY_BL WRH$_TEMPSTATXS
*WRH$_SESSMETRIC_HISTORY
WRH$_LATCH_NAME WRH$_THREAD
WRH$_SGA
WRH$_LATCH_PARENT WRH$_UNDOSTAT
WRH$_SGASTAT
WRH$_WAITSTAT
WRH$_SGASTAT_BL
WRH$_WAITSTAT_BL
AWR Metadata Tables

SWRF METADATA TABLES


WRM$_BASELINE
WRM$_DATABASE_INSTANCE
WRM$_SNAPSHOT
WRM$_SNAP_ERROR
WRM$_WR_CONTROL
AWR Internal Tables
WRI$_ADV_ACTIONS WRI$_ADV_SQLW_SUM
WRI$_SQLSET_REFERENCES
WRI$_ADV_DEFINITIONS WRI$_ADV_SQLW_TABLES
WRI$_SQLSET_STATEMENTS
WRI$_ADV_DEF_PARAMETERS WRI$_ADV_SQLW_TABVOL
WRI$_TRACING_ENABLE
WRI$_ADV_DIRECTIVES WRI$_ADV_TASKS
WRI$_ADV_FINDINGS WRI$_ADV_USAGE
WRI$_ADV_JOURNAL WRI$_AGGREGATION_ENABLED
WRI$_ADV_LOG WRI$_ALERT_HISTORY
WRI$_ADV_MESSAGE_GROUPS WRI$_ALERT_OUTSTANDING
WRI$_ADV_OBJECTS WRI$_ALERT_THRESHOLD
WRI$_ADV_PARAMETERS WRI$_ALERT_THRESHOLD_LOG
WRI$_ADV_RATIONALE WRI$_DBU_FEATURE_METADATA
WRI$_ADV_RECOMMENDATIONS WRI$_DBU_FEATURE_USAGE
WRI$_ADV_REC_ACTIONS WRI$_DBU_HIGH_WATER_MARK
WRI$_ADV_SQLA_FAKE_REG WRI$_DBU_HWM_METADATA
WRI$_ADV_SQLA_MAP WRI$_DBU_USAGE_SAMPLE
WRI$_ADV_SQLA_STMTS WRI$_OPTSTAT_AUX_HISTORY
WRI$_ADV_SQLA_TMP WRI$_OPTSTAT_HISTGRM_HISTORY
WRI$_ADV_SQLT_BINDS WRI$_OPTSTAT_HISTHEAD_HISTORY
WRI$_ADV_SQLT_PLANS WRI$_OPTSTAT_IND_HISTORY
WRI$_ADV_SQLT_RTN_PLAN WRI$_OPTSTAT_OPR
WRI$_ADV_SQLT_STATISTICS WRI$_OPTSTAT_TAB_HISTORY
WRI$_ADV_SQLW_COLVOL WRI$_SQLSET_BINDS
WRI$_ADV_SQLW_STMTS WRI$_SQLSET_DEFINITIONS
V$
SQL
GO$SQL_BIND_CAPTURE
O$SQL_BIND_CAPTURE
Event, Waits, Stats and Metrics
V$SQL
V$SQL_BIND_DATA V$CLIENT_STATS
V$SESSION_EVENT
V$SQL_BIND_METADATA V$EVENT_HISTOGRAM
V$SESSION_WAIT_CLASS
V$SQL_CURSOR V$EVENT_NAME
V$SESSMETRIC
V$EVENTMETRIC
V$SQL_OPTIMIZER_ENV V$SESSTAT
V$FILEMETRIC
V$SQL_PLAN V$STATISTICS_LEVEL
V$FILEMETRIC_HISTORY
V$STATNAME
V$SQL_PLAN_STATISTICS V$FILESTAT
V$SVCMETRIC
V$SQL_PLAN_STATISTICS_ALL V$METRICGROUP
V$SVCMETRIC_HISTORY
V$METRICNAME
V$SQL_REDIRECTION V$SYSMETRIC
V$MYSTAT
V$SQL_SHARED_CURSOR V$SYSMETRIC_HISTORY
V$OSSTAT
V$SYSMETRIC_SUMMARY
V$SQL_SHARED_MEMORY V$SERV_MOD_ACT_STATS
V$SYSSTAT
V$SQL_WORKAREA V$SERVICE_EVENT
V$SYSTEM_EVENT
V$SERVICE_STATS
V$SQL_WORKAREA_ACTIVE V$SYSTEM_WAIT_CLASS
V$SERVICE_WAIT_CLASS
V$SQL_WORKAREA_HISTOGRAM
V$SQLAREA
V$SQLTEXT
V$SQLTEXT_WITH_NEWLINES
ASH

ASH provides two x$ fixed tables

x$kewash - returns a row for every ASH sample taken


x$ash- returns a row for every active session in every ASH sample

SELECT /*+ no_merge ordered use_nl(s,a) */ a.inst_id, a.sample_id, a.sample_tim


e, a.session_id, a.session_serial#, a.user_id, a.sql_id, a.sql_child_number,
a.sql_plan_hash_value, a.sql_opcode, a.service_hash, decode(a.session_type, 1,'FORE
GROUND', 2,'BACKGROUND', 'UNKNOWN'), decode(a.wait_time, 0, 'WAITING', 'ON CPU')
, a.qc_session_id, a.qc_instance_id, a.seq#, a.event#, a.p1, a.p2, a.p3, a.wait_
time, a.time_waited, a.current_obj#, a.current_file#, a.current_block#, a.progra
m, a.module, a.action, a.client_id FROM x$kewash s, x$ash a WHERE s.sample_addr
= a.sample_addr and s.sample_id = a.sample_id

No range scans on x$ tables, so full scan x$kewash and then use equality in query on x$ash
X$ Desc x$ash
desc x$ash
SQL> desc x$kewash ADDR RAW(4)
ADDR RAW(4) INDX NUMBER
INST_ID NUMBER
INDX NUMBER SAMPLE_ADDR NUMBER
INST_ID NUMBER SAMPLE_ID NUMBER
SAMPLE_TIME TIMESTAMP(3)
SAMPLE_ID NUMBER SESSION_ID NUMBER
SAMPLE_TIME TIMESTAMP(3) SESSION_SERIAL# NUMBER
USER_ID NUMBER
SAMPLE_ADDR NUMBER SQL_ID VARCHAR2(13)
SAMPLE_LENGTH NUMBER SQL_CHILD_NUMBER NUMBER
SQL_PLAN_HASH_VALUE NUMBER
ROW_COUNT NUMBER SERVICE_HASH NUMBER
SESSION_TYPE NUMBER
SQL_OPCODE NUMBER
QC_SESSION_ID NUMBER
QC_INSTANCE_ID NUMBER
CURRENT_OBJ# NUMBER
CURRENT_FILE# NUMBER
CURRENT_BLOCK# NUMBER
SEQ# NUMBER
EVENT# NUMBER
P1 NUMBER
P2 NUMBER
P3 NUMBER
WAIT_TIME NUMBER
TIME_WAITED NUMBER
PROGRAM VARCHAR2(48)
MODULE VARCHAR2(48)
ACTION VARCHAR2(32)
CLIENT_ID VARCHAR2(64)
Sql metrics: x$kewrtsqlstat
 x$kewrtsqlstat
Schema URL
http://svrman.us.oracle.com/SchemaView
/view_all.html

S-ar putea să vă placă și