RAT im Projekteinsatz – was hat sich bewährt, was nicht... Konrad Häfeli Technologie Manager Principal Consultant Partner DOAG SIG RAT Offenbach, 12.10.2010 Basel Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Zur Person... Technology Manager Infrastructure Wissenserrarbeitung und Vermittlung Technologieprojekte, Techno Circle, Workshops,... Techn. Marketing (DOAG Konferenz, OOW,...) Ausrichtung der Technologie Strategie Aufbau und Betrieb des Technology Centers Ausrichtung und Entwicklung der TVD-ToolboxTM Principal Consultant Trainer Architektur und Interna Oracle Backup Recovery Oracle Treiben von Schwerpunktthemen BR (Verfügbarkeit), Upgrade (RAT), Replication, Cloud Computing, Database Machine/Exadata 2 RAT im Projekteinsatz © 2010 Trivadis Facts & Figures Über 540 Mitarbeiter an 11 Standorten im Raum D-A-CH Finanziell unabhängig und nachhaltig profitabel Kennzahlen 2009 Konzernumsatz: CHF 100 Mio. / EUR 66 Mio. Bei über 650 Dienstleistungskunden in über 1'600 Projekten aktiv Über 160 laufende Service Level Agreements Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. / EUR 3.3 Mio. 3 RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 4 RAT im Projekteinsatz © 2010 Change!?! Never change a running system ;-) … manchmal halt doch! Versionsupgrade DB-Architekturänderungen (Single Instance –> auf RAC) Plattformänderungen (Prozessor/Rechnerarchitekturen) Vielfach mit Hoffnungen verbunden Im Gegensatz zur Politik muss die Technik vorher die Vorteile beweisen 5 RAT im Projekteinsatz © 2010 Problemstellung Sicherstellung, dass nach einer Änderung das System mind. gleich „gut“ läuft (meistens die Durchlaufzeit) D.h. Testen: Testsystem bereitstellen Reproduzierbare, produktive Last bereitstellen Testdaten passend für die Last bereitstellen Testiteration Aufwändig Da kommt RAT doch sehr gelegen RAT, ist ein Framework, die Lösung müssen wir bauen „a fool with a tool is still a fool…“ 6 RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 7 RAT im Projekteinsatz © 2010 Real Application Testing – Übersicht Eine der wichtigste Fragen von DBAs und Entwickler “Läuft meine Applikation nach diesen Änderungen?" Änderungen und ihre Einflüsse: Hardware (Storage, Netzwerk, etc.) Betriebssystem Datenbank (Versionswechsel, INIT.ORA, RAC, etc.) Datenzugriff (Datenvolumen, Indexing, Partitioning, etc.) Real Application Testing ist das Oracle Tool zum beantworten solcher Fragen Statements und Tätigkeiten können aufgezeichnet und auf diverses Umgebungen wiedergegeben werden RAT8im Projekteinsatz © 2010 Real Application Testing – Begriffe Real Application Testing Database Capture and Replay SQL Performance Analyzer SPA Database Capture and Replay: Aufnahme und Wiedergabe der Datenbanklast SQL Perfomance Analyzer: Analyse und Wiedergabe von SQL Statements RAT9im Projekteinsatz © 2010 Einsatzkonzept SPA vs. DB Replay SPA Was: SQL response time (nach Veränderungen) Wie: Ausführung jedes Statements im Tuning Set, Vergleich Exec Plan und runtime Stats Wann: Unit Testing, Identifikation problematischer SQL 10 RAT im Projekteinsatz DB replay Was: Workload Durchsatz (nach Veränderungen) Wie: kompletter Workload repaly mit concurrency, synchronization und dependency Wann: Overall testing aller Sub-Systeme mit Produktionslast © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 11 RAT im Projekteinsatz © 2010 Server Sizing Projekt (1) Bestehendes System: Sun Solaris SPARC 10.2.0.4 Ca 1TB Daten OLTP Forms Applikationen mit 80% der Businesslogik in PL/SQL Testhardware für 2 Wochen gemietet bei Sun Kunde wollte 1 Woche capturen Nach einem Tag 60GB capture files Calibrate ergab 15 Workload Clients 12 RAT im Projekteinsatz © 2010 Server Sizing Projekt (2) Replay Ablauf, Target 11.1.0.7 Preprocessing, ca 1 ½ Stunden Replay start, für ½ Stunde okay Danach brach ein Großteil der WRCs mit ORA-600 ab… Bug 9732822: WRC CLIENT FAILD WITH OCI-24550 In 11.2 gefixed… Aufsetzen des Targets mit 11.2.0.1 Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x60] [PC:0x103D946DC, kecpmtsPrqDelf()+28] [flags: 0x0, count: 1] Errors in file… ORA-07445: Exception aufgetreten: CORE Dump [kecpmtsPrqDelf()+28] [SIGSEGV] [ADDR:0x60] [PC:0x103D946DC] [Address not mapped to object] [] 13 RAT im Projekteinsatz © 2010 Server Sizing Projekt (3) Service Request eröffnen ADR Zip hochladen Warten… Der Kunde hat dann das RAT Sizing Projekt abgebrochen… Lessons learnt: 14 Es braucht auch bei RAT Zeit! Beim ersten Mal PoC für den RAT Einsatz planen Bei „gewissen“ Lastverhalten reagiert RAT buggy… SR Eskalation (hartnäckig bleiben…) RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 15 RAT im Projekteinsatz © 2010 Migration RAC auf Exadata Reference Projekt für Exadata HA RAC Sun Solaris SPARC (E2900) Exadata Database Machine Quarter Rack „Volles“ Migrations Programm 16 Grundsetup DB Konfig gemäss Kundenspezifikation Setup von DBFS für Filetransport Datenload mit impdp Nachführung mit Golden Gate Replikation Testing mit RAT Fallback mit „reverse“ Golden Gate Replikation RAT im Projekteinsatz © 2010 Migration RAC auf Exadata (2) Source System Sun Solaris SPARC 10.2.0.4 Ca 500GB Daten OLTP Web Applikation über Connection Pool Die ersten Tests mit Capture/Replay brachten ein Problem Gewisse Statements wurden nicht replayed (sind aber definitiv im Capture Zeitraum gelaufen...) Untersuchungen (nach dem Einen oder Anderen nicht relevanten patch) ergaben Statements sind nicht im capture file 17 RAT im Projekteinsatz © 2010 Migration RAC auf Exadata (3) Reproduzieren mit Sqlplus Statement absetzen, commit, warten,… nichts Erst das exit aus Sqlplus forciert ein Schreiben ins capturefile Oracle Entwickung (da wurde eskaliert…): Yes this is expected. Your capture session only had one statement and was idle when finish_capture was called; therefore, … the unflushed buffer never made it to disk. This is a possible case, but it almost never happens in a real system. 18 RAT im Projekteinsatz © 2010 Migration RAC auf Exadata (4) Flush Conditions für Capture files: session log out OR when finish_capture is running (it runs for at least 30 seconds by default) OR when the buffer is 75% or more full (default buffer size is 64kb) OR every 5 minutes The only issue is that, for this flush to happen, the session has to be active Beeinflussung durch: Erhöhung des timeout für finish_capture Reduktion der buffer size (ergibt aber höhere I/O Last) 19 RAT im Projekteinsatz © 2010 Migration RAC auf Exadata (5) Originalzitat Kunde: Die Angaben, dass der Buffer automatisch nach "75% voll" geschrieben wird oder nach einem Timeout von 5 Minuten, konnte von uns nicht festgestellt werden (hat einfach nicht funktioniert), … Resultat: RAT wurde abgebrochen und im Migrationsprojekt nicht produktiv eingesetzt Unzufriedenheit auf Kunde UND Oracle Seite 20 RAT im Projekteinsatz © 2010 Migration RAC auf Exadata – Bewertung Zeitrahmen zu knapp für den Rat Einsatz Applikationsverhalten nicht klar RAT Verhalten nicht klar Einsatzziele von RAT nicht abgeglichen War es wirklich nötig die letzten Statements im Replay zu haben? RAT war nicht prioritär, die Plattform ist seit Juli produktiv 21 RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 22 RAT im Projekteinsatz © 2010 Lasttest auf Oracle VM Kunde zieht ein Wechsel von IBM P550 auf x86 mit Oracle VM in Betracht Source AIX 6.1 Power5 (2 Quad Core CPU) Lpar Setup Oracle 10.2.0.4 Lokaler Storage Target 23 Fujitsu Siemens RX300S, Xeon E5345 Oracle VM Cluster mit 2 Server (je 2 Quad Cores CPU ) Oracle VM 2.2.1 OEL 5.5 Oracle RDBMS 11.2.0.2 SAN mit OCFS Setup für Live Motion RAT im Projekteinsatz © 2010 Lasttest auf Oracle VM (2) Fragestellungen Was ist der Leistungsunterschied zwischen dem LPAR Setup und verschiedenen Oracle VM Guest Setup Wo sind die Bottlenecks… I/O? Bei welcher Concurrency stösst das System an seine Grenzen Oracle Benchmark für die virtualisierten Umgebungen Eignet sich Rat für solche Testfragen Setup Als reproduzierbaren Lastgenerator wurde Swingbench ausgewählt 24 Skalierbarer Benchmark auf Order/Entry Daten GUI (swingbench), CLI (charbench) Wizardsetup http://www.dominicgiles.com/swingbench.html RAT im Projekteinsatz © 2010 Swingbench Setup 25 RAT im Projekteinsatz © 2010 Source Database Setup 10g : Database Capture aktivieren @$ORACLE_HOME/rdbms/admin/wrrenbl.sql SQL> alter system set PRE_11G_ENABLE_CAPTURE=true sid='*'; System altered. SQL> show parameter PRE_11G_ENABLE_CAPTURE NAME TYPE VALUE ------------------------------------ ----------- -----------– pre_11g_enable_capture boolean TRUE 9i : Patch 6973309 installieren Datenbank sollte neu gestartet sein, um Seiteneffekte zu vermeiden (schon gestartete langlaufende Transaktionen, ...) Startup im restricted mode (wird unrestricted nach start_capture) Ein Directory für die Capture-Files muss existieren 26 RAT im Projekteinsatz © 2010 Capture Setup/Start Capture Filter setzen begin dbms_workload_capture.add_filter(fname => 'USERNAME', fattribute => 'USER', fvalue => 'SOE'); end; / Capture starten begin dbms_workload_capture.start_capture(name => 'SOE_TEST1_CAP', dir => 'RAT_DIR', duration => null, default_action => 'EXCLUDE', auto_unrestrict => true); end; / Exclude default action heisst include Filter Bedingung 27 RAT im Projekteinsatz © 2010 Capturing Workload ID SQL> select ID,NAME,STATUS from dba_workload_captures where name ='SOE_TEST1_CAP'; ID NAME STATUS ---------- -------------------------- ----------------------– 12 SOE_TEST1_RUN1_CAP IN PROGRES Start Last auf Client charbench.bat -c C:\Temp\RATTest\test1\swingbench-configtest1.xml -a -r C:\Temp\RATTest\test1\cb-result-test1.xml -v trans,tpm,tps Monitoring SQL> select status, count(*) from v$session where username ='SOE' group by status; STATUS COUNT(*) -------- ---------INACTIVE 3 ACTIVE 18 28 RAT im Projekteinsatz © 2010 Capture Stop Nachdem die Last durch ist begin dbms_workload_capture.finish_capture(timeout => 30, reason => 'End of workload'); end; / AWR Report erstellen begin dbms_workload_capture.export_awr(capture_id => 12); end; / Transfer der Files auf das Zielsystem oracle@oravm01:/u03/capture-files/test1/capture/ [TTCRAT02] ll ... -rw-r--r-- 1 root root 960 Oct 1 03:35 wcr_4t9cbww00307c.rec -rw-r--r-- 1 root root 17227776 Oct 1 03:37 wcr_ca.dmp -rw-r--r-- 1 root root 22313 Oct 1 03:37 wcr_ca.log 29 RAT im Projekteinsatz © 2010 Target Database Setup Datenbanken auf den gleichen Stand bringen Backup / Restore impdp Garantierter Restore Point setzen Flashback Database $ impdp soe/soe content=all directory=rat_dir dumpfile=ttcrat01_soe.dmp logfile=ttcrat02_soe_imp.log schemas=soe SQL> alter package SOE.ORDERENTRY compile body; 30 RAT im Projekteinsatz © 2010 Preprozess Workload Files vorverarbeiten begin dbms_workload_replay.process_capture(capture_dir => 'RAT_DIR', parallel_level => null /*auto-evaluate; 1 = serial*/); end; / Ergibt ein Unterverzeichnis „pp11.2.0.2.0“ oracle@oravm01:/u00/app/oracle/admin/TTCRAT02/dmp/pp11.2.0.2.0/ [TTCRAT02] ls wcr_calibrate.xml wcr_conn_data.extb wcr_dep_graph.extb wcr_process.wmd wcr_scn_order.extb wcr_commits.extb wcr_data.extb wcr_login.pp wcr_references.extb wcr_seq_data.extb Auch mit GUI möglich (Enterprise Manager) 31 RAT im Projekteinsatz © 2010 Preprozess (2) Checken der Files ab 11.2.0.2 oracle@oravm01:/u00/app/oracle/product/11202/rdbms/jlib/ [rdbms11202] ls -l dbr* -rw-r--r-- 1 oracle oinstall 117868 Sep 4 04:34 dbranalyzer.jar -rw-r--r-- 1 oracle oinstall 74187 Sep 4 04:34 dbrparser.jar Mit java Aufruf: java -classpath $ORACLE_HOME/dbjava/lib/ojdbc5.jar:$ORACLE_HOME/rdbms/jlib/dbrpa rser.jar:$ORACLE_HOME/rdbms/jlib/dbranalyzer.jar oracle.dbreplay.workload.checker.CaptureChecker /u03/app/oracle/admin/TTCRAT02/dmp //oravm01.ttc.trivadis.com:1521/TTCRAT02.ttc.trivadis.com wcr_cap_analysis.html 32 RAT im Projekteinsatz © 2010 Preprozess (3) Mit Enterprise Manager 33 RAT im Projekteinsatz © 2010 Probleme „Starke“ PL/SQL Last 34 RAT im Projekteinsatz © 2010 Probleme (2) PreProc ORA-600 wegen corrupten Capture Files ORA-00600: internal error code, arguments: [17183], [0x2B4D34C7ABC0], [], [], [], [], [], [], [], [], [], [] DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE: WARNING: Preprocessing encountered a CORRUPT file wcr_4t9cm0800341y.rec in /u00/app/oracle/admin/TTCRAT02/dmp. ORA-15591: encountered corrupt workload capture files Cause: The captured workload contained one or more corrupt recording files. Action: … The corrupt files will be replayed up to the point of the corruption. Alternatively, it is possible to remove the corrupt files and run DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE again. In this case, no workload from the corrupt files will be replayed. WARUM?: Aufgetreten bei grosser (ab ca 200 Session) Last… 35 RAT im Projekteinsatz © 2010 Replay Mit PL/SQL API begin dbms_workload_replay.initialize_replay(replay_name => 'SOE_TEST1_REP1', replay_dir => 'RAT_DIR'); end; / select * from dba_workload_connection_map; begin dbms_workload_replay.remap_connection(connection_id => 1, replay_connection => 'oravm01.ttc.trivadis.com:1521/TTCRAT02.ttc.trivadis.com'); end; / begin dbms_workload_replay.prepare_replay(synchronization => 'SCN', connect_time_scale => 100, think_time_scale => 100, think_time_auto_correct => true, scale_up_multiplier => 1 , capture_sts => true, sts_cap_interval => 300 ); end; / 36 RAT im Projekteinsatz © 2010 Workload Client Calibrate wrc mode=calibrate replaydir=/u00/app/oracle/admin/TTCRAT02/dmp . . Report for Workload in: /u00/app/oracle/admin/TTCRAT02/dmp ----------------------Recommendation: Consider using at least 1 clients divided among 1 CPU(s) You will need at least 56 MB of memory per client process. If your machine(s) cannot match that number, consider using more clients. Workload Characteristics: - max concurrency: 15 sessions - total number of sessions: 15 Assumptions: - 1 client process per 50 concurrent sessions - 4 client process per CPU - 256 KB of memory cache per concurrent session - think time scale = 100 - connect time scale = 100 - synchronization = TRUE 37 RAT im Projekteinsatz © 2010 Workload Client (2) Start wrc soe/[email protected]/TTCRAT02.ttc.trivadis.com mode=replay replaydir=/u00/app/oracle/admin/TTCRAT02/dmp Start Replay begin dbms_workload_replay.start_replay; end; / Fortschritt im Enterpries Manager 38 RAT im Projekteinsatz © 2010 Problem Hanging Client: begin dbms_workload_replay.cancel_replay(reason => 'Cancellation'); end; / Oder vor dem Start der wrc begin dbms_workload_replay.set_replay_timeout(enabled => true, min_delay => 5, max_delay => 50, delay_factor => 10); end; / Klar das Workload Timing ist dann nicht mehr relevant… 39 RAT im Projekteinsatz © 2010 Reports Das Reporting ist sehr stark select * from dba_workload_replays; begin dbms_workload_replay.export_awr(replay_id => 32); end; / Im EM sehr schön 40 RAT im Projekteinsatz © 2010 Reports (2) 41 RAT im Projekteinsatz © 2010 Resultat Lasttest Durch Real Application Testing konnten die beiden Systeme in verschiedenen Facetten verglichen werden Die CPU Leistungsfähigkeit des Intel Prozessors ca 15% grösser Die ca 60% längere Durchlaufszeit der Referenzlast konnte eindeutig dem I/O System zugeschrieben werden (OCFS Zugriff über die Virtualisierungsschicht) Folgende Aufgaben stehen nun noch an Tuning der I/O Schicht Belastung des Oracle VM Servers mit zusätzlichen Gast VMs und Vergleich der Performancedaten Oracle VM ist mit Abstrichen im I/O Bereich für die Ablösung des AIX Servers einsetzbar 42 RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 43 RAT im Projekteinsatz © 2010 SQL Performance Analyzer - Workflow Produktion Trace SQL Transfer RAT SQLTuning Set erstellen Auswertung Trace (Pre-Change) Test SQL Tuning Set Ausführen (Post-Change) RAT Auswertung Trace von Datenbank-Aktivitäten Erstellen eines Tuning Sets Ausführen des Tuning Sets Auswertung zentral über eine 11g DB Verschiedene Metriken möglich Mögliche Upgrade Kombinationen (Metalink Note 560977.1) 44 RAT im Projekteinsatz © 2010 Projektreference für SPA SQL Performance Analyzer Compare RAT Trace Compare NEW PROD PROD Copy Trace 45 RAT im Projekteinsatz Execute © 2010 Details SQL Performance Analyzer Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 64bit Production With the Partitioning, OLAP, 11.1.0.7 Data Mining and Real Application Testing options RAT #3 Create SQL Tuning Set #4 Create SQL Tuning Task #5 Evaluation Trace 9i #8 Generate Reports Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, OLAP, Oracle Data Mining and Real Application Testing options JServer Release 9.2.0.8.0 - Production 9.2.0.8 PROD #1 Trace 46 RAT im Projekteinsatz 10.2.0.4 NEW PROD Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options © 2010 SQL Tuning Set Sammlung von SQL Statements (jedes nur ein Mal) Automatische Generierung via API oder GUI (Workflow) Mehrfach einsetzbar Benötigt eine Mapping Table 47 RAT im Projekteinsatz DECLARE mycur dbms_sqltune.sqlset_cursor; BEGIN DBMS_SQLTUNE.CREATE_SQLSET('9I_PROD_WLKD'); OPEN mycur FOR SELECT VALUE (P) FROM table(DBMS_SQLTUNE.SELECT_SQL_TRACE ( directory => 'TRC2SET', file_name => '%ora%', mapping_table_name => 'MAPPING', select_mode => … © 2010 Strategie Trace nach Applikation / Tageszeiten in SQL Tuning Sets Trace von Top Sessions / relevanten Statements in SQL Tuning Sets Bündelung nach Applikation in SQL Tuning Sets Analyse der schlechter laufenden Statements Verwaltung der Statements Rerun getunter Statements 48 RAT im Projekteinsatz © 2010 Unterstützung mit Tools Shell-Tool Oracle Database Control (GUI) Oracle Application Express Microsoft Excel 49 Step Was Tool 1.1 Tuning set creation from trace files Shell Tool 1.2 Analyze trace data Shell Tool 1.3 Create compare run Shell Tool 1.4 Create report Shell Tool 2 Graphical analysis Oracle Database Control 3 Administration of the statements Application Express 4 Coordination Microsoft Excel RAT im Projekteinsatz © 2010 Vorteile der Tools Schnelle Erstellung von SQL Tuning Sets Schnelle Ausführung von compare runs Easy to use Reproduzierbarkeit Schneller als GUI 50 RAT im Projekteinsatz © 2010 Grafische Analyse (EM) Compare run overview bis Details 51 RAT im Projekteinsatz © 2010 Application Express Administration für 28‘000 statements Metadata Schema mit Zugriff auf SPA Daten Web-Access Reports Bemerkungen, etc. Direkter Link vom Statement in den EM 52 RAT im Projekteinsatz © 2010 Resultate 450 SQL von 28‘000 Statements analysiert Über 230 SQL Tuning Sets kreiert Über 220 trials (Compare Run) Rückfluss der Erkenntnisse in die Entwicklung Indexstrukturen angepasst Optimale optimizer settings definiert Objektstatistik sammeln massiv vereinfacht Database bereit für Upgrade 53 RAT im Projekteinsatz © 2010 Agenda Einleitung Übersicht Server Sizing Migrationsunterstützung auf Exadata Daten sind immer im Spiel. Oracle VM Verifikation mit Capture/Replay Migration von 9i auf 10g mit SQL Performance Analyzer Zusammenfassung 54 RAT im Projekteinsatz © 2010 was hat sich bewährt… Proof of Concept für RAT im Projekteinsatz machen Kosten/Nutzen Analyse machen Altes Testverfahren vs. RAT Einsatz (basierend auf dem RAT PoC) Einsatzkonzept erarbeiten für Capture/Replay und SPA Zeit einplanen (basierend auf dem PoC, bei bugs patching) Kennenlernen der Applikationsarten/lasten Nicht alle eigenen sich genau gleich für Replay Kompromisse eingehen bei den Replay-Settings Einsatz der zur Verfügung stehenden CaptureChecker 55 RAT im Projekteinsatz © 2010 was hat sich bewährt… (2) Automatismen via PL/SQl API einführen RAT Infrastruktur DB bei SPA Einsatz von SPA bei Upgrade ab 9i auf 10g oder 11g Auswertung mit Hilfe der Reports Einsatz des „normalen“ Tuning Wissens (AWR Compare, ASH,…) Statement Tuning mit Hilfe Plan Baselines und Tuning Advisor Prüfung der Anpassungen durch iteratives replay resp. SPA trial Einsatz einer der Produktion äquivalenten Testumgebung Rücksetzen via flashback auf garantierten Restorepoint Zurücksetzen der Systemzeit bei (sysdate Einsatz) 56 RAT im Projekteinsatz © 2010 …, was nicht... Der Glaube an das perfekte Tool (blauäugig sein) RAT ist sehr mächtig, hat (darum) aber auch Bugs (Unfeature ;-) ) Unter Zeitdruck RAT einsetzen Beim erstmaligen Einsatz Lernkurve einrechnen Grosse Last Anzahl concurrent Sessions (>100?) Grosse Workload Datenmenge Stark PL/SQL-lastige Applikationen Sehr kleine Last (letzte Statements werden nicht geflushed) Lange Capturezeiten (ganzer Tag/Woche…) „teile und herrsche“, Fokus auf das Wesentliche ergibt schnellere Iterationszyklen 57 RAT im Projekteinsatz © 2010 Fazit RAT adressiert genau die Unsicherheiten bei Veränderungen der Datenbank-Infrastruktur Eine RAT Evaluation gehört in jedes Upgrade/Migrations Konzept 58 RAT im Projekteinsatz © 2010 Vielen Dank! ? www.trivadis.com Basel Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien