Verteilte Transaktionen in Java beherrschen Wie Transaction-Manager arbeiten



Ähnliche Dokumente
C1+C2: Online-Umfrage Ihre Analytics Architektur heute und morgen?

Business Excellence Days bayme vbm / BME

Web Dynpro Java. SAP NetWeaver CE 7.1 1

SAP NetWeaver Enterprise Search 7.0

Configuration of SAML Holder-of-Key Token for the ABAP Web Service Provider

BPM Process in a day. Unleash the power of the SAP NetWeaver BPM. Andreas Weise Gregor Müller. COMPOSITION Focusgroup

SAP BusinessObjects Planning and Consolidation Version 10.0 for NetWeaver. Platform Information, Support Pack Dates and Maintenance Dates

SAP ERP HCM E-Recruiting 6.0. Improvements in - Applicant Tracking - Requisition Management. Enhancement Package 3 SAP AG

SAP ERP HCM E-Recruiting 6.0. New Candidate Services with Enhancement Package 3 SAP AG

Cloud for Customer Learning Resources. Customer

Infotag SAP MaxDB Begrüßung. Karl-Heinz Hess Senior Vice President SAP Business ByDesign SAP AG

Kundenbeziehungsmanagement in der Krankenversicherung aus Sicht der SAP

Business Collaboration mit SAP XI/PI im E-Business. Prof. Dr. H. Beidatsch

Vorplanung mit Variantenkonfiguration Vorplanungsstückliste versus merkmalsbasierte Vorplanung

Smart Design Eigene Applikationen effizient und einfach entwickeln

Infotag SAP MaxDB Ausblick. Dr. Knut Hansen SAP AG

S3: Secure SCM as a Service

D5 - Service und Instandhaltung

Manage Efficiency in Finance SAP Shared Service Framework for Financials James Willis, 22 nd May 2012 FORUM

Zeitaufschreibung, Zuordnung von Kostenstellen und Auswertung

Future Factory Initiative

DRG Workplace Integration. der Firma SAP. Referenten/in: Annieck de Vocht, SAP. Andreas Kuhn, Siemens. Herbert Dürschke, SAP

SAP für Waste and Recycling Abbildung eanv im Industry Add-on

Planung und Simmulation von Key Performance Indicators auf der Basis von Statistischen Daten und Informationen. Horst Meiser, Solution Architect BI

IT-gestütztes Investitionscontrolling. Arno Edinger, SAP Deutschland AG & Co. KG 11/2009

SAP BusinessObjects Planning and Consolidation Version 10.0 for NetWeaver Platform Information, Support Pack Dates and Maintenance Dates Nov 22, 2012

Best Practices für Wikis im Unternehmen

Future Factory Initiative

Jahreswechsel 2009/2010

Informatik im Projektalltag

Content SAP Travel Management SAP ERP 6.0 with Enhancement Package 6 - Travel Planning- SAP Travel Management. Product Management, SAP AG

Von Big Data zu Smart Data - Ziele, Strategien, Umsetzung

C2 Stammdaten Qualität sichern, Pflege vereinfachen & zentrale IT Steuerung

SAP Solution Manager End-to-End Application Management Platform. Product Management SAP Solution Manager SAP AG

Automatisierung in der Fertigungsauftragsabwicklung Prozessoptimierung bei der R. Nussbaum AG

Maintenance Management with SAP Solution Manager

Document split in new G/L. Document splitting in new G/L part 4 SAP ERP SAP AG

Global and Distributed Software Development

SAP General Ledger Migration In Scope and Out Of Scope. SAP AG October 2008

Datenzyklus Die zeitgerechte Nutzbarmachung von Daten als Informationen Christian Gnägi, Business Consultant SAP Schweiz AG Luzern, 15.

SAP APO Lifecycle Assistant

Time Recording for external Employees

How to Request a Maintenance Certificate manually through SAP Support Portal?

SAP Hybris Service Cloud: Abwicklung für den technischen Aussendienst

SAP JVM Profiler & Memory Analyzer for SAP NetWeaver PI. SAP KHNC Call. Daniel Horacio Bianchin SAP Intelligence Platform and NetWeaver RIG

VORHER WISSEN, WAS AM ENDE RAUSKOMMT. SAP CONSULTING. Das Losgrößensimulationstool von SAP. Ein Add-on zum Dispomonitor. Marc Hoppe SAP Consulting

SAP Scrum by Design. SAP Scrum by Design. Dec. 7, How to Speed-Up Development Using Agile Project Management

SAP GRC RIG Access Control 5.3 Configuration How-to Integration between Compliant User Provisioning and NetWeaver Identity Management (IdM)

SAP Business One. SAP Business One Accelerated Upgrade Program (B1AUP) SAP Business One Roll-Out Services July 2008

Von ERP und APO zu S/4HANA

PI Sheet Enhancement in EhP5: Archiving PI Sheets and Electronic Work Instructions. Suite Solution Management Manufacturing

SAP's Replenishment Lead Time Monitor. Marc Hoppe SAP Consulting. customer

SAP unterwegs. Mobile Anwendungen powered by SAP NetWeaver. Peter Sperk Solution Sales, SAP Österreich

SAP Consultant Certification

Infotag MaxDB im Einsatz bei SAP-IT und SAP Hosting. Werner Thesing SAP AG

Workshop: Die neue Rolle des Controllers

Supply Chain Planning: MD04 kennt man oder doch nicht?

Hardware Requirements in Unicode Systems. SAP Internationalization & Unicode September 2009

Content SAP Travel Management SAP ERP 6.0 with Enhancement Pack 4

Eigenfertigungskanban - so funktioniert es. Aufbau eines Eigenfertigungskanban

SAP ERP HCM. Manager Self Service for E-Recruiting 6.0. New Function with Enhancement Package 3 SAP AG

Arne Knöller SAP Solution Architect. SAP On Premise, Hybrid oder Public Cloud Wie Sie Ihre individuelle Plattformstrategie finden

From Visual Administrator to SAP NetWeaver Administrator SAP Enhancement Package 1 for SAP NetWeaver CE 7.1

SAP NetWeaver Identity Management 7.1. Virtual Directory Server

Itelli.world 2016 Thomas Ross / Udo Lange / Uwe Ringeisen. S/4HANA Systembetrieb On-Premise / On-Demand oder aus der Cloud?

SAP's Replenishment Lead Time Monitor. Marc Hoppe SAP Consulting. customer

SAP Enterprise Modeling by IDS Scheer Enterprise Services Repository

XML Template Transfer Transfer project templates easily between systems

Batch Manufacturing with SAP MII and with Perfromix xmes. John Harrison SAP

What follows Scrum at SAP?

SAP Risk Management 2.0

PLAN the RUN to RUN the PLAN

SAP Solution Manager - ITIL Support

Page 1. Semantische Geschäftsprozessmodellierung. Agenda. Matthias Born, SAP Research

Fiori Makers - Showcase #9 Smart Carrier

Improving UI Integration with Formal Semantics

Product Owner at SAP A New Job Title Developed

SAP Productivity Pak by RWD Adapter for SAP Solution Manager. Overview Presentation. E2E Solution Operations Product Management SAP AG

Disclaimer SAP SE or an SAP affiliate company. All rights reserved. Public

5. September 2017 Ines Zuparic Beat Wyler SAP Professional Consultant Principal Manager. Variantenkonfiguration in Webshop (CPQ) und CRM

Implementation Package based on Service-Oriented Architecture. SCM Master Data Cockpit

Secure Area. SAP Support Portal. SAP Service Marketplace Product Management December 2007

5-1-2 Maintenance Strategy for SAP Core Applications

Pflichtfeld Liste SCHOTT ebilling. Version 1.1,

Prozess und Anwendung:

Document split in new G/L. Document splitting in new G/L part 2a SAP ERP SAP AG

Intelligente Objekte. Anwendungspotenziale im Internet der Zukunft. Dr. Uwe Kubach, SAP Research Center Dresden, SAP AG

SAP Solution Manager 7.0 Enterprise Edition EhP1: Work Centers and myhome. SAP Solution Manager Product Management / November 2008

VDA 4939 Formulare Version 2

BR*TOOLS STUDIO. Markus Maurer SAP AG

Global Transport Label - General Motors -

SAP Risk Management 2.0

Overview: Interactive Forms in Guided Procedures. Document Version 1.00 November 2005

Product Owner at SAP A New Job Title Developed

CNT Management Consulting. Unsere Beratungskompetenz für Ihren Erfolg

SAP Solution Manager: Release Strategy and Functional Outlook. Product Management SAP Solution Manager, SAP AG

Echtzeiterkennung von Cyber Angriffen auf SAP-Systeme mit SAP Enterprise Threat Detection und mehr

New Developments in R3load und R3ta to Speed Up System Migrations

