PayPal’s Custom AWR warehouse Samrat Roy

Slides:



Advertisements
Similar presentations
Copyright © SoftTree Technologies, Inc. DB Tuning Expert.
Advertisements

Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Replication solutions for Oracle database 11g Zbigniew Baranowski.
Royal London Group A group of specialist businesses where the bottom line is always financial sense Oracle Statistics – with a little bit extra on top.
Insider for Oracle The Art Of Performance Tuning.
High Availability Group 08: Võ Đức Vĩnh Nguyễn Quang Vũ
Managing Change with Real Application Testing and Snapshot Standby Barry Hodges Senior Solution Architect, Sales Consulting, Oracle NZ.
12 Copyright © 2005, Oracle. All rights reserved. Proactive Maintenance.
The Self-managing Database: Automatic Performance Diagnosis Graham Wood Kyle Hailey Oracle Corporation Session id:
© Copyright Lumension Security Lumension Security PatchLink Enterprise Reporting™ 6.4 Overview and What’s New.
Replication Technologies at WLCG Lorena Lobato Pardavila CERN IT Department – DB Group JINR/CERN Grid and Management Information Systems, Dubna (Russia)
Alternative: Bitmap Indexing Imagine the following query in huge table Find customers living in London, with 2 cars and 3 children occupying a 4 bed house.
Oracle 10g Database Administrator: Implementation and Administration Chapter 14 Proactive Maintenance.
Copyright © SoftTree Technologies, Inc. DB Difference Expert.
Oracle 11g Real Application Testing: Avoiding Performance Regressions with SQL Performance Analyzer Khaled Yagoub, Pete Belknap, Benoit Dageville, Karl.
Database Upgrade/Migration Options & Tips Sreekanth Chintala Database Technology Strategist.
LOGO Business Intelligence System Mr. Natapong Wongprommoon Solution Architect G-ABLE Company Limited
Castor F2F Meeting Barbara Martelli Castor Database CNAF.
Effective Methods for Analyzing Altiris Performance Sam Saffron | Development Manager | Altiris John Epeneter | Product Manager | Altiris Monitoring.
Copyright © 2007 Quest Software The Changing Role of SQL Server DBA’s Bryan Oliver SQL Server Domain Expert Quest Software.
Module 8: Server Management. Overview Server-level and instance-level resources such as memory and processes Database-level resources such as logical.
Introduction and simple using of Oracle Logistics Information System Yaxian Yao
12 Copyright © 2007, Oracle. All rights reserved. Database Maintenance.
Database Design for DNN Developers Sebastian Leupold.
15 Copyright © 2004, Oracle. All rights reserved. Proactive Maintenance.
2 Copyright © 2006, Oracle. All rights reserved. Performance Tuning: Overview.
SQL Server 2008 R2 for the DBA Patrick LeBlanc. Objectives  New Editions  Datacenter  Parallel Data Warehouse  Multi-server management  Utility Control.
The Self-Managing Database: Guided Application and SQL Tuning Mohamed Ziauddin Consulting Member of Technical Staff Oracle Corporation Session id:
1.
Oracle Advanced Compression – Reduce Storage, Reduce Costs, Increase Performance Session: S Gregg Christman -- Senior Product Manager Vineet Marwah.
Oracle Tuning Considerations. Agenda Why Tune ? Why Tune ? Ways to Improve Performance Ways to Improve Performance Hardware Hardware Software Software.
Data Management Console Synonym Editor
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
Achieving Scalability, Performance and Availability on Linux with Oracle 9iR2-RAC Grant McAlister Senior Database Engineer Amazon.com Paper
Continuous DB integration testing with RAT „RATCOIN”
1 Oracle Enterprise Manager Slides from Dominic Gélinas CIS
Average Active Sessions (AAS) The Golden Metric ? Kyle Hailey
08-Nov Database TEG workshop, Nov 2011 ATLAS Oracle database applications and plans for use of the Oracle 11g enhancements Gancho Dimitrov.
© 2009 IBM Corporation Maximize Cost Savings While Improving Visibility Into Lines of Business Wendy Tam, CDC Product Marketing Manager
Impala. Impala: Goals General-purpose SQL query engine for Hadoop High performance – C++ implementation – runtime code generation (using LLVM) – direct.
Michelle Malcher PepsiCo Session # For the DBA Manager – Understanding Oracle and DBAs.
CERN IT Department CH-1211 Geneva 23 Switzerland t WLCG Operation Coordination Luca Canali (for IT-DB) Oracle Upgrades.
#.1 Average Active Sessions (AAS) The Golden Metric ? Kyle Hailey
3 Copyright © 2007, Oracle. All rights reserved. Using the RMAN Recovery Catalog.
Metasolv-OCDM Connector Metasolv OCDM. What is the MSS Adapter for Oracle Communications Data Model? The Oracle Communications Metasolv and Solution Adapter.
Status of tests in the LCG 3D database testbed Eva Dafonte Pérez LCG Database Deployment and Persistency Workshop.
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
Manage large RAC Clusters Session# 851 Tom S. Reddy Database Administration, Inc.
SQL Advanced Monitoring Using DMV, Extended Events and Service Broker Javier Villegas – DBA | MCP | MCTS.
You Inherited a Database Now What? What you should immediately check and start monitoring for. Tim Radney, Senior DBA for a top 40 US Bank President of.
1 Copyright © 2005, Oracle. All rights reserved. Oracle Database Administration: Overview.
Session Name Pelin ATICI SQL Premier Field Engineer.
WLCG Collaboration Workshop CMS online/offline replication
Calgary Oracle User Group
GoldenGate Performance Tuning
Smarter Technology for Better Business
You Inherited a Database Now What?
Maximum Availability Architecture Enterprise Technology Centre.
Oracle Database Monitoring and beyond
Introduction of Week 6 Assignment Discussion
Upgrading to Microsoft SQL Server 2014
Analytics for Cloud ERP
Targeting Wait Statistics with Extended Events
Index Index.
You Inherited a Database Now What?
Introduction to VSTS Database Professional
Dell EMC SQL Server Solutions Doug Bernhardt
An Overview of GoldenGate Replication
David Gilmore & Richard Blevins Senior Consultants April 17th, 2012
TSDS - Texas Student Data System PEIMS
Presentation transcript:

