RAT - Trivadis

Werbung
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
Herunterladen