Translation for Web Intelligence XI 3.1 Using Translation Manager

Erweiterte Planung mit S/4HANA «PP/DS»

Transkript:

Verteilte Transaktionen in Java beherrschen Wie Transaction-Manager arbeiten THOMAS WALTER (Lead Architect) Technology Development CORE - Java Server & Infrastructure SAP AG

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 2

EINES MORGENS. Ein Anruf aus der Fachabteilung Die Anwendung hängt immer / lässt sich nicht starten Es gab zuvor einen Ausfall (Strom, Software, o.ä) Ok, wir starten den Applikation Server neu Leider immer noch das gleiche Problem Ok wir starten alles neu inkl. Datenbank Immer noch das gleiche Problem Analyse des Problems zeigt dass Locks im DBMS gehalten werden durch schwebende XA Transaktionen Variante des Problems DBA ruft sie er könne kein Offline Backup machen wegen in-doubt Transaktionen Ein Applikation-Server mit einwandfreiem Transaction Manager sollte Sie nicht in diese Lage bringen Transaction Recovery System sollte ordnend eingreifen Leider ist das oft nicht der Fall.. SAP 2010 / Page 3

VERTEILTE TRANSAKTIONEN MIT JTA: DER CODE Kombinationen von mehreren Resourcen in einer JTA Transaktion Jede Kombination von XA Data Sources (versch. DBMS), Java Connector Resources, JMS Sessions Häufigster Fall: XA Data Source und transacted JMS Session @Resource UserTransaction tx; tx.begin(); Connection con = ds.getconnection(); java.sql.statement stmt = conn.createstatment(); stmt.executeupdate ("insert into VEHICLE " + "(NAME,PRICE,CURRENCY) values ('Audi80',25000,'EUR')"); message.settext( Audi80 added to inventory ); JMSqueueSender.send(message); tx.commit(); SAP 2010 / Page 4

HINTER DEN KULISSEN: DIE ERSTE PHASE DES TWO-PHASE-COMMITS @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TX Id = 4711 TRANSACTION MANAGER xa_start(tx 4711) Stock Trading Platform Money Account SAP 2010 / Page 5

HINTER DEN KULISSEN: DIE ERSTE PHASE DES TWO-PHASE-COMMITS @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TX Id = 4711 TRANSACTION MANAGER xa_end(tx 4711) Stock Trading Platform Money Account SAP 2010 / Page 6

HINTER DEN KULISSEN: DIE ERSTE PHASE DES TWO-PHASE-COMMITS @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TRANSACTION MANAGER Trader.prepare(tx 4711) Account.prepare(tx 4711) TX Id = 4711 Stock Trading Platform Money Account SAP 2010 / Page 7

HINTER DEN KULISSEN: DIE ZWEITE PHASE DES TWO-PHASE-COMMITS @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TRANSACTION MANAGER Trader.commit(tx 4711) Account.commit(tx 4711) TX Id = 4711 Stock Trading Platform Money Account SAP 2010 / Page 8

AUSFALL WÄHREND DER TRANSAKTION VOR DEM PREPARE Z.B. bei xa_start, Datenänderung, xa_end Unkritisch alle Beteiligten werden sich nach kurzer Zeit für Rollback entscheiden NACH DEM PREPARE Viele Möglichkeiten, z.b. während einer COMMIT / ROLLBACK Folge Das Zeitfenster erscheint klein, aber: Bei hohem Transaktionsdurchsatz trotzdem sehr wahrscheinlich Resource Manager verbleiben im Prepare Zustand SAP 2010 / Page 9

SAP 2010 / Page 10 Ausfall des Applikationsservers nach Commit der ersten Resource

HINTER DEN KULISSEN: SERVER-AUSFALL WÄHREND ZWEITER PHASE DES 2PC @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TRANSACTION MANAGER Trader.commit(tx 4711) Account.commit(tx 4711) TX Id = 4711 Stock Trading Platform Money Account SAP 2010 / Page 11

HINTER DEN KULISSEN: SERVER-AUSFALL WÄHREND ZWEITER PHASE DES 2PC HAT SERVER BEI RESTART KEINE ERINNERUNG: SITUATION DAUERT AN LOCKS IN TABELLEN,INDIZES, DB-LOGS, KEINE OFFLINE-BACKUPS, IRGENDWANN WIRD DIE IN-DOUBT TRANSACTION ZURÜCKGEROLLT INKONSITENZ RESULTIERT: AKTIEN WURDEN GEKAUFT, ABER KEIN GELD ABGEBUCHT DIESE INKONSISTENZ WIRD NICHT GEMELDET Stock Trading Platform Money Account SAP 2010 / Page 12

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 13

