SlideShare a Scribd company logo
© 2015 Delphix. All Rights Reserved. Private & Confidential.
Performance Data in Database 12c
Knowledge is Power
AWR and ASH with EM13c
Kellyn Pot’Vin-Gorman, Technical Intelligence Manager
October 2016
Who am I?
• Optimization- Tune for Time or You’re Wasting Time.
• Know your goal(s)
• Set a stopping point, avoid OTD, (Obsessive Tuning Disorder)
• Do NOT assume. Always do the research and have data behind findings.
Stay on the Path…
• ASH= Active Session History
• AWR= Automatic Workload Repository
• Introduced in Oracle 10g
• Evolution to statspack, requests for performance reporting improvements.
• “Always on” approach to performance metrics with requirement of non-
locking collection process.
• Requires Management Diagnostic Pack License from Oracle.
Brief History
The Location in EM12c For Some of Today’s Presentation…
 Always on with default intervals of 1hr snapshots and 8 days retention.
 Should have at least 60 days of retained data.
 Desire more? Have an AWR Warehouse.
 Interval increase? Use this during workload testing, otherwise, take a manual
snapshot:
EXEC DBMS_WORKLOAD_REPOSITORY.create_snapshot;
Automatic Workload Repository, (AWR) Reports
Buffer writes one direction,
we read the other!
• To inspect a database level issues, for both a small window of time to extended
window.
• Extensive information in report, knowing HOW to parse through the report to achieve
goal is important.
• Via EM12c, the report is offered in HTML format and will be environment aware,
(single instance, RAC, Exadata.)
• Different reports available from the command line when running from the
$ORACLE_HOME/rdbms/admin directory and can be generated in HTML or TXT
format.
AWR Reports Are Best Used For..
Wasting Time…. 
Rarely is there value in this section.
As long is everything contains high percentages, move on.
AWR- Top 10 Foreground
•CPU is expected and should be the majority of time.
•CPU processing can be extensive though, (still needs to
be investigated)
•Anything under 10% commonly is disregarded.
•Understand what each wait event definition is
Top SQL
Focus on Elapsed Time, but…
Displays Top SQL by:
CPU
IO
Gets
Reads, etc…
Full SQL Statements
Linked from Top SQL Lists in HTML report via SQL_ID links.
Quick reference when needed.
SGA “Thrashing”
Why PGA is Important
What is an optimal vs. 1 or (M)ulti-pass executions?
Why Can’t I Achieve 100%??
You shall not pass! (optimal, so 90%, that is… )
Percentages and Amounts of Reads are Important
Top two objects correspond to SQL statements in the top IO
and most likely top SQL by elapsed time.
What is a Direct Physical Read?
•Inefficient SQL and objects that have high quantity of row changes involved.
•Adds significant pressure in RAC environment, too!
Un-optimized vs. Optimized?
Percentages are low per object, (under 10%, which is a good sign for any database!)
This is an exadata, so it means they are either not in the buffer cache or the smart flash
cache, which means un-optimized”.
This is “somewhat” expected and don’t panic unless you see high percentages.
Initial Transaction Locks
10% rule applies here, too!
ALTER TABLE <name> initrans <xx>;
RAC Interconnect Exchange
•Data from V$SYSMETRIC_HISTORY
•High Exchange rate can signal and issue.
RAC Cache Interconnect Stats
Transfer Rate Between RAC Nodes
• Excellent for identifying specific issues in database.
• Identifies not just the top SQL, but code.
• Shows top wait events by sample time.
• Don’t confuse samples with AWR snapshots.
• Should not be used to track # of executions.
ASH Reports
Buffer writes one direction,
We read the other!
Running ASH Report from Cloud Control
• ASH is by time, not snapshot.
• Set start date and time.
• End date and time
• Generate report
HTML Format ASH
Main ASH Info
Top SQL, Top Sessions
Top SQL Details
Top Parallel, Top DB Files
ASH Report- Use Case
@$ORACLE_HOME/rdbms/admin/ashrpt.sql;
 Report Format: Text
 Performance Issue during day, need to know what’s going on!
 Run ASH Report from the command line with SQL*Plus:
“Interesting Part”
Finally!
Select * from table(dbms_xplan.display_awr(‘43mp3mjufgnkg’));
AWR and ASH from the Command Line Interface
All DBAs should know how to do this!
$ORACLE_HOME/rdbms/admin/awrrpt.sql;
$ORACLE_HOME/rdbms/admin/ashrpt.sql;
$ORACLE_HOME/rdbms/admin/awrsqrpt.sql;
Less Known AWR Reports:
awrinfo.sql General AWR Info
awrddrpt.sql Comparison report between snapshots
awrblmig.sql Migrates pre-11g baseline data into 11g Baseline tables.
awrgrpt.sql RAC Aware AWR Report.
Running Reports, Command Line
 Snapshot Interval Information
 Basic Info on Instances and Nodes
 No User or Application Schema info.
 Space Usage by SYSAUX
 WRH$ and Non- AWR Objects, ordered by size
 Snapshot info and if any errors.
 Advisor Tasks
AWR Info Report
AWR General Information Report
ASH Info Report
@$ORACLE_HOME/rdbms/admin/ashrpt.sql;
 Report Format: Text or HTML