PayPal’s Custom AWR warehouse Samrat Roy September 2014

Agenda Introduction Overview of Production Database Environment Business and DBA requirement for AWR warehouse Custom AWR warehouse as Current Solution Current and Future Solution

About ebay inc and me ebay inc is a global commerce platform and payments leader Senior Engineer in ebay inc’s Database Engineering team Working with Oracle Database for more than 10 years Helped create and maintain the Custom AWR/DB metadata database

Production Environment Mostly 11g RAC, ASM and Exadata One of the busiest OLTP database 500+ database instances, from 10 – 130 TB each 5-10K processes per instance Execs 100K/sec, Redo 5-10MB/sec Growing workload 40% year-on-year EM 12c monitors 100+ db targets including 5 critical databases running payment system, user data applications

Business and DBA Requirement for custom AWR Warehouse Business Problem: Find and fix database performance degradation proactively and post upgrade Proactively add capacity (storage/compute) in a timely planned manner Compare application schemas between stage and production which when translated to DBA problem statements and solutions : Monitor and capture W-o-W, (Week-over-Week) and M-o-M (Month-over-Month) deviation for DB metrics, enabling following reports W-o-W deviation weekly and on-demand SQL profiling for W-o-W deviation in execs, lio, pio, cpu, elapsed time Daily ASH trend for significant wait events and W-o-W comparison Daily W-o-W “Busy-ness” report from Time Model statistics for all databases Track storage growth to generate storage TTL (Time to Live), compute add or storage uplift for Primary as well as Standbys Follow GoldenGate trail from source to each downstream db Schema comparison report between stage and production db Compare AWR data pre/post upgrade for new database wholly or partially (moving only few schemas) Also answer DBA type questions for ongoing operations, for e.g: When table A was dropped, renamed or what column was added and when Table “busyness” by time of day for scheduling table maintenance across both Production and Active DataGuard Standbys Compare Initialization parameter, patch, compute, storage between Current Primary and Switchover Target Global Database Metadata: Version, Type, Role, CPU, Memory, Storage (Primary/Standby, etc.)

Simple use cases SQL profile across all dbs for given sql_id @sqlbyid Enter value for sql_id : 1nyxab /* sample sql for sql_id 1nyxab*/SELECT * from A where col1=:col1; SNAP_ID DBNAME EXECS_DELTA AVG_BG AVG_IO AVG_ROWS ---------- ------------------------------ ----------- ---------- ---------- ------------------------------------------- 118140 DB_A_LIVE 9256 100.4 .7 7.6 100345 DB_A_RO1 1000 89.3 .9 6.9 101264 DB_A_RO2 5782 92.7 .7 7.6 Table profile across all dbs for given table @sqlbytable Enter value for table_name: TAB_A DBNAME SQL_TYPE EXEC_PER_SNAPSHOT LIO_PER_SNAPSHOT PIO_PER_SNAPSHOT NUM_SQLS TOP_SQL_ID ------------------- ----------------- ---------------- ---------------- ---------- ------------------------- ---------- DB_A_LIVE SELECT 176.3 3484.6 1032.4 1 f8uagxysgjfh9 DB_A_RO SELECT 1329.4 33925.2 556.4 10 3nskqy7k2b26x GG trail from SOR to all downstream copies for given table ./ggs_tab_path.pl <hostname> <schema> <tablename> LEVEL 0 hostname (11.1.1.1.2_06 13694062 OGGCORE_11.1.1.1.3_PLATFORMS_120216.1755): (db) EXTRACT extr -> datapump:/oracle/gg/traildata/db/ja as of 26-SEP-14 LEVEL 1 datapump(11.1.1.1.2_01 OGGCORE_11.1.1.1.3_PLATFORMS_111209.1035): () EXTRACT extr1 -> downstream.db.paypal.com:/oracle/downstream/goldengate/db/ja as of 26-SEP-14 LEVEL 2 dbhost1(11.1.1.1.2_01 OGGCORE_11.1.1.1.3_PLATFORMS_111209.1035): no extracts found to process the trail/table_owner/table_name combo LEVEL 2 dbhost2(11.1.1.1.2_01 OGGCORE_11.1.1.1.3_PLATFORMS_111209.1035): (downstreamdb2) REPLICAT replicat2 as of 26-SEP-14