HINTER DEN KULISSEN: DIE ZWEITE PHASE DES TWO-PHASE-COMMITS @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TRANSACTION MANAGER Trader.commit(tx 4711) Account.commit(tx 4711) TX Id = 4711 Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 14

HINTER DEN KULISSEN: SERVER-AUSFALL WÄHREND ZWEITER PHASE DES 2PC @Resource UserTransaction tx; tx.begin(); totalcost = Trader.buy( SAP, 1000); // Buy SAP shares BobAccount.withdraw(totalcost); // Withdraw from account tx.commit(); TRANSACTION MANAGER Trader.commit(tx 4711) Account.commit(tx 4711) TX Id = 4711 Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 15

HINTER DEN KULISSEN: SERVER-AUSFALL WÄHREND ZWEITER PHASE DES 2PC TRANSACTION MANAGER 4711 should be committed RECOVERY SERVICE Trader.commit(tx 4711) xa_recover() Transaction 4711 is prepared? 4711?? Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 16

RECOVERY SERVICE ALS CLUSTER SINGLETON CLUSTER NODE CLUSTER NODE CLUSTER NODE CLUSTER NODE CLUSTER NODE TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER RECOVERY SERVICE RECOVERY SERVICE??? Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 17

PARALLEL RECOVERY SERVICE CLUSTER NODE CLUSTER NODE CLUSTER NODE CLUSTER NODE CLUSTER NODE TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER TRANSACTION MANAGER RECOVERY SERVICE RECOVERY SERVICE RECOVERY SERVICE RECOVERY SERVICE RECOVERY SERVICE??? Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 18

ANFORDERUNGEN AN DAS TRANSAKTIONS-LOG PHYSIKALISCHE EIGENSCHAFTEN Shared Alle Cluster Nodes müssen Zugriff haben File System basiertes Log Shared & ausfallsicher (SAN) Falls nicht Shared: TLOG eines gecrashten Cluster Nodes wird erst bei dessen Restart recovered DBMS basiertes Transaction Log Vorteil: Immer shared - Nachteil: Etwas langsamer Sinnvoll wenn alle Apps sowieso DBMS brauchen oder der Server zur Runtime ein DBMS TRANSAKTIONS-LOG OPTIMIERUNG: PRESUMED ABORT STRATEGIE Nur wenn TM beabsichtigt zu committen wird Eintrag im TLOG erzeugt Transaction Log SAP 2010 / Page 19

TRANSAKTIONSLOG: PERFOMANCE WENN DAS TLOG ZUM FLASCHENHALS WIRD Jedes Schreiben ins LOG geschieht synched Wenig Last: Minimale Latenz Das Update des TLOG wird im Thread des User-Requests erledigt Viel Last: Maximaler Durchsatz TLOG Sync wird Flaschenhals Application Server sammelt Sync Requests und führt sie als einzelnes Sync im Hintergrund aus (sowohl bei FS wie DB basiertem TLOG) Verzögert die einzelnen Requests maximiert Durchsatz auf Kosten der Latenz Je höher die Last desto mehr Sync Requests werden zusammengefasst Number of updates / sync 1 Group Mode tr critical self adapting Throughput tr (transactions / time) Transaction Log SAP 2010 / Page 20

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 21

FEHLERSITUATIONEN VERTEILTER TRANSAKTIONEN AUSGANG DER GESAMTEN TRANSAKTION HÄNGT VON TEILNEHMERN AB Heuristische Entscheidungen der Resource Manager: Autonome Entscheidung XA HEURISTIC ROLLBACK XA HEURISTIC COMMIT XA HEURISTIC HAZARD: Sollte nie auftreten Heuristische Entscheidungen werden nicht vergessen Wenn RM heuristisch entscheidet werden (die meisten) Locks beseitigt Entscheidung wird gespeichert bis TM sie explizit bestätigt: Rückgabe der Transaktion als in-doubt bei recover() und wenn TM explizit commit/rollback probiert TM bestätigt mittels xa_forget (transaction ID) (Konfigurierbar) GlobalTransaction H-MIX H-RB CO CO Transaction BRANCHES Andere Probleme der Teilnehmer (nicht so kritisch, da zeitweilig oder bevor prepare) XA_RB*: DEADLOCK, COMMFAIL, PROTO, TIMEOUT, TRANSIENT, OTHER,. XA_RETRY, RM_FAIL Zeitweilige Fehler SAP 2010 / Page 22

