oracle database 11g – real application testing€¦ · • rman pitr bis zur capture-start scn...
TRANSCRIPT
<Insert Picture Here>
Dr. Norbert Leiendecker Principal Sales Consultant, OCP Server Technologies Competence Center - Database ORACLE Deutschland B.V. & Co. KG, Geschäftsstelle Hamburg
Oracle Database 11g – Real Application Testing
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Real Application Testing – Was ist das?
• Option der Datenbank Enterprise Edition • Besteht aus zwei Komponenten, unabhängig voneinander einsetzbar
– Database Replay („DB Replay“) • Aufnahme/Wiedergabe Datenbank-Workload
– SQL Performance Analyzer („SPA“) • Analyse von SQL-Statements
• Gemeinsame Vorteile: – Nutzbar OHNE zusätzliche Installation – Nutzbar OHNE zusätzliches Skripting – Einfache Verwendung über Enterprise Manager Database Control /Grid Control
(10.2.0.5) oder Packages – Detaillierte Berichte: Performance-, Divergenz- und Fehlerberichte – Nutzbar auch vor 11g
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Realistische Einschätzung der Auswirkung von Systemänderungen • Realistisch, da mit den Livedaten des Kunden statt
künstlicher Workloads getestet wird • Reduktion der Kosten und des Risikos bei
Systemumstellungen
Real Application Testing – Wozu?
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Welche Auswirkungen wird ein OS- oder DB-Upgrade haben?
Wird das neue SAN die erhoffte IO-Leistung bringen?
Ist die neue Server-Architektur die richtige
Entscheidung?
Welchen Einfluß wird die Aktivierung von DB-Optionen
haben?
Herausforderungen bei Systemänderungen
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Entscheidungshilfen?
TPC-C
TPC-E
TPC-H
Swingbench
hammerora
jTPCC BenchmarkSQL
Bristlecone
FinTime LoadRunner
Künstlicher Workload „Künstliche“ Hardware
Künstlicher Workload
Zu allgemeiner Ansatz für DB-Workloads
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
≥ 9.2.0.8
Database-Workload
Middle Tier
Clients
Client/Server
Database Replay – Worum gehts? Capture/Replay des realen Datenbank-Workloads
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload
Workload Replay Clients
Workload
Produktivsystem Testsystem
Database Replay - Workflow
≥ 9.2.0.8 ≥ 11g
Capture-Files
Capture-Files
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Database Replay – Änderungen testen Einige Einsatz-Beispiele Produktiv-System Testsystem
Release x Release +x (Patch/Patchset/Upgrade) Datenfiles im Filesystem Datenfiles in ASM Flashback Database disabled Flashback Database enabled
BS-Release BS-Release +x BS anderes BS Alte Hardware (Platten/SAN/Server) Neue Hardware (Platten/SAN/Server) ohne Flash Cache mit Flash Cache (Solaris, OEL) Parameter geänderte Parameter Single Instance/RAC RAC/Single Instance ohne Partitioning mit Partitioning ohne Compression mit Compression ohne Encryption (TDE) mit Encryption (TDE)
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Eine Maschine – Produktion, Test und Workload Replay Clients (WRC)
• Zwei Maschinen – 1. Maschine: Produktion – 2. Maschine: Test und WRC
• Mehrere Maschinen – 1. Maschine: Produktion – 2. Maschine: Test – Weitere Maschine: WRC (Software Download von OTN: Instant Client)
• Unabhängig von RAC und Single Instanz Installation
Database Replay – Mögliche Konfigurationen
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Produktivsystem:
1. Schritt : Backup + Workload Capture • Vorbereitung des Testsystems (Backup, NLS, Systemzeit etc.) • Übertragen des aufgenommenen Workloads auf das Testsystem
• Testsystem:
2. Schritt: Processing (1x) 3. Schritt: Replay Workload mit Workload Replay Clients 4. Schritt: Analysen mit Reports
• Fehler • Daten-Divergenz • Performance-Divergenz (AWR, ASH)
Database Replay – Ablauf in 4 Schritten...
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Unterstützung im gesamten Ablauf • Generierte Reports und ihre Vergleiche
Database Replay Einfache Handhabung im EM
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Database Replay Einfache Handhabung im EM
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 1: Workload Capture
Datei 1
Datei 2
Datei n
…
Storage
• Speicherung der Informationen in Plattform-unabhängigen binären Dateien im FS
• Capture ab 9.2.0.8 • Minimaler Overhead • Filter sind möglich:
– Inclusion Filter – Exclusion Filters – Filter Attributes
• User • Program • Module • Action • Service • Session ID
Filesystem
Workload
Produktivsystem
≥ 9.2.0.8
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Binäre wcr_xxx.rec
Files
Sessions
WRCs Workload Replay Clients
Capture-Dateien – Capture und Replay
copy
Produktivsystem Testsystem
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Aus AWR-Report für entsprechendes Zeitfenster: “bytes received via SQL*Net from client” x 1,1 … 1,7
Volumen Capture-Dateien? Faustformel
Kunden-Beispiel: 25h(!)-Workload eines großen OLTP-Systems à ca. 5 GB Capture-Dateien
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
alter system set pre_11g_enable_capture*=true; create directory CAPDIR as ‘/u01/capture’;"
begin dbms_workload_capture.start_capture (name => ’prod_capture’, dir => ‘CAPDIR’, duration => NULL); end; /"
Schritt 1: Workload Capture 10g – PL/SQL-API
Capture starten
begin dbms_workload_capture.finish_capture (); end; /"
Capture stoppen
*Muss nach dem Upgrade auf 11g disabled werden!
Für Releases < 10.2.0.5 ggf. Patch notwendig à MOS-Note 560977.1
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 1: Workload Capture 10g – EM
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 1: Workload Capture 10g – EM
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 1: Workload Capture – Analyzer Report
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Einschränkungen 10g
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Einschränkungen 11g
An Scheduler-Jobs denken! à Systemzeit auf Testsystem
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 2: Process Workload Dateien
…
Metadaten
Testsystem • Setup des Testsystems
– Wichtig: Applikationsdaten sollten die gleichen wie auf dem Produktionssystem sein (Zeitpunkt CAPTURE Start)
– Veränderungen einrichten – Nutze RMAN, Data Guard,
Snapshot Standby, Data Pump, Flashback Database, TTS usw.
• „Processing“-Operation (1x) Erzeugung Metadaten für das entsprechende Replay-DB Release
• Danach ist die Wiederholung des „processed“ Workloads beliebig häufig möglich (Backup + Replay Dateien!)
Datei 1
Datei 2
Datei n
…
Capture Dateien
Datei 1
Datei 2
Datei n
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Setup des Testsystems Beispiel-Szenario: Upgrade 10g auf 11g
• Klonen des Produktivsystems • RMAN PITR bis zur Capture-Start SCN (Start-SCN z.B. aus dba_workload_captures,
wrr$_captures od. wcr_cr.text) oder
• DB-Template + TTS/XTTS • Basis für Workload-Replay!
• Aufnehmen des/der Workloads
• Replay-Dateien passend zum Klon • Transport zum und Processing auf dem Testsystem
• Ggf. Upgrade des Testsystems auf 11g, abhängig vom Migrationsverfahren
• Damit auch Test des Upgrades an sich! • Ggf. zweiter 10g-Datenbereich zum Upgrade, um 10g-Testumgebung zu erhalten
• Backup der 11g-DB
• Zusammen mit den Replay-Files Basis für wiederholbares Replay des Workloads • Alternativ „Guaranteed Restore Point“
• Kein Flashback-Logging notwendig • Sehr schnell
• Wiederholtes Replay des Workloads unter 11g im Testsystem mit verschiedenen Variationen des
Testsystems (OS-/DB-Parameter, Optionen, ...)
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 3: Workload Replay
• Replay berücksichtigt das Timing, die Concurrency und die Abhängigkeiten des Capture Systems (Produktionssystem)
• Workload Replay Client ist ein spezielles Programm zum Lesen der Workload Dateien und Abspielen auf dem Testsystem
• Ggf. Anstarten von mehreren WRCs
• Replay nur ab 11g
Testsystem Workload Replay Client(s)-WRCs
Datei 1
Datei 2
Datei n
…
Replay Dateien Metadaten
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Wie viele Replay Clients?
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients 1
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients 2
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients 3
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients 4
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Workload Replay – Starten der Replay Clients 5
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Plattform egal • Version muss mit Version der Replay-DB
übereinstimmen
Workload Replay Clients – Plattform?
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Oracle EE 11.2.0.2 DB Replay
11.2.0.2 WRC-Clients + preprocessed Capture-Files
Workload Replay Clients – Plattform?
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Error Divergenz – New: nur im Replay nicht im Capture – Not Found: nur im Capture nicht im Replay – Mutated: unterschiedlich im Replay und Capture
• Data Divergenz – Replay: unterschiedliche Anzahl Zeilen gefunden – Kein Vergleich der Daten selbst
• Performance Berichte – Capture Bericht – Replay Bericht – AWR, ASH Report
Schritt 4: Analyse & Berichte
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 4: Analyse & Berichte
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 4: Analyse & Berichte Beispiel: CPU/IO-Intensiver Workload Capture: 1 Core, Replay: 2 Cores
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 4: Analyse & Berichte Beispiel: CPU/IO-Intensiver Workload Capture: 1 Core, Replay: 2 Cores + Index
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 4: Compare Period Report
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Schritt 4: Compare Period Report
Index!
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Weitere Herausforderungen...
Welche Ausführungspläne ändern sich?
Wie verändern sich die Antwortzeiten?
Welche Auswirkungen werden Parameter-
Änderungen haben?
Wie verhalten sich meine Fremdapplikationen im veränderten System?
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
• Ausführung und Bewertung eines SQL-Workloads in unterschiedlichen Umgebungen nach unterschiedlichen Metriken • Nutzbar für: – Performanceanalysen von definierbaren SQL Workloads
• Voraussetzung: SQL Tuning Sets (STS) – Einfach automatisch generierbar im Enterprise Manager – Geringer Overhead! – STS schon in 10g – SQL Trace ist in STS umwandelbar nutzbar in 9i
RAT – SQL Performance Analyzer
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
SQL aufzeichnen
• SQL-Workload in Produktion aufzeichnen • Ausführungen des Workloads in Test-/Produktionsumgebung • Analyse der Ergebnisse (und optionales Tuning bei Regressions)
Middle Tier
Storage
SQL Abfragen ausführen
Produktion Test
Optional: SQL Tuning Advisor SQL Plan Management
SQL Performance Analyzer - Ablauf
Workload
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
SQL Performance Analyzer - SPA Der Einstieg im Enterprise Manager
DSS/DW-Workloads
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
SPA Report: Ein Beispiel
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
SPA à SQL Tuning Advisor
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Beispiel: Was würde ein Index bringen?
• optional
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Im Detail
Execution Plan 1
Execution Plan 2
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
RAT - Best practices • Zuerst SPA nutzen Regressions eliminieren • Zeit einplanen! • Mit kurzen Capture-Fenstern starten
– 30 min – 2h – Workload Analyzer-Report ansehen
• Workload kennen – Einschränkungen RAT – Systemzeit – Scheduler-Jobs – Ggf. auftretende Divergenzen bewerten
• Sprechende Replay-Namen vergeben – Protokoll führen, was verändert wurde
• Goldene Regel: Nicht zuviel gleichzeitig verändern! • Erstes Replay Base-Replay
– Funktional ok? – Eventuelle Divergenzen, Fehler verstehen – Replay mit Replay bzw. Base-Replay vergleichen
• Tuning Know-How schadet nicht... • *.wmd und *.dmp-Files aus Replay-Dir aufbewahren
– späteres, weiteres Reporting
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
SQL Performance Analyzer
DB Replay
Fokus Ausführung der Einzel Statements in Isolation
Replay des gesamten Workloads mit Concurrency
Wiederholung Ja Ja (Vorbereitung beachten)
Installation 11g: keine <11g: mit Patch
11g: keine <11g: mit Patch
Anwendung vor 11g (*)
9.x => 10.x oder 11g 10.x => 10.x oder 11g 11g => 11g
9.2.0.8, 10.x => 11g
Art des Workloads SQL Workloads
Gesamter DB Workload
Voraussetzung STS Keine
Ergebnisse Einzel Execution Path Analyse
Capture und Replay Report, AWR und ASH Diff Report
(*) Detaillierte Informationen in Note 560977.1
Real Application Testing - Summary
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Real Application Testing und SAP
© 2011 Oracle Corporation – Dr. Norbert Leiendecker
Real Application Testing Weitere Infos und Notes
http://www.oracle.com/us/products/database/options/real-application-testing/index.html
Database Replay Diagnostic information [ID 1287620.1]