introducing the edb360 tool
DESCRIPTION
You need to investigate some performance issues on an Oracle database, but you have no access to Oracle Enterprise Manager (OEM), or what is worse, not even to SQL*Plus. Where do you start? What is the first query you ask the DBA to execute for you? What is your second and third? Do you request an AWR report? For which snapshots? This scenario is not uncommon or unheard, it happens often to 3rd party consultants, or even to internal DBAs and Developers when the administration of the database has been subcontracted and access has been restricted. Performance is not the only case where you may need to reach a database and struggle with access; doing a database health-check or collecting historical performance for a capacity planning exercise may face the same issues. What you wish you had is access to a restricted SQL*Plus account, even if remote, and a toolset to collect as much information as possible from the database of interest; or to ask a DBA with access to this database to simply run this toolset and give you back all the output so you can find answers to most of your questions. eDB360 is a free tool that installs nothing on the database, executes through a SQL*Plus connection, and produces a zip file with a comprehensive report that provides a 360-degree view of an Oracle database. This session is about edb360. It covers what is included on its output, how you execute this tool, and how it can be used to gain a fair understanding of an Oracle database. This session is for DBAs, Developers and Consultants. Benefits: 1. Learn how to get a fair 360-degree view of a database 2. Gather enough database information to start a health-check 3. Learn which performance to collect for a sizing exerciseTRANSCRIPT
Introducing the eDB360 Tool
Carlos Sierra
• Oracle Performance and SQL Tuning
• Consultant/Developer/DBA
• eDB360 and eAdam
• SQLT and SQLHC
• Exadata
Carlos Sierra
Enkitec (c) 2014 2
What is eDB360?
• Oracle database 360-degree view
• A tool made of many SQL scripts
• Installs nothing on the database
• Executes from SQL*Plus (local or remote)
• Produces ZIP with html, text, csv and charts
9/27/2014 Enkitec © 3
How is eDB360 used?
• Database Health-check
• Offline Performance Analysis
• Sizing
– Capacity Planning
– Databases Consolidation into Engineered System
– Re-platform
9/27/2014 Enkitec © 4
Typical use of eDB360 (1)
• Consultant onsite for one week
– Monday noon to Friday morning
9/27/2014 Enkitec © 5
• No access to Client’s intranet
• Limited or no access to internet
• Any script requires a round trip to a DBA
– 4 hours average
Typical use of eDB360 (2)
• Client is considering Engineered System
• Multiple Databases would be migrated
• Resources utilization need to be evaluated
9/27/2014 Enkitec © 6
Overlaps?
• DBA’s custom scripts
• OEM
• AWR
• ADDM
• Note: eDB360 Complements other tools!
9/27/2014 Enkitec © 7
eDB360 Execution
• Refer to readme.txt included
• Connect to SQL*Plus as SYS, DBA or user with access to Data Dictionary
• Parameters
– Oracle Tuning or Diagnostics Pack? [T | D | N]
– How many days of history (default 31)
9/27/2014 Enkitec © 8
eDB360 Output
• One ZIP file with a set of files (hundreds)
9/27/2014 Enkitec © 9
• Set of files driven by one index.html file
Output Content
• Queries on several DBA static views
– Database configuration
• Queries on several GV$ dynamic views
– Performance
• Some AWR, ADDM and ASH reports
• A clever sample of SQL Statements
9/27/2014 Enkitec © 10
9/27/2014 Enkitec © 11
0001_edb360_dbname_index.html
9/27/2014 Enkitec © 12
Four Formats
Each Report
• Source (main DBA or GV$ view name)
• Query output (html, text, csv or chart)
• Source Description (column name and type)
• Query (SQL Text)
9/27/2014 Enkitec © 13
9/27/2014 Enkitec © 14
9/27/2014 Enkitec © 15
7 Dynamic Columns
Column 1/7
• Database Configuration
• Security
• Memory
• Resources
• Resources (as per Statspack)
9/27/2014 Enkitec © 16
9/27/2014 Enkitec © 17
9/27/2014 Enkitec © 18
9/27/2014 Enkitec © 19
Cluster and Instances
• Cluster is an aggregated view of all Instances
• Each Instance can be analyzed individually
9/27/2014 Enkitec © 20
9/27/2014 Enkitec © 21
9/27/2014 Enkitec © 22
eDB360 uses Google Charts
• Drag to Zoom and Right click to Reset
9/27/2014 Enkitec © 23
9/27/2014 Enkitec © 24
9/27/2014 Enkitec © 25
Column 2/7
• Database Administration
• Storage
• Automatic Storage Management (ASM)
9/27/2014 Enkitec © 26
9/27/2014 Enkitec © 27
9/27/2014 Enkitec © 28
9/27/2014 Enkitec © 29
9/27/2014 Enkitec © 30
9/27/2014 Enkitec © 31
9/27/2014 Enkitec © 32
Column 3/7
• Database Resource Management (DBRM)
• Plan Stability
• Cost-based Optimizer (CBO) Statistics
• Performance Summaries
• Operating System (OS) Statistics History
9/27/2014 Enkitec © 33
9/27/2014 Enkitec © 34
9/27/2014 Enkitec © 35
9/27/2014 Enkitec © 36
9/27/2014 Enkitec © 37
9/27/2014 Enkitec © 38
9/27/2014 Enkitec © 39
9/27/2014 Enkitec © 40
9/27/2014 Enkitec © 41
9/27/2014 Enkitec © 42
Column 4/7
• System Global Area (SGA) Statistics History
• Program Global Area (PGA) Statistics History
• Memory Statistics History
• System Time Model
• System Time Model Components
• I/O Waits
• I/O Waits Histogram for Top Wait Events
9/27/2014 Enkitec © 43
9/27/2014 Enkitec © 44
9/27/2014 Enkitec © 45
9/27/2014 Enkitec © 46
9/27/2014 Enkitec © 47
9/27/2014 Enkitec © 48
9/27/2014 Enkitec © 49
Column 5/7
• Active Session History (ASH)
• ASH: On CPU and Top Wait Events
9/27/2014 Enkitec © 50
9/27/2014 Enkitec © 51
9/27/2014 Enkitec © 52
9/27/2014 Enkitec © 53
Column 6/7
• ASH: Top Timed Events
• ASH: Top SQL
• ASH: Top Programs
• ASH: Top Modules and Actions
• ASH: Top Users
• ASH: Top PLSQL Procedures
9/27/2014 Enkitec © 54
9/27/2014 Enkitec © 55
9/27/2014 Enkitec © 56
9/27/2014 Enkitec © 57
9/27/2014 Enkitec © 58
9/27/2014 Enkitec © 59
9/27/2014 Enkitec © 60
Column 7/7
• AWR Reports
• ADDM Reports
• ASH Reports
• SQL Sample
9/27/2014 Enkitec © 61
9/27/2014 Enkitec © 62
AWR, ADDM and ASH (1)
• “DB Time” or “background elapsed time”
• For each Instance (avoiding duplicates)– Peak during past 7 days
– Peak during past 5 work days (8AM to 7PM)
– Peak during past 24 hours
– Peak during past 4 hours
• For each report get also Global (if RAC)
9/27/2014 Enkitec © 63
9/27/2014 Enkitec © 64
AWR, ADDM and ASH (2)
• How many reports on a 4-node RAC?
– 4 Instances
– 4 Time Intervals (Peak for 7d, 5wd, 24h and 4h)
– 1 Global report for each instance report (2x)
– 3 report types (AWR, ADDM and ASH)
– 4 x 4 x 2 x 3 = 96 reports
9/27/2014 Enkitec © 65
9/27/2014 Enkitec © 66
SQL Sample (1)
• Top SQL as per number of ASH samples– 16 during past hour as per GV$
– 16 during past 4 hours as per DBA_HIST
– 16 during past 24 hours as per DBA_HIST
– 16 during past 5 working days as per DBA_HIST
– 16 during past 7 days as per DBA_HIST
• Top 10 16 popular Statements from 5 lists
9/27/2014 Enkitec © 67
SQL Sample (2)
• For Top 16 get planx.sql
• For Top 12 get sqlmon.sql
• For Top 8 get sqlash.sql
• For Top 4 get sqlhc.sql (if available on sql dir)
• Note: To be enhanced with sqld360
9/27/2014 Enkitec © 68
Closing Remarks
• eDB360 takes between 1 and 3 hours to run
– Best time to execute is at the end of a day (COB)
• eDB360 provides a fair view of a database
• A shell script runs eDB360 on all databases
• A new Release about once a month
• Installs nothing and it is free!
9/27/2014 Enkitec © 69
Beyond eDB360
• eAdam (available)
– AWR Data Mining Tool
9/27/2014 Enkitec © 70
• eSP (proprietary)
– Enkitec’s Sizing and Provisioning Tool
• sqld360 (wip)
– Installs-nothing SQL diagnostics 360-degree view
References
• eDB360 download
– http://www.enkitec.com/products/edb360
• eDB360 capabilities
– http://carlos-sierra.net/2014/07/27/edb360/
• eAdam capabilities and download
– http://carlos-sierra.net/2014/07/27/eadam/
9/27/2014 Enkitec © 71