FEHLERMELDUNGEN DES TM VERSTEHEN TM plant COMMIT, welche Exception wird der Applikation berichtet? OK CO CO CO H-MIX CO CO H-RB H-HAZ CO CO H-HAZ H-HAZ CO CO? RB H-RB RB RB OK H-CO CO CO Kann temporär sein, Check Log oder Admin Schadensbegrenzung des TM: Gibt schwere Warnung, aber Hinweis dass keine Inkonsistenz vorliegt => ca. 50% der heuristischen Entscheidungen werden so gerettet Gibt Warnung in Log oder Admin SAP 2010 / Page 23 Situation bei geplantem Rollback analog

FEHLERBANHDLUNG IN JAVA DAS ORIGINAL Distributed Transaction Processing: The XA (+) Specification [X/Open CAE Specification] JTA EXCEPTIONS Exceptions sind sehr grob RollbackException: Alles konsistent, TX in erster oder zweiter Phase zurückgerollt HeuristicMixedException: Eventuelle Inkonsistenz in zweiter Phase HeuristicRollbackException: Alles konsistent, TX in zweiter Phase der TX zurückgerollt SecurityException, IllegalStateException, SystemException Heuristic Hazard fehlt SAP Erweiterung von HeuristicMixed mit HeuristicHazard SAP 2010 / Page 24

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 25

TRANSACTION IDENTIFIER ETWAS NOMENKLATUR ZU IDs Global Transaction ID XID1 XID2 XID3 Transaction BRANCHES Jeder BRANCH hat seine eigene XID SAP 2010 / Page 26

WENN APP SERVER NICHT VERFÜGBAR MANUELLER UMGANG MIT RESOURCE MANAGERN BSP. DB/2 UDB LIST INDOUBT TRANSACTIONS WITH PROMPTING In-doubt Transactions for Database VEHICLEDB 1. originator: XA appl_id: *LOCAL.DB2.95051815165159 sequence_no: 0001 status: I timestamp: 05-18-1997 16:51:59 auth_id: SMITH log_full: n type: RM xid: 5341503100000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000 0000BD Type:RM External TM 2. originator: XA appl_id: *LOCAL.DATABASE.950407161043 sequence_no: 0002 status: I timestamp: 04-07-1997 16:10:43 auth_id: JONES log_full: n type: FürRM in-doubt ist möglich: xid: 5341503100000017 00000000544D4442 00000000002F95FE commit B62F8C4FF3000000 oder rollback. 0000C1. Für R oder C ist möglich Enter in-doubt transaction command or 'q' to quit. e.g. 'c 1' heuristically commits transaction 1. forget. c/r/f/l/q: c 1 status: I Xid? TX 1 wird commited, I in-doubt ist aber/ danach ist prepared nicht C..commited forgotten! (heuristisch) R..rolled back (heuristisch) 1. originator: XA appl_id: *LOCAL.DB2.95051815165159 sequence_no: 0001 status: I timestamp: 05-18-1997 16:51:59 auth_id: SMITH log_full: n type: RM xid: 5341503100000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000 0000BD Do you want to heuristically commit this in-doubt transaction? (y/n) y Confirm SAP 2010 / Page 27

XID Die XID von zuvor: Eine Blackbox für den Resource Manager xid: 5341503100000017 00000000544D4442 00000000002F93DD A92F8C4FF3000000 0000BD X/Open DTP Spec: Name Length Type Content Format ID 4 int TM spezifisch Global Transaction ID 1-64 bytes Identifiziert TX innerhalb des TM Branch Qualifier 1-64 bytes Identifiziert den Resource Manager SAP Name Length Type Content Format ID 4 int 0x53415031 SAP1 Global Transaction ID 44 bytes Global TX-ID Branch Qualifier 2 bytes RM ID, mehr als 255 RMs sind Unsinn