Not-so-simple use case : Track health across all dbs W-o-W Time Model Stats - WoW ======================================== DBNAME NAME PMDAY VALUE(Secs) % diff DELTA_DBTIME DB PCT% ---------------- --------------------------- -------------------- -------------------- -------- ------ DB_A_LIVE DB time 09-09-2014 TUESDAY 32182100 -49% 32182100 -48.61% 09-16-2014 TUESDAY 46089640 43% 46089640 43.22% 09-23-2014 TUESDAY 55498930 20% 55498930 20.42% sql execute elapsed time 09-09-2014 TUESDAY 26196035 -50% 32182100 70.4% 09-16-2014 TUESDAY 36871712 42% 46089640 81.4% 09-23-2014 TUESDAY 49219127 31% 55498930 88.68% DB_B_LIVE DB time 09-09-2014 TUESDAY 43825650 2% 43825650 2% 09-16-2014 TUESDAY 44263906 1% 44263906 1% 09-23-2014 TUESDAY 43821266 -1% 43821266 -1% sql execute elapsed time 09-09-2014 TUESDAY 35060520 3% 43825650 80% 09-16-2014 TUESDAY 35411125 1% 44263906 80% 09-23-2014 TUESDAY 35410117 -0.1% 43821266 80% column Contents VALUE(Secs) The difference, in Seconds, of the given statistics trended for the given Time period. % diff the difference , in percentage, of the given statistics trended for the given time period. DELTA_DBTIME The difference between NOW and PREVIOUS DAY, of the "DB Time" statistic. It would repeat for all the statistic for ease of comparison during manually reading the report DB PCT % For "DB Time" statistic, this indicates the % difference between NOW and PREVIOUS DAY for the other statistic, it is the VALUE of that statistic in % of DB Time (ie) All the statistics other than "DB Time" are expressed in percentage of "DB Time" Other pointers for reading this report ============================== This report shows jumps/reduction in DB Time for the trended period which can be used as a measure to check the TOPn report or the "Executions Stats Changes" report. The profile of the "DB PCT"% for stats other than "DB Time" should remain fairly constant across the trended period. Any discernible change in that profile would mean that system is deviating from past behavior. If there are no discernible changes, then it would mean that the organic growth is in expected lines.

Drill down : Track top waits and SQL profile across all dbs DBNAME EVENT_NAME time:HH WAITTIME WAITPCT ---------------- ------------------------------- ------------ --- --------------------------------- --------- DB_A_LIVE enq: TX - row lock contention 09-SEP-2014 TUE 5943 23% 16-SEP-2014 TUE 41771 68% 23-SEP-2014 TUE 80101 92% Streams miscellaneous event 09-SEP-2014 TUE 18358 71% 16-SEP-2014 TUE 17956 29% DBNAME EVENT_NAME time:HH WAITTIME WAITPCT ---------------- -------------------------------------------- --------------- ------------------------------ DB_B_LIVE db file sequential read 09-SEP-2014 TUE 40 6% 16-SEP-2014 TUE 32 3% 23-SEP-2014 TUE 28 5% SQL Profile Trend report - WoW ============================== DBNAME DAY SQL_ID Ex% Buf% Elp% Cpu% Phy% Ex# Buf# Phy# Elp# Cpu# -------------------------- --------------- ----- ---- ------- ------- --------- --------- - DB_A_LIVE 09-09-2014 TUE dktb2hv6v9d46 .30 3.27 2.39 2.40 3.74 82 1 3 2 2 fbhuck3ryu014 1.79 2.89 1.92 1.67 1.15 6 2 14 4 7 09-16-2014 TUE 1kuyk21zwn1ac 9.50 9.01 15.02 9.37 8.00 9 1 1 1 5 dktb2hv6v9d46 .50 4.10 3.89 3.20 4.54 83 3 3 2 2 Significant wait events for the day Only displays events which contributes > 2% of TOTAL Waits WAITPCT pct contribution to TOTAL WAIT TIME for given day WAITTIME secs waited/spent on that wait event

Further drill down on sql_id Turns out SQL is a “SELECT-FOR-UPDATE” causing high enqueue waits impacting overall higher SQL execute elapsed time and higher CPU time @sqlbyid Enter value for sql_id : 1kuyk21zwn1ac /* sample sql for sql_id 1kuyk21zwn1ac*/SELECT * from A FOR UPDATE; SNAP_ID DBNAME EXECS_DELTA AVG_BG AVG_IO AVG_ROWS ---------- ------------------------------ ----------- ---------- ---------- ------------------------------------------- 118140 DB_A_LIVE 9256 100.4 .7 7.6

Future OEM AWR Warehouse being considered May use for performance tracking and integrated dashboard Will need to extend the AWR Warehouse for functionality like ADG performance monitoring

Q & A Thank You!