Von Beta bis Produktion:
Oracle 12cbei der TGW Logistics GroupMartin Klier, Performing Databases GmbH
12c Symposium.
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 3/38
Martin Klier
● Managing Partner / Database TechnologyPerforming Databases GmbH
● Schwerpunkt Performance und Hochverfügbarkeit
● Linux seit 1997● Oracle seit 2003
● Email: [email protected]
● Weblog: http://www.usn-it.de
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 4/38
Performing Databases
● Spezialisten für Datenbanktechnik– Konzeptberatung und Vergabekompetenz– Architektur- und Systemplanung– Lizenzierung– Realisierung und Troubleshooting
● Kontakt– Performing Databases GmbH
Wiesauer Straße 2795666 Mitterteich
– Web: http://www.performing-databases.com
– Twitter: @PerformingDB
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 5/38
International für Sie im Einsatz
● Planung
● Lizenzierung
● Umsetzung
● Tuning
● Troubleshooting
● Wartung
● Upgrade
● Migration
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 6/38
Schlüsselfertige Logistiklösungen Weltweit im Einsatz
● Mechanik und Elektrotechnik– Regalbediengeräte– Shuttles– Förderer u.v.m.– Regler– SPS
● Software– Warehouse Management– Materialfluss– Monitoring und Reporting
● 2.500 Mitarbeiter
● 475 Mio. EUR Umsatz
Kontakt:http://www.tgw-group.com
TGW Logistics Group
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 9/38
Datenbankversionen @ TGW
● Gewartete Kundensysteme– 7.2– 8.1– 9.2– 10.2– 11.1 + 11.2– 12.1
● Entwicklungs- und Reproduktionsumgebungen– 10.2– 11.2– 12.1
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 10/38
Datenbankadministration @ TGW
● Deployment / Standardsetup– Neusysteme ab Oracle 12c
● Oracle Enterprise Linux 7 (VMware Image)● bash + SQL Skripte● Checkliste
– Systeme Oracle 11g (11.2)● Oracle Enterprise Linux 6● Response File Silent Mode ● bash + SQL Skripte● Checkliste
– Legacy (Oracle oder MS SQL Server)● Windows, AIX, RHEL, SLES, OEL● Individuelle, manuelle Setups
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 11/38
● Lizenz– Enterprise Edition
● Diagnostics Pack (AWR, ADDM)● Partitioning (kurz-/mittelfristige Datenhaltung)● InMemory (Reporting + OLTP Tuning)● Active Dataguard (gepl. f. Reporting)● RAC (nur für Sonderbauten)● Advanced Compression (Datentransfer, Archiv)
– Standard EditionBestandskunden, Legacy-Systeme
Datenbankadministration @ TGW
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 12/38
Datenbankadministration @ TGW
● Technologien zur Hochverfügbarkeit (je nach Generation)– DataGuard– Storage Mirroring– VMware ESX Cluster + vMotion– Oracle Clusterware + Single Instance– RAC
● Tuning und Troubleshooting– AWR– Dynamic Performance Views
(versionsverwaltete Skriptsammlung)– Kategorisierung im UHD: Toad Spotlight (von 2010) – Linux/Unix: nmon (Nigel's Monitor)– Windows: Resource Monitor
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 13/38
Datenbankadministration @ TGW
● Monitoring– iWACS® Modul .MON
● diverse logistische Metriken● Betriebssystem-Monitoring● Grundlegende DB-Metriken
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 15/38
Das Produkt iWACS®
iWACS®integrated Warehose Administration & Control System
● Produktreife– 15 Jahre Markterfolg– derzeit ca. 100
aktive Installationen
● Aktuell 7. Generation iWACS
● Datenbank-Profil– OLTP (WM, MFC ...)– OLAP (MIS)
● Java 8 SE– JDBC Thin Driver– Eigener App Server
mit DB Abstraction Layer
● Oracle Database– bis iWACS 6: Standard Ed.– ab iWACS 7: Enterprise Ed.
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 16/38
Lastverhalten iWACS
● OLTP-System
● Datenmodell– hoch normalisiert– alle Constraints angelegt
● Tabellen – PKs aus Sequenzen– intensive Bearbeitung am wachsenden Ende
● SQL zu 99,9% mit Bind-Variablen
● Umfangreiche Joins bei stark schwankenden realen Kardinalitäten
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 17/38
Kardinale Probleme?
Bestellung
Bestellungs-position
Artikel-Stammsatz
Behältermit Bestand
Lagerort
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 18/38
Lastverhalten iWACS
● Optimizer stark beansprucht– Adaptive Cursor Sharing unverzichtbar– Cardinality Feedback im Dauerbetrieb
● Gute Statistiken notwendig– Richtiger Zeitpunkt + Frequenz– Extended Statistics
● Hohe Anforderungen an SQL Qualität– Vermeidung von Query Rewrite– Skalierbarkeit
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 20/38
Zeitleiste Oracle 12c @ TGW
● 2012– 12c beta2
Schwerpunkt: Optimizer, RAC, Multitenant
● 2013– 12c beta3
Schwerpunkt: Optimizer
– Setup Entwicklungssystem „DEVEE07“12.1.0.1 Multitenant Single Instance
– Produktiver Nutzungsbeginn● Umstellung UNIT-Testing auf „DEVEE07“● Start iWACS® Standard-Entwicklung für 12c● Benchmarks und neue Metriken
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 21/38
Zeitleiste Oracle 12c @ TGW
● 2014– PlugIn-PlugOut Upgrade
Entwicklungssystem „DEVEE07“ auf 12.1.0.2
– Entscheidung #12cjetzt ohne Multitenant● Umstellung Planung + Kalkulation auf 12c● Logistische Leistungstests
– Beginn Evaluierung InMemory Datenbank
– Beginn der allg. Softwareentwicklung auf 12c
– Erstprojekt (Neubau, Inbetriebnahme Ende 2015)
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 22/38
Zeitleiste Oracle 12c @ TGW
● 2015– Anpassung der Lizenzmetrik für InMemory
– Entwicklung InMemory Einsatzprofile für● OLTP Tuning● Reporting Engine (iWACS® Modul MIS)
– Aufsetzen weiterer Neuprojekte
– Referenzprojekt „S. Spitz GmbH“(DB Upgrade 9i auf 12c für ein iWACS V.4)
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 24/38
S. Spitz GmbH
http://www.spitz.at
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 25/38
S. Spitz GmbH
LebensmittelFertigung und Verpackung
1,2 Millionen Artikel pro Tag
● Brotfabrik, Backwaren● Ketchup / Saucen / Konfitüren● Getränke und Sirupe● Spirituosen
iWACS®
● Stapler-Leitsystem● Materialfluss● Automatisches Lager● Versand und Verpackung
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 26/38
9i auf 12c bei Spitz
Technologie Bestand Neu
Systemtechnik
Redundanz 2 2
Clustering HP ServiceGuard VMware ESXi, vMotion
Betriebssystem SLES 9 - 32bit SLES 11.3 - 64bit
Storage Magnetplatten 7.200rpm SSD Single Layer
Server-Hardware HP ProLiant HP ProLiant
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 27/38
9i auf 12c bei Spitz
Technologie Bestand Neu
Clients
Visual Basic 7 (ODBC) Oracle 9i - 32bitAdmin Client
Oracle 12c Instant Client
Java 1.3 & 1.4 1.5
JDBC Thin Driver Oracle 9i Oracle 12c
C++ (OCI) Oracle 9i - 32bitAdmin Client
Oracle 12cInstant Client
Datenbank
Edition Standard Enterprise
Version 9.2.0.4 - 32bit 12.1.0.2 - 64bit
Zeichensatz WE8MSWIN1252 AL32UTF8
Optimizer Rule Cost Based
Speicherung Dateisystem ext3 ASM
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 28/38
Vorbereitungen I
● Abstimmung Kompatibilität und Versionen(siehe vorherige Slide)
● Festlegung der Upgrade / Migrationsstrategie=> Export / Import
● Testläufe gegen QA-System
● Anpassen Client-Setup an Instant Client
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 29/38
Vorbereitungen II
● Vorbereitung der neuen Umgebung– VMware (Spitz)– Storage (Spitz / Performing Databases)– Linux (TGW / Performing Databases)– Datenbank (Performing Databases)– Application Server (TGW)– Clients (TGW / Spitz)
● Benchmark der neuen Infrastruktur– Gesamt-Leistung (iWACS Benchmark)– IO-Leistung (Oracle ORION)
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 30/38
Ablauf
● T-90Finalisierung Rahmenbedingungen und Hardware
● T-20– Abzug Testdaten– Umsetzung Software-Changes– Datenbank-Setup (remote)
● T-10– Software-Tests bei TGW– DB-Inbetriebnahme bei Spitz (remote)– Remote Migrationstest (Export / Import, Optimierung)
● T-2Finales GO
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 31/38
Ablauf
● T-1 (Freitag)Anreise, Einweisung vor Ort
● T-0 (Samstag, 30.05.2015)– Shut down der Produktion im Werk– Abschaltung der iWACS-Software– Export Datenbestand (EXP)– Import Datenbestand (IMP, parallel)– Konvertierung der Tabellen Byte → Char– Stichproben der Daten– Anfahren der iWACS-Software– Test grundlegender Einzelvorgänge mit der Anlage– Kleinere Nachbesserungen
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 32/38
Ablauf
● T+1 (Sonntag)– Test der Auftragsabwicklung
mit reversiblen Realdaten– Entscheidung GO LIVE– SQL Performance-Analyse auf Skalierbarkeit– Freigabe der Produktion im Werk
● T+2 (Montag)– Begleiteter Hochlauf– Behebung kleiner Störungen– SQL Performance-Analyse, Tuning– Vorläufige Abnahme
● T+3 (Dienstag)– Rückreise
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 33/38
Lessons Learned Confirmed
● Nicht getestet = wird fehlschlagen(Beispiel: Spezial-Drucker)
● Old Bugs Will Bite(Nested Loop ab 11gR2)
● „Schneller“ kann zu schnell sein(Race Conditions, User Experience)
● Benchmarking rulez– SSD RAIDs mit Schreibcache betreiben
(egal was $HERSTELLER sagt)– VMware CPUs shares / pinning
(egal was $HERSTELLER sagt)
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 35/38
Wir haben bei Spitz profitiert von...
● 3 Jahren „Kennenlernphase“ mit 12cdurch beta, Dev-System und Projekte
● Skepsis im Vorfeld bei neuen Features
● stabiler Oracle-Software bei Installation + Betrieb
● stabiler SQL Performance– iWACS bei Spitz arbeitet jetzt Cost-Based → skaliert!– Adaptive Cursor Sharing → arbeitet– Adaptive Plans → arbeitet– Cardinality Feedback → arbeitet– Zuverlässiges cursor_sharing=force
für 1 spezielles SQL
● Top Kundenumfeld (technisch, organisatorisch)
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 36/38
Kundenzitat
„Die Partner TGW und Performing Databases haben die Migration des zentralen Lagerverwaltungssystems der S.Spitz GmbH auf Oracle 12c professionell und kompetent konzipiert, durchgeführt und nachbereitet. Wir profitieren nun von hoher Performance der Systeme bei geringem Wartungsaufwand. Die fortschrittliche Oracle Datenbanktechnologie gibt uns die Skalierbarkeit, um mit den laufenden Investitionen in unser Logistikzentrum Schritt zu halten.“
Günter HeimbuchnerLeiter Logistik
15.10.2015 @MartinKlierDBA - Oracle Database 12c bei TGW 37/38
Vielen Dank für Ihre Aufmerksamkeit!
Wir sehen uns wieder?