KOCHREZEPT FÜR MANUELLE EINGRIFFE Wenn XA Probleme mit Resource Managern auftreten Nicht eingreifen, wenn kein zwingender Grund, sondern Appserver reanimieren z.b. ORA-01591: lock held by in-doubt distributed transaction identifier etc. XID analysieren Format ID enthält Koordinator (SAP1, BEA1, ) Kollegen ansprechen, der Apps auf diesem Server kennt Andere involvierte Resource-Manager nach gleich beginnender schwebender XID untersuchen Konsistente Entscheidung treffen Branches committen oder zurückrollen Kein forget aufrufen, die meisten Behinderungen sind nun gelöst Der Appserver findet so wenigstens die Spur Ihres Handelns Nur wenn die unvergessenen Transaktionen zum Problem werden (hängt ab vom Resource Manager), z.b. DB/2 Log Full Conditions Forget manuell aufrufen Appserver wird nun den falschen Schluss ziehen: Es wurde getan was ich wollte SAP 2010 / Page 29

TRANSACTION CLASSIFIERS ERLEICHTERUNG FÜR ADMINISTRATOREN EINE XID IST KRYPTISCH MANCHE APP SERVER BIETEN MEHR Hinweis des Entwicklers an den Administrator der Anwendung Kein JTA Standard, Bsp. für SAP s Kapselung für UserTransaction @Resource UserTransaction tx_jta; TransactionManagerExtension tx= (TransactionManagerExtension) tx_jta; tx.begin( App:Accounting, TX:Withdraw4711, RMs:MaxDB1,MQS, ); tx.commit(); Achtung: Niemals Classifier nehmen, die für jede Transaktionsinstanz anders sind: Orderno., etc. Für jeden neuen Classifier wird ein seperater Sync auf der Disc benötigt Default: Maximal 1000 Classifier SAP 2010 / Page 30

TRANSACTION CLASSIFIERS ERLEICHTERUNG FÜR ADMINISTRATOREN EINE XID IST KRYPTISCH MANCHE APP SERVER BIETEN MEHR HIER SCREENSHOTS VON 7.20 EINFÜGEN SAP 2010 / Page 31

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 32

RECOVERY SEQUENCE: GENAUER ABLAUF WIE BETROFFENE RESOURCE MANAGER IDENTIFIZIEREN? Durchsuchen der Applikationen nach Resource Managern ist 1. ineffizient Welche RM 2. Hole alle offenen werden im TLOG > 10.000 Applikationen möglich Transaktionen verwendet? Viele XA Resource Manager von betroffenen nicht von 2PC RMbetroffen -> Liste mit RM -> Liste mit XIDs ANTWORT Sobald ein Resource Manager an 2PC teilnimmt wird er im TLOG gespeichert Alles enthalten um JDBC / JMS / JCA Resource beim Recovery zu rekreieren Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 33

HINTER DEN KULISSEN: RECOVERY SEQUENCE 3. LISTE MIT ALLEN XIDs FILTERN Welche gehören zu diesem Server / TLOG? 4. TRANSACTION LOG EINMISCHEN Kein Eintrag im TLOG für eine XID? -> Rollback TX_ID C/R RMs 53689752 C 1,3 97456327 C 1,2 ERGEBNIS: PENDING TRANSACTION LIST Hat der TM ohnehin schon für hängende Transaktionen Wird im Hintergrund bearbeitet 98544637 R 3,5,7 Nach der Transaction Abandon Time (default 1 Tag) wird aufgegeben: H-HAZARD Stock Trading Platform Transaction Log Money Account SAP 2010 / Page 34

Agenda 1. Verwendung von verteilten Transaktionen 2. Das Transaktions-Log 3. Fehler bei der Transaktionsverarbeitung 4. Manuelle Eingriffe in Resource Manager 5. Transaction Recovery revisited: Ablauf des Recovery 6. Zusammenfassung: Die wichtigsten Konfigurationsparameter SAP 2010 / Page 35

ÜBERLEGUNG ZU KONFIGURATIONSOPTIONEN TRANSACTION MANAGER Storage Type für Transaktions-Log DBMS Datasource Shared Filesystem (Verzeichnis, maximale Größe der Logs) Transaction Timeouts Before Prepare (kurz) After Prepare: Transaction Abandon Timeout (default 24h) Maximum Transaction Classifiers: Default 1000 RESOURCE MANAGER Recovery Retry Intervall (Default 30 s) Automatischer forget für heuristische Entscheidungen (Default True) SAP 2010 / Page 36

Vielen Dank für Ihre Aufmerksamkeit! SAP 2010 / Page 37

Copyright 2010 SAP AG All rights reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated logos displayed are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. The information in this document is proprietary to SAP. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen. Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen Vereinbarung mit SAP. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP -Produkts und ist für SAP nicht bindend, einen bestimmten Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht die Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts. SAP übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit. Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab. Alle Rechte vorbehalten. SAP 2010 / Page 38