SQL_ID Specific AWR Report
• More defined reporting
• No need to pull full report
• Detail on waits that are of interest
• Join to non-AWR objects
• Examples and Ideas…
Querying ASH Data Directly
• SAMPLE_ID- This is a unique identifier within an ASH sample.
• SAMPLE_TIME- A unit of time used by Active Session History, (not to be confused with
DB_TIME)
• USER_ID- Identifier for a user that’s executing the session.
• SESSION_ID- Same as the SID or Session ID and can be used to join to SID in other
views/tables.
• SESSION_STATE- What was the state of the session when ASH recorded the sample.
• ON CPU/WAITING- The two session states in Active Session History. ON CPU is active,
vs. Waiting, which is self-explanatory.
• EVENT- Type of event that the session is currently active or waiting on.
• TIME_WAITED- How long the session has been waiting if waiting.
• WAIT_TIME- Confusing- but this is populated by any wait time if the session is currently
active and for the previous waits.
• SQL_ID- The unique identifier for the SQL statement being executed.
• SQL_CHILD_NUMBER-The cursor child number.
V$ACTIVE_SESSION_HISTORY
Select ROUND(RATIO_TO_REPORT(SUM(1)) OVER () * 100 ,2)
PERCENTAGE,ash.session_type SESS_TYPE,
session_state STATUS, decode(nvl(sql_id,'-1'),'-1','nonsql','sql')
SQL_TYPE,
count(distinct to_char(session_id)|| to_char(session_serial#))
SESS_CNT
from v$active_session_history ash
where
sample_time > sysdate - 30/(24*60) and (
( ash.session_state = 'ON CPU’ ) or
( ash.session_type != 'BACKGROUND' ))
group by ash.session_type,
ash.session_state, decode(nvl(sql_id,'-1'),'-1','nonsql','sql')
order by count(*)
/
Session Averages
Session Avg. Output
• Note the % of Background processes
Inspecting What
select * from (select ash.SQL_ID , ash.SQL_PLAN_HASH_VALUE Plan_hash, aud.name
type,
sum(decode(ash.session_state,'ON CPU',1,0)) "CPU",
sum(decode(ash.session_state,'WAITING',1,0)) "WAITING",
sum(decode(ash.session_state,'WAITING', decode(wait_class, 'User
I/O',1,0),0)) "IO WAIT" ,
sum(decode(ash.session_state,'WAITING', decode(wait_class, 'User
I/O',1,0),0)) "IO" ,
sum(decode(ash.session_state,'WAITING', decode(wait_class,
'Concurrency',1,0))) "CONCURRENCY" ,
sum(decode(ash.session_state,'WAITING', decode(wait_class,
'Application',1,0))) "Application" ,
sum(decode(ash.session_state,'ON CPU',1,1)) "TOTAL"
from v$active_session_history ash, audit_actions aud where SQL_ID is not NULL
and ash.sql_opcode=aud.action and ash.sample_time > sysdate - &minutes /(
60*24)
group by sql_id, SQL_PLAN_HASH_VALUE , aud.name
order by sum(decode(session_state,'ON CPU',1,1)) desc
) where rownum < 5;
10 Min. View of Waits by SQL_ID
• Choose Time in Minutes To Review, (10 in our
example)
• SQL_ID and Plan Hash Value Shown
• Waits for CPU, Wait, IO Wait and others.
Quantity of Events Occurred Over
Small Amounts of Time
Col event for a50
select event, count(1)
from v$active_session_history
where sample_time between
to_date('21-FEB-14 01.43.00 PM','dd-MON-yy hh:mi:ss
PM')
and
to_date('21-FEB-15 01.53.00 PM','dd-MON-yy hh:mi:ss
PM')
group by event
order by event;
Results, Where to Focus?
Transaction Wait Detail
select to_char(sample_time,'HH:MI') st,
substr(event,0,20) event,
ash.session_id sid, mod(ash.p1,16) lm, ash.p2,
ash.p3, nvl(o.object_name,ash.current_obj#) objn,
substr(o.object_type,0,10) otype, CURRENT_FILE# fn,
CURRENT_BLOCK# blockn, ash.SQL_ID, BLOCKING_SESSION
bsid
from v$active_session_history ash, all_objects o
where event like 'enq: TX%'
and o.object_id (+)= ash.CURRENT_OBJ#
and sample_time > sysdate - 10/(60*24)
order by sample_time;
Transaction Lock Output
 What TX row locks are occurring!
Knowing What’s in the ASH Buffer
Deters from making assumptions on what data is being
queried.
Know your samples!
Wait Events Across Nodes
Query top
10 SQL_ID’s
in the last
10 minutes?
SQL_ID and CPU Usage
IO Waits by Object from ASH
SQL Text with ASH
SQL for most recent five minutes of sample data from ASH
SQL Results
SQL_ID, SQL Text, Sample Time that Process was captured
in.
Graphing From the CLI, via Kyle Hailey-
Formatting and Setup
accept hours prompt "hours (default 12) : " default 12
select &hours f_hours from dual;
select 3600 f_secs from dual;
select &v_secs f_samples from dual;
select 30 f_graph from dual;
select to_char(to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS'),'DD-MON
HH24:MI:SS') tm,
samples npts,total/&samples aas,
substr(substr(substr(rpad('+',round((cpu*&v_bars)/&samples),'+') ||
rpad('-',round((waits*&v_bars)/&samples),'-') ||
rpad(' ',p.value * &v_bars,' '),0,(p.value * &v_bars)) ||
p.value || substr(rpad('+',round((cpu*&v_bars)/&samples),'+') ||
rpad('-',round((waits*&v_bars)/&samples),'-') ||
rpad(' ',p.value * &v_bars,' '),(p.value * &v_bars),10) ,0,30)
,0,&v_graph)graph,total,cpu, waits from (
URL to Kyle Hailey’s Original, Fully Formatted Query
select to_char(sample_time,'YYMMDD')tday
, trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod ,
sum(decode(session_state,'ON CPU',1,decode(session_type,'BACKGROUND',0,1))) total
, (max(sample_id) - min(sample_id) + 1 ) samples ,
sum(decode(session_state,'ON CPU' ,1,0)) cpu
, sum(decode(session_type,'BACKGROUND',0,decode(session_state,'WAITING',1,0)))
waits
from v$active_session_history where sample_time > sysdate - &v_hours/24
group by trunc(to_char(sample_time,'SSSSS')/&v_secs),
to_char(sample_time,'YYMMDD')
union all
select to_char(sample_time,'YYMMDD')tday,
trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod
, sum(decode(session_state,'ON CPU',10,decode(session_type,'BACKGROUND',0,10)))
total
, (max(sample_id) - min(sample_id) + 1 ) samples, sum(decode(session_state,'ON
CPU' ,10,0)) cpu
, sum(decode(session_type,'BACKGROUND',0,decode(session_state,'WAITING',10,0)))
waits
from dba_hist_active_sess_history where sample_time > sysdate - &v_hours/24 and
sample_time < (select min(sample_time) from v$active_session_history)
group by trunc(to_char(sample_time,'SSSSS')/&v_secs),
to_char(sample_time,'YYMMDD')) ash, v$parameter p
where p.name='cpu_count'
order by to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS'); **Thanks to Kyle Hailey for this great graph via the CLI
Pivot the Wait Events
Digging into History
• DBA_HIST_ACTIVE_SESS_HISTORY
 SNAP_ID
 SAMPLE_ID
 SAMPLE_TIME
 SESSION_ID
 USER_ID
 SQL_ID
 WAIT_CLASS
 SESSION_STATE
 PGA_ALLOCATED
Process Information
SELECT * FROM (
SELECT /*+ PARALLEL */
count(*) AS count,
user_id, program, module, sql_id
FROM SYS.DBA_HIST_ACTIVE_SESS_HISTORY
WHERE sample_time > TO_DATE('19-FEB-2014 03.00.00 PM','dd-MON-yy
hh:mi:ss PM')
AND sample_time < TO_DATE('19-FEB-2014 08.00.00 PM','dd-MON-yy
hh:mi:ss PM')
AND program LIKE 'oracle@%'
GROUP BY user_id, program, module, machine, sql_id
ORDER BY count(*) desc
)
WHERE rownum <= 20
/
Results of Process History
Tyler Muth ASH Mining Query
ASH Mining Output
Additional Options:
• Physical Read Averages
• Physical Writes, (Max/Averages)
• Redo Info
• Login Info
• Hard Parsing, etc.
Best Practice When Querying ASH Data
 Keep it Simple and don’t reinvent the wheel.
 Again- samples are an alias for time, not for counts.
 Understand what is valuable and compare to packaged
reports.
 Be aware on RAC of node specific data.
 Take care when querying Obj#, File# and Block#, (still issues
in different versions…)
 Check the time that is available in buffer, don’t assume!
• One More way to identify performance issues.
• Monitoring view ease for those less familiar with database performance.
SQL Monitor, EM12c Style
SQL Monitor Dashboard
Status of Statement
Wait Events
Degree of
Parallelism
SQL_ID
SQL Text
• Drill down to specific statement within SQL Monitor will display offload efficiency per
statement.
Exadata and Offloading
Full Detail of SQL Execution
View Report
SET LONG 1000000
SET LONGCHUNKSIZE 1000000
SET LINESIZE 1000
SET PAGESIZE 0
SET TRIM ON
SET TRIMSPOOL ON
SET ECHO OFF
SET FEEDBACK OFF
SELECT DBMS_SQLTUNE.report_sql_monitor(
sql_id => '5vh6y3b7tnv8r',
type => 'TEXT',
report_level => 'ALL') AS report
FROM dual;
SQL Monitor Report via the Command Line Interface
Text Output of SQL Monitor
One of the Best & Least Used Features in Enterprise
Manager: Search SQL
Problem Query
4v2tsp8dz0nhn is our SQL_ID
Go to the EM Console, (Example is EM12c)
We Have the SQL_ID, What Next?
 Choose AWR Snapshots, (change Time Period), AWR Baselines and put SQL_ID
Search SQL Interface
 SQL_ID link for SQL Details
 Split up by tabs for Cursor, AWR, Baselines and SQL Tuning Sets
 Plan Hash Value
 Elapsed Time
Click on Search
Snapshot Data
 Using the information provided by Search SQL, locate the correct plan hash value to
create a profile from.
Identify
SQL Details
AWR Report or Run ADDM Report
Baseline Impact?
Third Tab contains Baseline Information and links to verify if implemented.
• Tyler Muth: http://tylermuth.wordpress.com/
• Kyle Hailey, John Beresniewicz, Graham Wood: http://ashmasters.com/
• Mine- “For the Love of ASH and AWR” http://dbakevlar.com/2011/02/for-the-love-of-
awr-and-ash/
• Using AWR Reports: http://dbakevlar.com/2015/01/working-with-awr-reports-from-
em12c/
• How to Use an ASH Report: http://dbakevlar.com/2015/02/how-to-use-an-ash-report-
and-why/
• SQL ID Specific Performance Information: http://dbakevlar.com/2015/05/sql-id-
specific-performance-information/
AWR/ASH Links/Blogs
@DBAKevlar
https://dbakevlar.com http://delphix.com
kellyn@delphix.com
https://linkedin.com/in/kellynpotvin
Connect With Me
Q&A
Thank you!
Ad

More Related Content

What's hot (20)

Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 
AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add up
John Beresniewicz
 
Direct SGA access without SQL
Direct SGA access without SQLDirect SGA access without SQL
Direct SGA access without SQL
Kyle Hailey
 
Ash and awr deep dive hotsos
Ash and awr deep dive hotsosAsh and awr deep dive hotsos
Ash and awr deep dive hotsos
Kellyn Pot'Vin-Gorman
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
Tanel Poder
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
Kyle Hailey
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
Tanel Poder
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
Mauro Pagano
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder
 
Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
Riyaj Shamsudeen
 
Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007
John Beresniewicz
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction locking
Kyle Hailey
 
Ash architecture and advanced usage rmoug2014
Ash architecture and advanced usage rmoug2014Ash architecture and advanced usage rmoug2014
Ash architecture and advanced usage rmoug2014
John Beresniewicz
 
Awr + 12c performance tuning
Awr + 12c performance tuningAwr + 12c performance tuning
Awr + 12c performance tuning
AiougVizagChapter
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Carlos Sierra
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data mining
Yury Velikanov
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Carlos Sierra
 
Performance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and UnderscoresPerformance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 
Using Statspack and AWR for Memory Monitoring and Tuning
Using Statspack and AWR for Memory Monitoring and TuningUsing Statspack and AWR for Memory Monitoring and Tuning
Using Statspack and AWR for Memory Monitoring and Tuning
Texas Memory Systems, and IBM Company
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 
AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add up
John Beresniewicz
 
Direct SGA access without SQL
Direct SGA access without SQLDirect SGA access without SQL
Direct SGA access without SQL
Kyle Hailey
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
Tanel Poder
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
Kyle Hailey
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
Tanel Poder
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
Mauro Pagano
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder
 
Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007
John Beresniewicz
 
OOUG: Oracle transaction locking
OOUG: Oracle transaction lockingOOUG: Oracle transaction locking
OOUG: Oracle transaction locking
Kyle Hailey
 
Ash architecture and advanced usage rmoug2014
Ash architecture and advanced usage rmoug2014Ash architecture and advanced usage rmoug2014
Ash architecture and advanced usage rmoug2014
John Beresniewicz
 
Awr + 12c performance tuning
Awr + 12c performance tuningAwr + 12c performance tuning
Awr + 12c performance tuning
AiougVizagChapter
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Carlos Sierra
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data mining
Yury Velikanov
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Carlos Sierra
 
Performance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and UnderscoresPerformance Stability, Tips and Tricks and Underscores
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 

Viewers also liked (13)

Delphix Patching Epiphany
Delphix Patching EpiphanyDelphix Patching Epiphany
Delphix Patching Epiphany
Kellyn Pot'Vin-Gorman
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
Ulrike Schwinn
 
Snapper
SnapperSnapper
Snapper
Krishnapriya Priya
 
Related Party Transactions by Makarand Lele
Related Party Transactions by Makarand LeleRelated Party Transactions by Makarand Lele
Related Party Transactions by Makarand Lele
Makarand Lele
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder
 
Rpt ppt for training
Rpt ppt for trainingRpt ppt for training
Rpt ppt for training
sindhu T
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Tanel Poder
 
Modern Linux Performance Tools for Application Troubleshooting
Modern Linux Performance Tools for Application TroubleshootingModern Linux Performance Tools for Application Troubleshooting
Modern Linux Performance Tools for Application Troubleshooting
Tanel Poder
 
Oracle SQL Performance Tuning and Optimization v26 chapter 1
Oracle SQL Performance Tuning and Optimization v26 chapter 1Oracle SQL Performance Tuning and Optimization v26 chapter 1
Oracle SQL Performance Tuning and Optimization v26 chapter 1
Kevin Meade
 
Oracle sql tuning
Oracle sql tuningOracle sql tuning
Oracle sql tuning
bishnupriya Panda
 
Agile DBA
Agile DBA Agile DBA
Agile DBA
Kellyn Pot'Vin-Gorman
 
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling ExamplesLow Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
Tanel Poder
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
Ulrike Schwinn
 
Related Party Transactions by Makarand Lele
Related Party Transactions by Makarand LeleRelated Party Transactions by Makarand Lele
Related Party Transactions by Makarand Lele
Makarand Lele
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder
 
Rpt ppt for training
Rpt ppt for trainingRpt ppt for training
Rpt ppt for training
sindhu T
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Tanel Poder
 
Modern Linux Performance Tools for Application Troubleshooting
Modern Linux Performance Tools for Application TroubleshootingModern Linux Performance Tools for Application Troubleshooting
Modern Linux Performance Tools for Application Troubleshooting
Tanel Poder
 
Oracle SQL Performance Tuning and Optimization v26 chapter 1
Oracle SQL Performance Tuning and Optimization v26 chapter 1Oracle SQL Performance Tuning and Optimization v26 chapter 1
Oracle SQL Performance Tuning and Optimization v26 chapter 1
Kevin Meade
 
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling ExamplesLow Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
Tanel Poder
 
Ad

Similar to ASH and AWR on DB12c (20)

Ash and awr performance data2
Ash and awr performance data2Ash and awr performance data2
Ash and awr performance data2
Kellyn Pot'Vin-Gorman
 
ASH and AWR Performance Data by Kellyn Pot'Vin
ASH and AWR Performance Data by Kellyn Pot'VinASH and AWR Performance Data by Kellyn Pot'Vin
ASH and AWR Performance Data by Kellyn Pot'Vin
Enkitec
 
ASH Archit ecture and Advanced Usage.pdf
ASH Archit ecture and Advanced Usage.pdfASH Archit ecture and Advanced Usage.pdf
ASH Archit ecture and Advanced Usage.pdf
tricantino1973
 
Ashawr perf kscope
Ashawr perf kscopeAshawr perf kscope
Ashawr perf kscope
Kellyn Pot'Vin-Gorman
 
200603ash.pdf Performance Tuning Oracle DB
200603ash.pdf Performance Tuning Oracle DB200603ash.pdf Performance Tuning Oracle DB
200603ash.pdf Performance Tuning Oracle DB
cookie1969
 
AWR and ASH Advanced Usage with DB12c
AWR and ASH Advanced Usage with DB12cAWR and ASH Advanced Usage with DB12c
AWR and ASH Advanced Usage with DB12c
Kellyn Pot'Vin-Gorman
 
Sherlock holmes for dba’s
Sherlock holmes for dba’sSherlock holmes for dba’s
Sherlock holmes for dba’s
Kellyn Pot'Vin-Gorman
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
Alfredo Krieg
 
AWR and ASH in an EM12c World
AWR and ASH in an EM12c WorldAWR and ASH in an EM12c World
AWR and ASH in an EM12c World
Kellyn Pot'Vin-Gorman
 
What are you waiting for? (#SQLSat211)
What are you waiting for? (#SQLSat211)What are you waiting for? (#SQLSat211)
What are you waiting for? (#SQLSat211)
Jason Strate
 
Awr1page OTW2018
Awr1page OTW2018Awr1page OTW2018
Awr1page OTW2018
John Beresniewicz
 
Oracle Performance Tuning DE(v1.2)-part2.ppt
Oracle Performance Tuning DE(v1.2)-part2.pptOracle Performance Tuning DE(v1.2)-part2.ppt
Oracle Performance Tuning DE(v1.2)-part2.ppt
VenugopalChattu1
 
Kellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and AshKellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and Ash
gaougorg
 
Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016
Antonios Chatzipavlis
 
How_to_read_and_use_Oracle_AWR_report.pptx
How_to_read_and_use_Oracle_AWR_report.pptxHow_to_read_and_use_Oracle_AWR_report.pptx
How_to_read_and_use_Oracle_AWR_report.pptx
sathishs2492894
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
Jugal Shah
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reports
John Beresniewicz
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
Marco Tusa
 
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And WhatPerformance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
udaymoogala
 
AWR, ASH with EM13 at HotSos 2016
AWR, ASH with EM13 at HotSos 2016AWR, ASH with EM13 at HotSos 2016
AWR, ASH with EM13 at HotSos 2016
Kellyn Pot'Vin-Gorman
 
ASH and AWR Performance Data by Kellyn Pot'Vin
ASH and AWR Performance Data by Kellyn Pot'VinASH and AWR Performance Data by Kellyn Pot'Vin
ASH and AWR Performance Data by Kellyn Pot'Vin
Enkitec
 
ASH Archit ecture and Advanced Usage.pdf
ASH Archit ecture and Advanced Usage.pdfASH Archit ecture and Advanced Usage.pdf
ASH Archit ecture and Advanced Usage.pdf
tricantino1973
 
200603ash.pdf Performance Tuning Oracle DB
200603ash.pdf Performance Tuning Oracle DB200603ash.pdf Performance Tuning Oracle DB
200603ash.pdf Performance Tuning Oracle DB
cookie1969
 
AWR and ASH Advanced Usage with DB12c
AWR and ASH Advanced Usage with DB12cAWR and ASH Advanced Usage with DB12c
AWR and ASH Advanced Usage with DB12c
Kellyn Pot'Vin-Gorman
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
Alfredo Krieg
 
What are you waiting for? (#SQLSat211)
What are you waiting for? (#SQLSat211)What are you waiting for? (#SQLSat211)
What are you waiting for? (#SQLSat211)
Jason Strate
 
Oracle Performance Tuning DE(v1.2)-part2.ppt
Oracle Performance Tuning DE(v1.2)-part2.pptOracle Performance Tuning DE(v1.2)-part2.ppt
Oracle Performance Tuning DE(v1.2)-part2.ppt
VenugopalChattu1
 
Kellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and AshKellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and Ash
gaougorg
 
Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016
Antonios Chatzipavlis
 
How_to_read_and_use_Oracle_AWR_report.pptx
How_to_read_and_use_Oracle_AWR_report.pptxHow_to_read_and_use_Oracle_AWR_report.pptx
How_to_read_and_use_Oracle_AWR_report.pptx
sathishs2492894
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
Jugal Shah
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reports
John Beresniewicz
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
Marco Tusa
 
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And WhatPerformance Tuning With Oracle ASH and AWR. Part 1 How And What
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
udaymoogala
 
Ad

More from Kellyn Pot'Vin-Gorman (20)

2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
2024_sqlsat_Oregon_kgorman_aicantdothedishespptx2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
Kellyn Pot'Vin-Gorman
 
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptxThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
Kellyn Pot'Vin-Gorman
 
Leveraging Instant Extracts with Azure Fabric
Leveraging Instant Extracts with Azure FabricLeveraging Instant Extracts with Azure Fabric
Leveraging Instant Extracts with Azure Fabric
Kellyn Pot'Vin-Gorman
 
Making the Second D in ADHD Stand for Dynamic in Tech
Making the Second D in ADHD Stand for Dynamic in TechMaking the Second D in ADHD Stand for Dynamic in Tech
Making the Second D in ADHD Stand for Dynamic in Tech
Kellyn Pot'Vin-Gorman
 
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptxSilk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Kellyn Pot'Vin-Gorman
 
Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptx
Kellyn Pot'Vin-Gorman
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
Kellyn Pot'Vin-Gorman
 
Boston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptxBoston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptx
Kellyn Pot'Vin-Gorman
 
Oracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 UpdateOracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 Update
Kellyn Pot'Vin-Gorman
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
Kellyn Pot'Vin-Gorman
 
Being Successful with ADHD
Being Successful with ADHDBeing Successful with ADHD
Being Successful with ADHD
Kellyn Pot'Vin-Gorman
 
Azure DBA with IaaS
Azure DBA with IaaSAzure DBA with IaaS
Azure DBA with IaaS
Kellyn Pot'Vin-Gorman
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"
Kellyn Pot'Vin-Gorman
 
PASS Summit 2020
PASS Summit 2020PASS Summit 2020
PASS Summit 2020
Kellyn Pot'Vin-Gorman
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
Kellyn Pot'Vin-Gorman
 
Azure Databases with IaaS
Azure Databases with IaaSAzure Databases with IaaS
Azure Databases with IaaS
Kellyn Pot'Vin-Gorman
 
How to Win When Migrating to Azure
How to Win When Migrating to AzureHow to Win When Migrating to Azure
How to Win When Migrating to Azure
Kellyn Pot'Vin-Gorman
 
Securing Power BI Data
Securing Power BI DataSecuring Power BI Data
Securing Power BI Data
Kellyn Pot'Vin-Gorman
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
Kellyn Pot'Vin-Gorman
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
Kellyn Pot'Vin-Gorman
 
2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
2024_sqlsat_Oregon_kgorman_aicantdothedishespptx2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
2024_sqlsat_Oregon_kgorman_aicantdothedishespptx
Kellyn Pot'Vin-Gorman
 
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptxThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
ThePowerofWordsMisguidedDescriptionsUndermineWomen.pptx
Kellyn Pot'Vin-Gorman
 
Leveraging Instant Extracts with Azure Fabric
Leveraging Instant Extracts with Azure FabricLeveraging Instant Extracts with Azure Fabric
Leveraging Instant Extracts with Azure Fabric
Kellyn Pot'Vin-Gorman
 
Making the Second D in ADHD Stand for Dynamic in Tech
Making the Second D in ADHD Stand for Dynamic in TechMaking the Second D in ADHD Stand for Dynamic in Tech
Making the Second D in ADHD Stand for Dynamic in Tech
Kellyn Pot'Vin-Gorman
 
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptxSilk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Silk_SQLSaturdayBatonRouge_kgorman_2024.pptx
Kellyn Pot'Vin-Gorman
 
Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptx
Kellyn Pot'Vin-Gorman
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
Kellyn Pot'Vin-Gorman
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"
Kellyn Pot'Vin-Gorman
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
Kellyn Pot'Vin-Gorman
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
Kellyn Pot'Vin-Gorman
 

Recently uploaded (20)

Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 

ASH and AWR on DB12c

  • 1. © 2015 Delphix. All Rights Reserved. Private & Confidential. Performance Data in Database 12c Knowledge is Power AWR and ASH with EM13c Kellyn Pot’Vin-Gorman, Technical Intelligence Manager October 2016
  • 3. • Optimization- Tune for Time or You’re Wasting Time. • Know your goal(s) • Set a stopping point, avoid OTD, (Obsessive Tuning Disorder) • Do NOT assume. Always do the research and have data behind findings. Stay on the Path…
  • 4. • ASH= Active Session History • AWR= Automatic Workload Repository • Introduced in Oracle 10g • Evolution to statspack, requests for performance reporting improvements. • “Always on” approach to performance metrics with requirement of non- locking collection process. • Requires Management Diagnostic Pack License from Oracle. Brief History
  • 5. The Location in EM12c For Some of Today’s Presentation…
  • 6.  Always on with default intervals of 1hr snapshots and 8 days retention.  Should have at least 60 days of retained data.  Desire more? Have an AWR Warehouse.  Interval increase? Use this during workload testing, otherwise, take a manual snapshot: EXEC DBMS_WORKLOAD_REPOSITORY.create_snapshot; Automatic Workload Repository, (AWR) Reports
  • 7. Buffer writes one direction, we read the other!
  • 8. • To inspect a database level issues, for both a small window of time to extended window. • Extensive information in report, knowing HOW to parse through the report to achieve goal is important. • Via EM12c, the report is offered in HTML format and will be environment aware, (single instance, RAC, Exadata.) • Different reports available from the command line when running from the $ORACLE_HOME/rdbms/admin directory and can be generated in HTML or TXT format. AWR Reports Are Best Used For..
  • 9. Wasting Time….  Rarely is there value in this section. As long is everything contains high percentages, move on.
  • 10. AWR- Top 10 Foreground •CPU is expected and should be the majority of time. •CPU processing can be extensive though, (still needs to be investigated) •Anything under 10% commonly is disregarded. •Understand what each wait event definition is
  • 11. Top SQL Focus on Elapsed Time, but… Displays Top SQL by: CPU IO Gets Reads, etc…
  • 12. Full SQL Statements Linked from Top SQL Lists in HTML report via SQL_ID links. Quick reference when needed.
  • 14. Why PGA is Important What is an optimal vs. 1 or (M)ulti-pass executions?
  • 15. Why Can’t I Achieve 100%?? You shall not pass! (optimal, so 90%, that is… )
  • 16. Percentages and Amounts of Reads are Important Top two objects correspond to SQL statements in the top IO and most likely top SQL by elapsed time.
  • 17. What is a Direct Physical Read? •Inefficient SQL and objects that have high quantity of row changes involved. •Adds significant pressure in RAC environment, too!
  • 18. Un-optimized vs. Optimized? Percentages are low per object, (under 10%, which is a good sign for any database!) This is an exadata, so it means they are either not in the buffer cache or the smart flash cache, which means un-optimized”. This is “somewhat” expected and don’t panic unless you see high percentages.
  • 19. Initial Transaction Locks 10% rule applies here, too! ALTER TABLE <name> initrans <xx>;
  • 20. RAC Interconnect Exchange •Data from V$SYSMETRIC_HISTORY •High Exchange rate can signal and issue.
  • 23. • Excellent for identifying specific issues in database. • Identifies not just the top SQL, but code. • Shows top wait events by sample time. • Don’t confuse samples with AWR snapshots. • Should not be used to track # of executions. ASH Reports
  • 24. Buffer writes one direction, We read the other!
  • 25. Running ASH Report from Cloud Control • ASH is by time, not snapshot. • Set start date and time. • End date and time • Generate report
  • 28. Top SQL, Top Sessions
  • 30. Top Parallel, Top DB Files
  • 31. ASH Report- Use Case @$ORACLE_HOME/rdbms/admin/ashrpt.sql;  Report Format: Text  Performance Issue during day, need to know what’s going on!  Run ASH Report from the command line with SQL*Plus:
  • 33. Finally! Select * from table(dbms_xplan.display_awr(‘43mp3mjufgnkg’));
  • 34. AWR and ASH from the Command Line Interface All DBAs should know how to do this!
  • 35. $ORACLE_HOME/rdbms/admin/awrrpt.sql; $ORACLE_HOME/rdbms/admin/ashrpt.sql; $ORACLE_HOME/rdbms/admin/awrsqrpt.sql; Less Known AWR Reports: awrinfo.sql General AWR Info awrddrpt.sql Comparison report between snapshots awrblmig.sql Migrates pre-11g baseline data into 11g Baseline tables. awrgrpt.sql RAC Aware AWR Report. Running Reports, Command Line
  • 36.  Snapshot Interval Information  Basic Info on Instances and Nodes  No User or Application Schema info.  Space Usage by SYSAUX  WRH$ and Non- AWR Objects, ordered by size  Snapshot info and if any errors.  Advisor Tasks AWR Info Report
  • 40. • More defined reporting • No need to pull full report • Detail on waits that are of interest • Join to non-AWR objects • Examples and Ideas… Querying ASH Data Directly
  • 41. • SAMPLE_ID- This is a unique identifier within an ASH sample. • SAMPLE_TIME- A unit of time used by Active Session History, (not to be confused with DB_TIME) • USER_ID- Identifier for a user that’s executing the session. • SESSION_ID- Same as the SID or Session ID and can be used to join to SID in other views/tables. • SESSION_STATE- What was the state of the session when ASH recorded the sample. • ON CPU/WAITING- The two session states in Active Session History. ON CPU is active, vs. Waiting, which is self-explanatory. • EVENT- Type of event that the session is currently active or waiting on. • TIME_WAITED- How long the session has been waiting if waiting. • WAIT_TIME- Confusing- but this is populated by any wait time if the session is currently active and for the previous waits. • SQL_ID- The unique identifier for the SQL statement being executed. • SQL_CHILD_NUMBER-The cursor child number. V$ACTIVE_SESSION_HISTORY
  • 42. Select ROUND(RATIO_TO_REPORT(SUM(1)) OVER () * 100 ,2) PERCENTAGE,ash.session_type SESS_TYPE, session_state STATUS, decode(nvl(sql_id,'-1'),'-1','nonsql','sql') SQL_TYPE, count(distinct to_char(session_id)|| to_char(session_serial#)) SESS_CNT from v$active_session_history ash where sample_time > sysdate - 30/(24*60) and ( ( ash.session_state = 'ON CPU’ ) or ( ash.session_type != 'BACKGROUND' )) group by ash.session_type, ash.session_state, decode(nvl(sql_id,'-1'),'-1','nonsql','sql') order by count(*) / Session Averages
  • 43. Session Avg. Output • Note the % of Background processes
  • 44. Inspecting What select * from (select ash.SQL_ID , ash.SQL_PLAN_HASH_VALUE Plan_hash, aud.name type, sum(decode(ash.session_state,'ON CPU',1,0)) "CPU", sum(decode(ash.session_state,'WAITING',1,0)) "WAITING", sum(decode(ash.session_state,'WAITING', decode(wait_class, 'User I/O',1,0),0)) "IO WAIT" , sum(decode(ash.session_state,'WAITING', decode(wait_class, 'User I/O',1,0),0)) "IO" , sum(decode(ash.session_state,'WAITING', decode(wait_class, 'Concurrency',1,0))) "CONCURRENCY" , sum(decode(ash.session_state,'WAITING', decode(wait_class, 'Application',1,0))) "Application" , sum(decode(ash.session_state,'ON CPU',1,1)) "TOTAL" from v$active_session_history ash, audit_actions aud where SQL_ID is not NULL and ash.sql_opcode=aud.action and ash.sample_time > sysdate - &minutes /( 60*24) group by sql_id, SQL_PLAN_HASH_VALUE , aud.name order by sum(decode(session_state,'ON CPU',1,1)) desc ) where rownum < 5;
  • 45. 10 Min. View of Waits by SQL_ID • Choose Time in Minutes To Review, (10 in our example) • SQL_ID and Plan Hash Value Shown • Waits for CPU, Wait, IO Wait and others.
  • 46. Quantity of Events Occurred Over Small Amounts of Time Col event for a50 select event, count(1) from v$active_session_history where sample_time between to_date('21-FEB-14 01.43.00 PM','dd-MON-yy hh:mi:ss PM') and to_date('21-FEB-15 01.53.00 PM','dd-MON-yy hh:mi:ss PM') group by event order by event;
  • 48. Transaction Wait Detail select to_char(sample_time,'HH:MI') st, substr(event,0,20) event, ash.session_id sid, mod(ash.p1,16) lm, ash.p2, ash.p3, nvl(o.object_name,ash.current_obj#) objn, substr(o.object_type,0,10) otype, CURRENT_FILE# fn, CURRENT_BLOCK# blockn, ash.SQL_ID, BLOCKING_SESSION bsid from v$active_session_history ash, all_objects o where event like 'enq: TX%' and o.object_id (+)= ash.CURRENT_OBJ# and sample_time > sysdate - 10/(60*24) order by sample_time;
  • 49. Transaction Lock Output  What TX row locks are occurring!
  • 50. Knowing What’s in the ASH Buffer Deters from making assumptions on what data is being queried. Know your samples!
  • 52. Query top 10 SQL_ID’s in the last 10 minutes?
  • 53. SQL_ID and CPU Usage
  • 54. IO Waits by Object from ASH
  • 55. SQL Text with ASH SQL for most recent five minutes of sample data from ASH
  • 56. SQL Results SQL_ID, SQL Text, Sample Time that Process was captured in.
  • 57. Graphing From the CLI, via Kyle Hailey-
  • 58. Formatting and Setup accept hours prompt "hours (default 12) : " default 12 select &hours f_hours from dual; select 3600 f_secs from dual; select &v_secs f_samples from dual; select 30 f_graph from dual; select to_char(to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS'),'DD-MON HH24:MI:SS') tm, samples npts,total/&samples aas, substr(substr(substr(rpad('+',round((cpu*&v_bars)/&samples),'+') || rpad('-',round((waits*&v_bars)/&samples),'-') || rpad(' ',p.value * &v_bars,' '),0,(p.value * &v_bars)) || p.value || substr(rpad('+',round((cpu*&v_bars)/&samples),'+') || rpad('-',round((waits*&v_bars)/&samples),'-') || rpad(' ',p.value * &v_bars,' '),(p.value * &v_bars),10) ,0,30) ,0,&v_graph)graph,total,cpu, waits from ( URL to Kyle Hailey’s Original, Fully Formatted Query
  • 59. select to_char(sample_time,'YYMMDD')tday , trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod , sum(decode(session_state,'ON CPU',1,decode(session_type,'BACKGROUND',0,1))) total , (max(sample_id) - min(sample_id) + 1 ) samples , sum(decode(session_state,'ON CPU' ,1,0)) cpu , sum(decode(session_type,'BACKGROUND',0,decode(session_state,'WAITING',1,0))) waits from v$active_session_history where sample_time > sysdate - &v_hours/24 group by trunc(to_char(sample_time,'SSSSS')/&v_secs), to_char(sample_time,'YYMMDD') union all select to_char(sample_time,'YYMMDD')tday, trunc(to_char(sample_time,'SSSSS')/&v_secs) tmod , sum(decode(session_state,'ON CPU',10,decode(session_type,'BACKGROUND',0,10))) total , (max(sample_id) - min(sample_id) + 1 ) samples, sum(decode(session_state,'ON CPU' ,10,0)) cpu , sum(decode(session_type,'BACKGROUND',0,decode(session_state,'WAITING',10,0))) waits from dba_hist_active_sess_history where sample_time > sysdate - &v_hours/24 and sample_time < (select min(sample_time) from v$active_session_history) group by trunc(to_char(sample_time,'SSSSS')/&v_secs), to_char(sample_time,'YYMMDD')) ash, v$parameter p where p.name='cpu_count' order by to_date(tday||' '||tmod*&v_secs,'YYMMDD SSSSS'); **Thanks to Kyle Hailey for this great graph via the CLI
  • 60. Pivot the Wait Events
  • 61. Digging into History • DBA_HIST_ACTIVE_SESS_HISTORY  SNAP_ID  SAMPLE_ID  SAMPLE_TIME  SESSION_ID  USER_ID  SQL_ID  WAIT_CLASS  SESSION_STATE  PGA_ALLOCATED
  • 62. Process Information SELECT * FROM ( SELECT /*+ PARALLEL */ count(*) AS count, user_id, program, module, sql_id FROM SYS.DBA_HIST_ACTIVE_SESS_HISTORY WHERE sample_time > TO_DATE('19-FEB-2014 03.00.00 PM','dd-MON-yy hh:mi:ss PM') AND sample_time < TO_DATE('19-FEB-2014 08.00.00 PM','dd-MON-yy hh:mi:ss PM') AND program LIKE 'oracle@%' GROUP BY user_id, program, module, machine, sql_id ORDER BY count(*) desc ) WHERE rownum <= 20 /
  • 64. Tyler Muth ASH Mining Query
  • 65. ASH Mining Output Additional Options: • Physical Read Averages • Physical Writes, (Max/Averages) • Redo Info • Login Info • Hard Parsing, etc.
  • 66. Best Practice When Querying ASH Data  Keep it Simple and don’t reinvent the wheel.  Again- samples are an alias for time, not for counts.  Understand what is valuable and compare to packaged reports.  Be aware on RAC of node specific data.  Take care when querying Obj#, File# and Block#, (still issues in different versions…)  Check the time that is available in buffer, don’t assume!
  • 67. • One More way to identify performance issues. • Monitoring view ease for those less familiar with database performance. SQL Monitor, EM12c Style
  • 68. SQL Monitor Dashboard Status of Statement Wait Events Degree of Parallelism SQL_ID SQL Text
  • 69. • Drill down to specific statement within SQL Monitor will display offload efficiency per statement. Exadata and Offloading
  • 70. Full Detail of SQL Execution
  • 72. SET LONG 1000000 SET LONGCHUNKSIZE 1000000 SET LINESIZE 1000 SET PAGESIZE 0 SET TRIM ON SET TRIMSPOOL ON SET ECHO OFF SET FEEDBACK OFF SELECT DBMS_SQLTUNE.report_sql_monitor( sql_id => '5vh6y3b7tnv8r', type => 'TEXT', report_level => 'ALL') AS report FROM dual; SQL Monitor Report via the Command Line Interface
  • 73. Text Output of SQL Monitor
  • 74. One of the Best & Least Used Features in Enterprise Manager: Search SQL Problem Query
  • 75. 4v2tsp8dz0nhn is our SQL_ID Go to the EM Console, (Example is EM12c) We Have the SQL_ID, What Next?
  • 76.  Choose AWR Snapshots, (change Time Period), AWR Baselines and put SQL_ID Search SQL Interface
  • 77.  SQL_ID link for SQL Details  Split up by tabs for Cursor, AWR, Baselines and SQL Tuning Sets  Plan Hash Value  Elapsed Time Click on Search
  • 79.  Using the information provided by Search SQL, locate the correct plan hash value to create a profile from. Identify
  • 81. AWR Report or Run ADDM Report
  • 82. Baseline Impact? Third Tab contains Baseline Information and links to verify if implemented.
  • 83. • Tyler Muth: http://tylermuth.wordpress.com/ • Kyle Hailey, John Beresniewicz, Graham Wood: http://ashmasters.com/ • Mine- “For the Love of ASH and AWR” http://dbakevlar.com/2011/02/for-the-love-of- awr-and-ash/ • Using AWR Reports: http://dbakevlar.com/2015/01/working-with-awr-reports-from- em12c/ • How to Use an ASH Report: http://dbakevlar.com/2015/02/how-to-use-an-ash-report- and-why/ • SQL ID Specific Performance Information: http://dbakevlar.com/2015/05/sql-id- specific-performance-information/ AWR/ASH Links/Blogs