SlideShare a Scribd company logo
1 of 58
hitchhikers guide to free
Oracle tuning tools
a quick guide
Björn Rost
© 2015 Pythian Confidential2
• Consultant
– Oracle Database HA, Tuning, etc
– Linux&Solaris automation
• Oracle ACE Director
• (ex) president RAC SIG
• organizer OTN EMEA tour
© 2016 Pythian3
ABOUT ME
ABOUT PYTHIAN
Pythian’s 400+ IT professionals
help companies adopt
and manage disruptive
technologies to better compete
© 2016 Pythian. Confidential 4
© 2016 Pythian. Confidential 5
Systems currently
managed by Pythian
EXPERIENCED
Pythian experts
in 35 countries
GLOBAL
Millennia of experience
gathered and shared over
19 years
EXPERTS
11,800 2400
© 2016 Pythian. Confidential 6
TECHNICAL EXPERTISE
CLOUD
ADVANCED
ANALYTICS
DATABASES
BIG DATA
DEVOPS
Using the disruptive nature
of cloud for accelerated,
cost-effective growth
INFRASTRUCTURE
MANAGEMENT
Mining data for insights &
business transformation
using data science
Ensuring databases are
reliable, secure, available
and continuously optimized
Harnessing the
transformative power of
data on a massive scale
Providing critical velocity in
software deployment by
adopting DevOps practices
Transforming and managing
the IT infrastructure that
supports the business
WHY ORACLE?
7
• basic operations same
between DBs
• instrumentation makes the
difference
• allows to deeply investigate
and explain issues
© 2016 Pythian
(WRONG) TUNING CYCLE
© 2016 Pythian8
guess
change
hope
DON’T BE A STORMTROOPER DBA
© 2016 Pythian9
TUNING CYCLE
© 2016 Pythian10
understand
change
measure
TUNING IS SIMPLE, REALLY
11 © 2016 Pythian
LAST WEEK’S EXAMPLE
• increasing gap in standby db
– change max_archive_processes parameter
– change some other parameters
– try rman recovery vs MRP
– increase parallelism
– reduce parallelism
– try more silver bullets…
– have SRE look into IO issues
– have SRE look at CPU issues
12 © 2016 Pythian
guess
change
hope
LAST WEEK’S EXAMPLE
• select event from v$session
where program like '%MRP%’
– PX deq credit: send blkd
– PX deq credit: need buffer
• search for that on MOS
– 10.2 Parallel Standby Recovery Process Is Very Slow (Doc ID 420337.1)
• PARALLEL_EXECUTION_MESSAGE_SIZE=16k
13 © 2016 Pythian
understand
change
measure
TYPES
14
report real-time historic drill-down
© 2016 Pythian
ENTERPRISE MANAGER
• incredibly useful and thought through
• from vendor, perfectly integrated
• many common views and methods
– coloured AAS view
– Top-SQL view
– Real-Time SQL monitor
– blocking session tree
– AWR Reports
– ADDM and other advisors
16 © 2016 Pythian
ENTERPRISE MANAGER
© 2015 Pythian Confidential17
SO WHY USE CLI TOOLS?
• not licensed for Diag&Tuning
– Standard Edition
– EE without Diag&Tuning (a cardinal sin)
• very low throughput or no GUI access
• EM not setup/installed
– 12c EM express can get the job done
• you simply want to look like a nerd
18 © 2016 Pythian
WHY OPEN SOURCE
• see and learn
– you can actually look at the code you are running
• collaborate and contribute
– want a new feature? implement yourself!
• free(*) means
– no costs (duh)
– get up and running really fast
– don’t worry about audits
19 © 2016 Pythian
© 2015 Pythian Confidential20
RLSQLPLUS
• sqlplus on steroids
• edit sqlplus CLI
• history
– up/down arrow
– search with CTRL-r
• auto-completion
– against custom wordlist
21 © 2016 Pythian
RLSQLPLUS INSTALLATION STEP1
22
[root@kickpuppet ~]# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/rlwrap-0.42-1.el6.x86_64.rpm
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
rlwrap x86_64 0.41-1.el6 epel 92 k
Transaction Summary
================================================================================
Install 1 Package(s)
Installing : rlwrap-0.41-1.el6.x86_64 1/1
Verifying : rlwrap-0.41-1.el6.x86_64 1/1
Installed:
rlwrap.x86_64 0:0.41-1.el6
Complete!
© 2016 Pythian
RLSQLPLUS INSTALLATION STEP2
• optional: download or generate wordfile
– for autocompletion
23
$ curl -o wordfile.txt
http://blog.tanelpoder.com/files/scripts/setup/wordfile_11gR2.txt
http://blog.tanelpoder.com/files/scripts/setup/
© 2016 Pythian
RLSQLPLUS INSTALLATION STEP 3
• create aliases around sqlplus
– and rman
– and dgmgrl
• avoid overriding the original name
24
alias rlsqlplus='rlwrap -D2 -irc -b'''"@(){}[],+=&^%#;|''' -f ~/wordfile.txt
sqlplus'
alias rlrman='rlwrap -D2 -irc -b'''"@(){}[],+=&^%#;|''' rman'
© 2016 Pythian
SQLCL
• sqlplus “replacement” from SQLdeveloper team
– history and editor
– auto-completion
– auto-formatting
• ansiconsole for col widths
• json, xml, csv etc
– tons of good stuff
25 © 2016 Pythian
© 2015 Pythian Confidential26
AAS VIEW
• my favourite real-time DB dashboard
• one-glance DB activity overview
• colour-coded
– red -> blocking, app, concurrency
– blue -> IO, missing indexes, etc
– green -> CPU, executing too much?
– other -> weird, take a look
27 © 2016 Pythian
AAS VIEW
28 © 2016 Pythian
WEB-ASH
29
• simple and free
• reads v$session by default
• stores data in plain files
• lean javascript to display
http://datavirtualizer.com/web-ash-w-ash/
© 2016 Pythian
MOATS
• top-like output that refreshes
• excellent overview
• needs small installation on database
• samples v$-views while running
• improved forks
– MOATS 2.0
– SQL Dashboard
30 © 2016 Pythian
MOATS OUTPUT
31
MOATS: The Mother Of All Tuning Scripts v1.0 by Adrian Billington & Tanel Poder
http://www.oracle-developer.net & http://www.e2sn.com
+ INSTANCE SUMMARY ------------------------------------------------------------------------------------------+
| Instance: KICKPUPPET | Execs/s: 581.6 | sParse/s: 60.0 | LIOs/s: 4989.5 | Read MB/s: 0.7 |
| Cur Time: 19-Nov 21:11:09 | Calls/s: 164.2 | hParse/s: 0.0 | PhyRD/s: 86.7 | Write MB/s: 1.6 |
| History: 0h 9m 45s | Commits/s: 50.3 | ccHits/s: 578.8 | PhyWR/s: 112.7 | Redo MB/s: 0.2 |
+------------------------------------------------------------------------------------------------------------+
+ TOP SQL_ID (child#) -----+ TOP SESSIONS ---------+ + TOP WAITS -------------------------+ WAIT CLASS -+
| 29% | 7t0959msvyt5g (0) | 78,65 | | 29% | db file sequential read | User I/O |
| 14% | () | | | 29% | ON CPU | ON CPU |
| 14% | 147a57cxq3w5y (0) | 70 | | 14% | oracle thread bootstrap | Other |
| 14% | gh2g2tynpcpv1 (0) | 65 | | 14% | resmgr:cpu quantum | Scheduler |
| 14% | 4phvdvx32a3mf (0) | 73 | | 14% | db file parallel read | User I/O |
+--------------------------------------------------+ +--------------------------------------------------+
+ TOP SQL_ID ----+ PLAN_HASH_VALUE + SQL TEXT ---------------------------------------------------------------+
| 7t0959msvyt5g | 856749079 | SELECT ORDER_ID, ORDER_DATE, ORDER_MODE, CUSTOMER_ID, ORDER_STATUS, ORD |
| | | ER_TOTAL, SALES_REP_ID, PROMOTION_ID, WAREHOUSE_ID, DELIVERY_TYPE, COST |
+ ---------------------------------------------------------------------------------------------------------- +
| 147a57cxq3w5y | 0 | BEGIN :1 := orderentry.browseproducts(:2 ,:3 ,:4 ); END; |
+ ---------------------------------------------------------------------------------------------------------- +
| gh2g2tynpcpv1 | 0 | INSERT INTO CUSTOMERS ( CUSTOMER_ID , CUST_FIRST_NAME , CUST_LAST_NAME |
| | | , NLS_LANGUAGE , NLS_TERRITORY , CREDIT_LIMIT , CUST_EMAIL , ACCOUNT_MG |
+ ---------------------------------------------------------------------------------------------------------- +
| 4phvdvx32a3mf | 0 | begin prvt_ilm.stopjobs(-1,true,true,:1); end; |
+ ---------------------------------------------------------------------------------------------------------- +
© 2016 Pythian
MOATS 2.0 OUTPUT
32 © 2016 Pythian
SNAPPER
• realtime session monitor and drill-downs
• just one sqlscript to run
– no installation needed
• runs for sample period
– “snaps” v$session etc
– reports on diffs
• two modes
– “ash” for v$session
– stats for v$sesstat
33
http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper
© 2016 Pythian
SNAPPER ARGUMENTS
• snapper ash 5 1 all
– mode can be ash, stat or custom column list
– seconds to run/sample
– number of runs
– “all” or filter on v$session columns
• sid=42
• username=brost
34 © 2016 Pythian
SNAPPER DEFAULT MODE
35
SQL> @snapper ash 5 1 all
Sampling SID all with interval 5 seconds, taking 1 snapshots...
-- Session Snapper v4.15 - by Tanel Poder ( http://blog.tanelpoder.com )
-- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! :)
----------------------------------------------------------------------------------------------------
Active% | INST | SQL_ID | SQL_CHILD | EVENT | WAIT_CLASS
----------------------------------------------------------------------------------------------------
10% | 1 | | 0 | db file async I/O submit | System I/O
10% | 1 | | | log file sync | Commit
7% | 1 | 5ckxyqfvu60pj | 0 | db file sequential read | User I/O
7% | 1 | | 0 | log file parallel write | System I/O
5% | 1 | | | ON CPU | ON CPU
5% | 1 | 3fw75k1snsddx | 0 | db file sequential read | User I/O
5% | 1 | | 0 | ON CPU | ON CPU
5% | 1 | c13sma6rkr27c | 0 | db file parallel read | User I/O
5% | 1 | gzhkw1qu6fwxm | 0 | ON CPU | ON CPU
5% | 1 | 0w2qpuc6u2zsp | 0 | ON CPU | ON CPU
-- End of ASH snap 1, end=2016-04-24 15:24:37, seconds=5, samples_taken=42
© 2016 Pythian
AAS IN SNAPPER
36
SQL> @snapper ash=wait_class 5 1 all
Sampling SID all with interval 5 seconds, taking 1 snapshots...
-- Session Snapper v4.11 - by Tanel Poder ( http://blog.tanelpoder.com )
-- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! 
-------------------------
Active% | WAIT_CLASS
-------------------------
44% | System I/O
19% | Commit
7% | Scheduler
7% | ON CPU
5% | User I/O
-- End of ASH snap 1, end=2014-11-19 16:23:06, seconds=5, samples_taken=43
© 2016 Pythian
SNAPPER STATS MODE
37
SQL> @snapper stats,gather=tw 15 1 sid=70
Sampling SID sid=70 with interval 15 seconds, taking 1 snapshots...
-- Session Snapper v4.11 BETA - by Tanel Poder ( http://blog.tanelpoder.com ) - Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet!
:)
---------------------------------------------------------------------------------------------------------------------------------------------------
SID, USERNAME , TYPE, STATISTIC , DELTA, HDELTA/SEC, %TIME, GRAPH , NUM_WAITS, WAITS/SEC, AVERAGES
---------------------------------------------------------------------------------------------------------------------------------------------------
70, SOE , TIME, repeated bind elapsed time , 300, 19.8us, .0%, [ ], , ,
70, SOE , TIME, parse time elapsed , 9272, 611.99us, .1%, [ ], , ,
70, SOE , TIME, PL/SQL execution elapsed time, 230999, 15.25ms, 1.5%, [# ], , ,
70, SOE , TIME, DB CPU , 569000, 37.56ms, 3.8%, [@ ], , ,
70, SOE , TIME, sql execute elapsed time , 1730975, 114.25ms, 11.4%, [## ], , ,
70, SOE , TIME, DB time , 2038543, 134.55ms, 13.5%, [## ], , , .88 % unaccounted
70, SOE , WAIT, log file sync , 235408, 15.54ms, 1.6%, [W ], 183, 12.08, 1.29ms average
70, SOE , WAIT, db file sequential read , 1123224, 74.14ms, 7.4%, [W ], 397, 26.2, 2.83ms average
70, SOE , WAIT, db file parallel read , 52763, 3.48ms, .3%, [ ], 3, .2, 17.59ms average
70, SOE , WAIT, latch: In memory undo latch , 499, 32.94us, .0%, [ ], 1, .07, 499us average
70, SOE , WAIT, resmgr:cpu quantum , 51794, 3.42ms, .3%, [ ], 3, .2, 17.26ms average
70, SOE , WAIT, SQL*Net message to client , 1458, 96.23us, .0%, [ ], 393, 25.94, 3.71us average
70, SOE , WAIT, SQL*Net message from client , 60177, 3.97ms, .4%, [ ], 393, 25.94, 153.12us average
70, SOE , WAIT, PL/SQL lock timer , 12918348, 852.66ms, 85.3%, [WWWWWWWWW ], 1328, 87.65, 9.73ms average
70, SOE , WAIT, events in waitclass Other , 960, 63.36us, .0%, [ ], 2, .13, 480us average
-- End of Stats snap 1, end=2014-11-20 08:04:39, seconds=15.2
© 2016 Pythian
TOP SQL
38
SQL> @snapper ash=sql_id+wait_class 15 1 user=soe
Sampling SID user=soe with interval 15 seconds, taking 1 snapshots...
-- Session Snapper v4.11 BETA - by Tanel Poder ( http://blog.tanelpoder.com )
-- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! :)
-------------------------------------------
Active% | SQL_ID | WAIT_CLASS
-------------------------------------------
14% | | Commit
5% | 7hk2m2702ua0g | User I/O
4% | 5ckxyqfvu60pj | User I/O
3% | 7t0959msvyt5g | User I/O
3% | gh2g2tynpcpv1 | User I/O
2% | 0w2qpuc6u2zsp | Scheduler
2% | g81cbrq5yamf5 | User I/O
2% | 7ws837zynp1zv | User I/O
2% | f7rxuxzt64k87 | User I/O
2% | 1qf3b7a46jm3u | User I/O
-- End of ASH snap 1, end=2014-11-20 06:14:42, seconds=15, samples_taken=100
© 2016 Pythian
SQLDEVELOPER
39 © 2016 Pythian
SQLDEVELOPER
40 © 2016 Pythian
HISTORIC PERFORMANCE
• moats, snapper etc only sample when running
• EE (+diag/tuning) has ASH and AWR
41 © 2016 Pythian
AWR REPORTS -> STATSPACK
• good for a high-level overview
• AWR has a bit more “stuff” than statspack
• AWR is setup automatically (60min snaps)
– be mindful of averages
• but AWR needs EE and diag&tuning pack
42 © 2016 Pythian
STATSPACK IN 12C
• no problem in non-CDB
• with multitenant would make most sense in CDB
– but not really supported due to common user c#...
• there is a nasty and unsupported workaround
43
https://jonathanlewis.wordpress.com/2013/07/04/12c-statspack-hack/
© 2016 Pythian
ORASASH
• does pretty much what ASH does (but for free)
• sample and store information from v$-views
• mostly compatible with EE ASH
– ashmon
– ashmasters etc
• stores data from multiple sources in repo db
– minimal footprint in source, only view and dblink
44
http://pioro.github.io/orasash/
© 2016 Pythian
SQLT
• oracle supported scripts
• needs a schema an installation in db
– (this is annoying)
• will gather *everything* about a single SQL
– option to use diag&tuning
• output is one zipped html archive
45
Metalink Doc id 215187.1
© 2016 Pythian
SQLD360
• sql scope (just like SQLT)
• needs no installation
• one zipfile including html output
46
http://mauro-pagano.com/2015/02/16/sqld360-sql-diagnostics-collection-made-faster/
© 2016 Pythian
SQLD SCREENSHOTS
47 © 2016 Pythian
SQLD SCREENSHOTS
48 © 2016 Pythian
SQLD INCLUDES SQL
49
SELECT MIN(a.snap_id) snap_id,
TO_CHAR(a.begin_interval_time, 'YYYY-MM-DD HH24:MI') begin_time,
TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI') end_time,
NVL(TRUNC(SUM(b.elapsed_time_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) elapsed_time,
NVL(TRUNC(SUM(b.cpu_time_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) cpu_time,
NVL(TRUNC(SUM(b.iowait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) iowait,
NVL(TRUNC(SUM(b.clwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) clwait,
NVL(TRUNC(SUM(b.apwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) apwait,
NVL(TRUNC(SUM(b.ccwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) ccwait
FROM (SELECT snap_id, instance_number, elapsed_time_total, cpu_time_total,
iowait_total, clwait_total, apwait_total, ccwait_total, executions_total
FROM dba_hist_sqlstat
WHERE sql_id = 'gm9dkz4u1hwfv') b,
(SELECT snap_id, instance_number, begin_interval_time, end_interval_time
FROM dba_hist_snapshot
WHERE snap_id BETWEEN 0 AND 166142) a
WHERE a.snap_id = b.snap_id(+)
AND a.instance_number = b.instance_number(+)
AND 'Y' = 'Y'
AND a.instance_number = a.instance_number
GROUP BY
TO_CHAR(a.begin_interval_time, 'YYYY-MM-DD HH24:MI'),
TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI')
ORDER BY
TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI');
1850 rows selected.
© 2016 Pythian
EDB360
• database scope
• no installation needed!
– just run a sqlfile
• creates one zipfile with html for offline viewing
– also AWR etc
• T | D | N control for access packs
• convenient: graphs
50
http://www.enkitec.com/products/edb360
© 2016 Pythian
EDB SCREENSHOTS
51 © 2016 Pythian
TUNAS360
• best of sqld and snapper
• samples v$-views for period
– works without AWR/ASH license!
• produces output like sqld
52 © 2016 Pythian
TUNAS SCREENSHOTS
53 © 2016 Pythian
TUNAS SCREENSHOTS
54 © 2016 Pythian
GOOD OLD 10046 TRACE
• guaranteed to catch everything (unlike sampling)
– why not turn on instance-wide?
• overhead vs usefulness?
• no license needed at all
55 © 2016 Pythian
READING TRACEFILES
• sqldeveloper
• trcanlzr
– needs installing but now also part of SQLT
• Kyle Hailey’s script
– https://github.com/khailey/oracle_trace_parsing/
• Chris Antognini’s script
– https://antognini.ch/downloads/top2/chapter03/tvdxtat
_40beta10_20140630.zip
56 © 2016 Pythian
REVIEW
• make sqlplus great
again
– rlsqlplus
– sqlcl
• real-time analysis
– snapper
– moats
– web-ash
– sqldeveloper instance
viewer
– TUNAs360
57
• historical analysis
– Orasash / S-ASH
– statspack
– SQLT
– eDB360
– sqld360
• 10046 tracing
– raw
– various analyzers
© 2016 Pythian
59
@brost
http://www.pythian.com/blog
rost@pythian.com
© 2016 Pythian

More Related Content

What's hot

MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Yoshiyasu SAEKI
 
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
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsDatabricks
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit
 
Sga internals
Sga internalsSga internals
Sga internalssergkosko
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linuxKyle Hailey
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroDatabricks
 
Apache Spark Core—Deep Dive—Proper Optimization
Apache Spark Core—Deep Dive—Proper OptimizationApache Spark Core—Deep Dive—Proper Optimization
Apache Spark Core—Deep Dive—Proper OptimizationDatabricks
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
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 beginnersCarlos Sierra
 
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...Carlos Sierra
 
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested ColumnsMaterialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested ColumnsDatabricks
 
Same plan different performance
Same plan different performanceSame plan different performance
Same plan different performanceMauro Pagano
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Dynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache SparkDynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache SparkDatabricks
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guideRyan Blue
 

What's hot (20)

MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
 
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...
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark Metrics
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
 
Sga internals
Sga internalsSga internals
Sga internals
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
 
Apache Spark 101
Apache Spark 101Apache Spark 101
Apache Spark 101
 
Apache Spark Core—Deep Dive—Proper Optimization
Apache Spark Core—Deep Dive—Proper OptimizationApache Spark Core—Deep Dive—Proper Optimization
Apache Spark Core—Deep Dive—Proper Optimization
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
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
 
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
 
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested ColumnsMaterialized Column: An Efficient Way to Optimize Queries on Nested Columns
Materialized Column: An Efficient Way to Optimize Queries on Nested Columns
 
Same plan different performance
Same plan different performanceSame plan different performance
Same plan different performance
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Dynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache SparkDynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache Spark
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guide
 

Viewers also liked

Making Oracle Services work
Making Oracle Services workMaking Oracle Services work
Making Oracle Services workBjoern Rost
 
Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?Gurcan Orhan
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Supportandrejusb
 
Migration Steps from OWB 2 ODI
Migration Steps from OWB 2 ODIMigration Steps from OWB 2 ODI
Migration Steps from OWB 2 ODIGurcan Orhan
 
How to Handle DEV&TEST&PROD for Oracle Data Integrator
How to Handle DEV&TEST&PROD for Oracle Data IntegratorHow to Handle DEV&TEST&PROD for Oracle Data Integrator
How to Handle DEV&TEST&PROD for Oracle Data IntegratorGurcan Orhan
 
Oracle SQL tuning with SQL Plan Management
Oracle SQL tuning with SQL Plan ManagementOracle SQL tuning with SQL Plan Management
Oracle SQL tuning with SQL Plan ManagementBjoern Rost
 
How to solve complex business requirements with Oracle Data Integrator?
How to solve complex business requirements with Oracle Data Integrator?How to solve complex business requirements with Oracle Data Integrator?
How to solve complex business requirements with Oracle Data Integrator?Gurcan Orhan
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTandrejusb
 
Best Practices with ODI : Flexibility
Best Practices with ODI : FlexibilityBest Practices with ODI : Flexibility
Best Practices with ODI : FlexibilityGurcan Orhan
 
A microservice approach for legacy modernisation
A microservice approach for legacy modernisationA microservice approach for legacy modernisation
A microservice approach for legacy modernisationluisw19
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나종민 김
 

Viewers also liked (13)

Making Oracle Services work
Making Oracle Services workMaking Oracle Services work
Making Oracle Services work
 
ADF performance monitor at AMIS25
ADF performance monitor at AMIS25ADF performance monitor at AMIS25
ADF performance monitor at AMIS25
 
Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
 
Migration Steps from OWB 2 ODI
Migration Steps from OWB 2 ODIMigration Steps from OWB 2 ODI
Migration Steps from OWB 2 ODI
 
How to Handle DEV&TEST&PROD for Oracle Data Integrator
How to Handle DEV&TEST&PROD for Oracle Data IntegratorHow to Handle DEV&TEST&PROD for Oracle Data Integrator
How to Handle DEV&TEST&PROD for Oracle Data Integrator
 
Oracle SQL tuning with SQL Plan Management
Oracle SQL tuning with SQL Plan ManagementOracle SQL tuning with SQL Plan Management
Oracle SQL tuning with SQL Plan Management
 
Oracle Database Vault
Oracle Database VaultOracle Database Vault
Oracle Database Vault
 
How to solve complex business requirements with Oracle Data Integrator?
How to solve complex business requirements with Oracle Data Integrator?How to solve complex business requirements with Oracle Data Integrator?
How to solve complex business requirements with Oracle Data Integrator?
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC REST
 
Best Practices with ODI : Flexibility
Best Practices with ODI : FlexibilityBest Practices with ODI : Flexibility
Best Practices with ODI : Flexibility
 
A microservice approach for legacy modernisation
A microservice approach for legacy modernisationA microservice approach for legacy modernisation
A microservice approach for legacy modernisation
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 

Similar to Hitchhiker's Guide to free Oracle tuning tools

The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS SchemaMark Leith
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceGustavo Rene Antunez
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDavid Dudley
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionInductive Automation
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise MonitorMario Beck
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...Deepak Chandramouli
 
Migrate to platform of your choice
Migrate to platform of your choiceMigrate to platform of your choice
Migrate to platform of your choiceAshnikbiz
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMark Swarbrick
 
CIAOPS Need to Know Office 365 Webinar - December 2017
CIAOPS Need to Know Office 365 Webinar - December 2017CIAOPS Need to Know Office 365 Webinar - December 2017
CIAOPS Need to Know Office 365 Webinar - December 2017Robert Crane
 
Best Practices for a Complete Postgres Enterprise Architecture Setup
Best Practices for a Complete Postgres Enterprise Architecture SetupBest Practices for a Complete Postgres Enterprise Architecture Setup
Best Practices for a Complete Postgres Enterprise Architecture SetupEDB
 
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...SpringPeople
 
Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6p6academy
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1Ivan Ma
 
RedisDay London 2018 - How Redis Powers BBC Online's Biggest Pages
RedisDay London 2018 - How Redis Powers BBC Online's Biggest PagesRedisDay London 2018 - How Redis Powers BBC Online's Biggest Pages
RedisDay London 2018 - How Redis Powers BBC Online's Biggest PagesRedis Labs
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise PortfolioAbel Flórez
 
The 6 Features You Need for Automation Success
The 6 Features You Need for Automation SuccessThe 6 Features You Need for Automation Success
The 6 Features You Need for Automation SuccessPrecisely
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classessapehsit
 
Deploying Full BI Platforms to Oracle Cloud
Deploying Full BI Platforms to Oracle CloudDeploying Full BI Platforms to Oracle Cloud
Deploying Full BI Platforms to Oracle CloudMark Rittman
 

Similar to Hitchhiker's Guide to free Oracle tuning tools (20)

DevOps for DBAs
DevOps for DBAsDevOps for DBAs
DevOps for DBAs
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS Schema
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud Service
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to Ignition
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to Ignition
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
 
Migrate to platform of your choice
Migrate to platform of your choiceMigrate to platform of your choice
Migrate to platform of your choice
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
 
CIAOPS Need to Know Office 365 Webinar - December 2017
CIAOPS Need to Know Office 365 Webinar - December 2017CIAOPS Need to Know Office 365 Webinar - December 2017
CIAOPS Need to Know Office 365 Webinar - December 2017
 
Best Practices for a Complete Postgres Enterprise Architecture Setup
Best Practices for a Complete Postgres Enterprise Architecture SetupBest Practices for a Complete Postgres Enterprise Architecture Setup
Best Practices for a Complete Postgres Enterprise Architecture Setup
 
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...
Best Practices for Administering Hadoop with Hortonworks Data Platform (HDP) ...
 
Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
 
RedisDay London 2018 - How Redis Powers BBC Online's Biggest Pages
RedisDay London 2018 - How Redis Powers BBC Online's Biggest PagesRedisDay London 2018 - How Redis Powers BBC Online's Biggest Pages
RedisDay London 2018 - How Redis Powers BBC Online's Biggest Pages
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
 
Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-
 
The 6 Features You Need for Automation Success
The 6 Features You Need for Automation SuccessThe 6 Features You Need for Automation Success
The 6 Features You Need for Automation Success
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
 
Deploying Full BI Platforms to Oracle Cloud
Deploying Full BI Platforms to Oracle CloudDeploying Full BI Platforms to Oracle Cloud
Deploying Full BI Platforms to Oracle Cloud
 

Recently uploaded

Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlkumarajju5765
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 

Recently uploaded (20)

Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 

Hitchhiker's Guide to free Oracle tuning tools

  • 1. hitchhikers guide to free Oracle tuning tools a quick guide Björn Rost
  • 2. © 2015 Pythian Confidential2
  • 3. • Consultant – Oracle Database HA, Tuning, etc – Linux&Solaris automation • Oracle ACE Director • (ex) president RAC SIG • organizer OTN EMEA tour © 2016 Pythian3 ABOUT ME
  • 4. ABOUT PYTHIAN Pythian’s 400+ IT professionals help companies adopt and manage disruptive technologies to better compete © 2016 Pythian. Confidential 4
  • 5. © 2016 Pythian. Confidential 5 Systems currently managed by Pythian EXPERIENCED Pythian experts in 35 countries GLOBAL Millennia of experience gathered and shared over 19 years EXPERTS 11,800 2400
  • 6. © 2016 Pythian. Confidential 6 TECHNICAL EXPERTISE CLOUD ADVANCED ANALYTICS DATABASES BIG DATA DEVOPS Using the disruptive nature of cloud for accelerated, cost-effective growth INFRASTRUCTURE MANAGEMENT Mining data for insights & business transformation using data science Ensuring databases are reliable, secure, available and continuously optimized Harnessing the transformative power of data on a massive scale Providing critical velocity in software deployment by adopting DevOps practices Transforming and managing the IT infrastructure that supports the business
  • 7. WHY ORACLE? 7 • basic operations same between DBs • instrumentation makes the difference • allows to deeply investigate and explain issues © 2016 Pythian
  • 8. (WRONG) TUNING CYCLE © 2016 Pythian8 guess change hope
  • 9. DON’T BE A STORMTROOPER DBA © 2016 Pythian9
  • 10. TUNING CYCLE © 2016 Pythian10 understand change measure
  • 11. TUNING IS SIMPLE, REALLY 11 © 2016 Pythian
  • 12. LAST WEEK’S EXAMPLE • increasing gap in standby db – change max_archive_processes parameter – change some other parameters – try rman recovery vs MRP – increase parallelism – reduce parallelism – try more silver bullets… – have SRE look into IO issues – have SRE look at CPU issues 12 © 2016 Pythian guess change hope
  • 13. LAST WEEK’S EXAMPLE • select event from v$session where program like '%MRP%’ – PX deq credit: send blkd – PX deq credit: need buffer • search for that on MOS – 10.2 Parallel Standby Recovery Process Is Very Slow (Doc ID 420337.1) • PARALLEL_EXECUTION_MESSAGE_SIZE=16k 13 © 2016 Pythian understand change measure
  • 14. TYPES 14 report real-time historic drill-down © 2016 Pythian
  • 15. ENTERPRISE MANAGER • incredibly useful and thought through • from vendor, perfectly integrated • many common views and methods – coloured AAS view – Top-SQL view – Real-Time SQL monitor – blocking session tree – AWR Reports – ADDM and other advisors 16 © 2016 Pythian
  • 16. ENTERPRISE MANAGER © 2015 Pythian Confidential17
  • 17. SO WHY USE CLI TOOLS? • not licensed for Diag&Tuning – Standard Edition – EE without Diag&Tuning (a cardinal sin) • very low throughput or no GUI access • EM not setup/installed – 12c EM express can get the job done • you simply want to look like a nerd 18 © 2016 Pythian
  • 18. WHY OPEN SOURCE • see and learn – you can actually look at the code you are running • collaborate and contribute – want a new feature? implement yourself! • free(*) means – no costs (duh) – get up and running really fast – don’t worry about audits 19 © 2016 Pythian
  • 19. © 2015 Pythian Confidential20
  • 20. RLSQLPLUS • sqlplus on steroids • edit sqlplus CLI • history – up/down arrow – search with CTRL-r • auto-completion – against custom wordlist 21 © 2016 Pythian
  • 21. RLSQLPLUS INSTALLATION STEP1 22 [root@kickpuppet ~]# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/rlwrap-0.42-1.el6.x86_64.rpm ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rlwrap x86_64 0.41-1.el6 epel 92 k Transaction Summary ================================================================================ Install 1 Package(s) Installing : rlwrap-0.41-1.el6.x86_64 1/1 Verifying : rlwrap-0.41-1.el6.x86_64 1/1 Installed: rlwrap.x86_64 0:0.41-1.el6 Complete! © 2016 Pythian
  • 22. RLSQLPLUS INSTALLATION STEP2 • optional: download or generate wordfile – for autocompletion 23 $ curl -o wordfile.txt http://blog.tanelpoder.com/files/scripts/setup/wordfile_11gR2.txt http://blog.tanelpoder.com/files/scripts/setup/ © 2016 Pythian
  • 23. RLSQLPLUS INSTALLATION STEP 3 • create aliases around sqlplus – and rman – and dgmgrl • avoid overriding the original name 24 alias rlsqlplus='rlwrap -D2 -irc -b'''"@(){}[],+=&^%#;|''' -f ~/wordfile.txt sqlplus' alias rlrman='rlwrap -D2 -irc -b'''"@(){}[],+=&^%#;|''' rman' © 2016 Pythian
  • 24. SQLCL • sqlplus “replacement” from SQLdeveloper team – history and editor – auto-completion – auto-formatting • ansiconsole for col widths • json, xml, csv etc – tons of good stuff 25 © 2016 Pythian
  • 25. © 2015 Pythian Confidential26
  • 26. AAS VIEW • my favourite real-time DB dashboard • one-glance DB activity overview • colour-coded – red -> blocking, app, concurrency – blue -> IO, missing indexes, etc – green -> CPU, executing too much? – other -> weird, take a look 27 © 2016 Pythian
  • 27. AAS VIEW 28 © 2016 Pythian
  • 28. WEB-ASH 29 • simple and free • reads v$session by default • stores data in plain files • lean javascript to display http://datavirtualizer.com/web-ash-w-ash/ © 2016 Pythian
  • 29. MOATS • top-like output that refreshes • excellent overview • needs small installation on database • samples v$-views while running • improved forks – MOATS 2.0 – SQL Dashboard 30 © 2016 Pythian
  • 30. MOATS OUTPUT 31 MOATS: The Mother Of All Tuning Scripts v1.0 by Adrian Billington & Tanel Poder http://www.oracle-developer.net & http://www.e2sn.com + INSTANCE SUMMARY ------------------------------------------------------------------------------------------+ | Instance: KICKPUPPET | Execs/s: 581.6 | sParse/s: 60.0 | LIOs/s: 4989.5 | Read MB/s: 0.7 | | Cur Time: 19-Nov 21:11:09 | Calls/s: 164.2 | hParse/s: 0.0 | PhyRD/s: 86.7 | Write MB/s: 1.6 | | History: 0h 9m 45s | Commits/s: 50.3 | ccHits/s: 578.8 | PhyWR/s: 112.7 | Redo MB/s: 0.2 | +------------------------------------------------------------------------------------------------------------+ + TOP SQL_ID (child#) -----+ TOP SESSIONS ---------+ + TOP WAITS -------------------------+ WAIT CLASS -+ | 29% | 7t0959msvyt5g (0) | 78,65 | | 29% | db file sequential read | User I/O | | 14% | () | | | 29% | ON CPU | ON CPU | | 14% | 147a57cxq3w5y (0) | 70 | | 14% | oracle thread bootstrap | Other | | 14% | gh2g2tynpcpv1 (0) | 65 | | 14% | resmgr:cpu quantum | Scheduler | | 14% | 4phvdvx32a3mf (0) | 73 | | 14% | db file parallel read | User I/O | +--------------------------------------------------+ +--------------------------------------------------+ + TOP SQL_ID ----+ PLAN_HASH_VALUE + SQL TEXT ---------------------------------------------------------------+ | 7t0959msvyt5g | 856749079 | SELECT ORDER_ID, ORDER_DATE, ORDER_MODE, CUSTOMER_ID, ORDER_STATUS, ORD | | | | ER_TOTAL, SALES_REP_ID, PROMOTION_ID, WAREHOUSE_ID, DELIVERY_TYPE, COST | + ---------------------------------------------------------------------------------------------------------- + | 147a57cxq3w5y | 0 | BEGIN :1 := orderentry.browseproducts(:2 ,:3 ,:4 ); END; | + ---------------------------------------------------------------------------------------------------------- + | gh2g2tynpcpv1 | 0 | INSERT INTO CUSTOMERS ( CUSTOMER_ID , CUST_FIRST_NAME , CUST_LAST_NAME | | | | , NLS_LANGUAGE , NLS_TERRITORY , CREDIT_LIMIT , CUST_EMAIL , ACCOUNT_MG | + ---------------------------------------------------------------------------------------------------------- + | 4phvdvx32a3mf | 0 | begin prvt_ilm.stopjobs(-1,true,true,:1); end; | + ---------------------------------------------------------------------------------------------------------- + © 2016 Pythian
  • 31. MOATS 2.0 OUTPUT 32 © 2016 Pythian
  • 32. SNAPPER • realtime session monitor and drill-downs • just one sqlscript to run – no installation needed • runs for sample period – “snaps” v$session etc – reports on diffs • two modes – “ash” for v$session – stats for v$sesstat 33 http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper © 2016 Pythian
  • 33. SNAPPER ARGUMENTS • snapper ash 5 1 all – mode can be ash, stat or custom column list – seconds to run/sample – number of runs – “all” or filter on v$session columns • sid=42 • username=brost 34 © 2016 Pythian
  • 34. SNAPPER DEFAULT MODE 35 SQL> @snapper ash 5 1 all Sampling SID all with interval 5 seconds, taking 1 snapshots... -- Session Snapper v4.15 - by Tanel Poder ( http://blog.tanelpoder.com ) -- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! :) ---------------------------------------------------------------------------------------------------- Active% | INST | SQL_ID | SQL_CHILD | EVENT | WAIT_CLASS ---------------------------------------------------------------------------------------------------- 10% | 1 | | 0 | db file async I/O submit | System I/O 10% | 1 | | | log file sync | Commit 7% | 1 | 5ckxyqfvu60pj | 0 | db file sequential read | User I/O 7% | 1 | | 0 | log file parallel write | System I/O 5% | 1 | | | ON CPU | ON CPU 5% | 1 | 3fw75k1snsddx | 0 | db file sequential read | User I/O 5% | 1 | | 0 | ON CPU | ON CPU 5% | 1 | c13sma6rkr27c | 0 | db file parallel read | User I/O 5% | 1 | gzhkw1qu6fwxm | 0 | ON CPU | ON CPU 5% | 1 | 0w2qpuc6u2zsp | 0 | ON CPU | ON CPU -- End of ASH snap 1, end=2016-04-24 15:24:37, seconds=5, samples_taken=42 © 2016 Pythian
  • 35. AAS IN SNAPPER 36 SQL> @snapper ash=wait_class 5 1 all Sampling SID all with interval 5 seconds, taking 1 snapshots... -- Session Snapper v4.11 - by Tanel Poder ( http://blog.tanelpoder.com ) -- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet!  ------------------------- Active% | WAIT_CLASS ------------------------- 44% | System I/O 19% | Commit 7% | Scheduler 7% | ON CPU 5% | User I/O -- End of ASH snap 1, end=2014-11-19 16:23:06, seconds=5, samples_taken=43 © 2016 Pythian
  • 36. SNAPPER STATS MODE 37 SQL> @snapper stats,gather=tw 15 1 sid=70 Sampling SID sid=70 with interval 15 seconds, taking 1 snapshots... -- Session Snapper v4.11 BETA - by Tanel Poder ( http://blog.tanelpoder.com ) - Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! :) --------------------------------------------------------------------------------------------------------------------------------------------------- SID, USERNAME , TYPE, STATISTIC , DELTA, HDELTA/SEC, %TIME, GRAPH , NUM_WAITS, WAITS/SEC, AVERAGES --------------------------------------------------------------------------------------------------------------------------------------------------- 70, SOE , TIME, repeated bind elapsed time , 300, 19.8us, .0%, [ ], , , 70, SOE , TIME, parse time elapsed , 9272, 611.99us, .1%, [ ], , , 70, SOE , TIME, PL/SQL execution elapsed time, 230999, 15.25ms, 1.5%, [# ], , , 70, SOE , TIME, DB CPU , 569000, 37.56ms, 3.8%, [@ ], , , 70, SOE , TIME, sql execute elapsed time , 1730975, 114.25ms, 11.4%, [## ], , , 70, SOE , TIME, DB time , 2038543, 134.55ms, 13.5%, [## ], , , .88 % unaccounted 70, SOE , WAIT, log file sync , 235408, 15.54ms, 1.6%, [W ], 183, 12.08, 1.29ms average 70, SOE , WAIT, db file sequential read , 1123224, 74.14ms, 7.4%, [W ], 397, 26.2, 2.83ms average 70, SOE , WAIT, db file parallel read , 52763, 3.48ms, .3%, [ ], 3, .2, 17.59ms average 70, SOE , WAIT, latch: In memory undo latch , 499, 32.94us, .0%, [ ], 1, .07, 499us average 70, SOE , WAIT, resmgr:cpu quantum , 51794, 3.42ms, .3%, [ ], 3, .2, 17.26ms average 70, SOE , WAIT, SQL*Net message to client , 1458, 96.23us, .0%, [ ], 393, 25.94, 3.71us average 70, SOE , WAIT, SQL*Net message from client , 60177, 3.97ms, .4%, [ ], 393, 25.94, 153.12us average 70, SOE , WAIT, PL/SQL lock timer , 12918348, 852.66ms, 85.3%, [WWWWWWWWW ], 1328, 87.65, 9.73ms average 70, SOE , WAIT, events in waitclass Other , 960, 63.36us, .0%, [ ], 2, .13, 480us average -- End of Stats snap 1, end=2014-11-20 08:04:39, seconds=15.2 © 2016 Pythian
  • 37. TOP SQL 38 SQL> @snapper ash=sql_id+wait_class 15 1 user=soe Sampling SID user=soe with interval 15 seconds, taking 1 snapshots... -- Session Snapper v4.11 BETA - by Tanel Poder ( http://blog.tanelpoder.com ) -- Enjoy the Most Advanced Oracle Troubleshooting Script on the Planet! :) ------------------------------------------- Active% | SQL_ID | WAIT_CLASS ------------------------------------------- 14% | | Commit 5% | 7hk2m2702ua0g | User I/O 4% | 5ckxyqfvu60pj | User I/O 3% | 7t0959msvyt5g | User I/O 3% | gh2g2tynpcpv1 | User I/O 2% | 0w2qpuc6u2zsp | Scheduler 2% | g81cbrq5yamf5 | User I/O 2% | 7ws837zynp1zv | User I/O 2% | f7rxuxzt64k87 | User I/O 2% | 1qf3b7a46jm3u | User I/O -- End of ASH snap 1, end=2014-11-20 06:14:42, seconds=15, samples_taken=100 © 2016 Pythian
  • 40. HISTORIC PERFORMANCE • moats, snapper etc only sample when running • EE (+diag/tuning) has ASH and AWR 41 © 2016 Pythian
  • 41. AWR REPORTS -> STATSPACK • good for a high-level overview • AWR has a bit more “stuff” than statspack • AWR is setup automatically (60min snaps) – be mindful of averages • but AWR needs EE and diag&tuning pack 42 © 2016 Pythian
  • 42. STATSPACK IN 12C • no problem in non-CDB • with multitenant would make most sense in CDB – but not really supported due to common user c#... • there is a nasty and unsupported workaround 43 https://jonathanlewis.wordpress.com/2013/07/04/12c-statspack-hack/ © 2016 Pythian
  • 43. ORASASH • does pretty much what ASH does (but for free) • sample and store information from v$-views • mostly compatible with EE ASH – ashmon – ashmasters etc • stores data from multiple sources in repo db – minimal footprint in source, only view and dblink 44 http://pioro.github.io/orasash/ © 2016 Pythian
  • 44. SQLT • oracle supported scripts • needs a schema an installation in db – (this is annoying) • will gather *everything* about a single SQL – option to use diag&tuning • output is one zipped html archive 45 Metalink Doc id 215187.1 © 2016 Pythian
  • 45. SQLD360 • sql scope (just like SQLT) • needs no installation • one zipfile including html output 46 http://mauro-pagano.com/2015/02/16/sqld360-sql-diagnostics-collection-made-faster/ © 2016 Pythian
  • 46. SQLD SCREENSHOTS 47 © 2016 Pythian
  • 47. SQLD SCREENSHOTS 48 © 2016 Pythian
  • 48. SQLD INCLUDES SQL 49 SELECT MIN(a.snap_id) snap_id, TO_CHAR(a.begin_interval_time, 'YYYY-MM-DD HH24:MI') begin_time, TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI') end_time, NVL(TRUNC(SUM(b.elapsed_time_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) elapsed_time, NVL(TRUNC(SUM(b.cpu_time_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) cpu_time, NVL(TRUNC(SUM(b.iowait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) iowait, NVL(TRUNC(SUM(b.clwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) clwait, NVL(TRUNC(SUM(b.apwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) apwait, NVL(TRUNC(SUM(b.ccwait_total/NVL(NULLIF(executions_total,0),1)/1e6),3),0) ccwait FROM (SELECT snap_id, instance_number, elapsed_time_total, cpu_time_total, iowait_total, clwait_total, apwait_total, ccwait_total, executions_total FROM dba_hist_sqlstat WHERE sql_id = 'gm9dkz4u1hwfv') b, (SELECT snap_id, instance_number, begin_interval_time, end_interval_time FROM dba_hist_snapshot WHERE snap_id BETWEEN 0 AND 166142) a WHERE a.snap_id = b.snap_id(+) AND a.instance_number = b.instance_number(+) AND 'Y' = 'Y' AND a.instance_number = a.instance_number GROUP BY TO_CHAR(a.begin_interval_time, 'YYYY-MM-DD HH24:MI'), TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI') ORDER BY TO_CHAR(a.end_interval_time, 'YYYY-MM-DD HH24:MI'); 1850 rows selected. © 2016 Pythian
  • 49. EDB360 • database scope • no installation needed! – just run a sqlfile • creates one zipfile with html for offline viewing – also AWR etc • T | D | N control for access packs • convenient: graphs 50 http://www.enkitec.com/products/edb360 © 2016 Pythian
  • 50. EDB SCREENSHOTS 51 © 2016 Pythian
  • 51. TUNAS360 • best of sqld and snapper • samples v$-views for period – works without AWR/ASH license! • produces output like sqld 52 © 2016 Pythian
  • 52. TUNAS SCREENSHOTS 53 © 2016 Pythian
  • 53. TUNAS SCREENSHOTS 54 © 2016 Pythian
  • 54. GOOD OLD 10046 TRACE • guaranteed to catch everything (unlike sampling) – why not turn on instance-wide? • overhead vs usefulness? • no license needed at all 55 © 2016 Pythian
  • 55. READING TRACEFILES • sqldeveloper • trcanlzr – needs installing but now also part of SQLT • Kyle Hailey’s script – https://github.com/khailey/oracle_trace_parsing/ • Chris Antognini’s script – https://antognini.ch/downloads/top2/chapter03/tvdxtat _40beta10_20140630.zip 56 © 2016 Pythian
  • 56. REVIEW • make sqlplus great again – rlsqlplus – sqlcl • real-time analysis – snapper – moats – web-ash – sqldeveloper instance viewer – TUNAs360 57 • historical analysis – Orasash / S-ASH – statspack – SQLT – eDB360 – sqld360 • 10046 tracing – raw – various analyzers © 2016 Pythian
  • 57.