DB2 Connect Brugervejledning

Aktivering af multiopdatering (tofase-commit)

Multiopdatering, også kaldet DUOW (distribueret unit of work) og tofase-commit, er en funktion, der gør det muligt for applikationer at opdatere data på flere eksterne databaseservere, så der er sikkerhed for, at dataintegriteten bevares. Et eksempel på en multiopdatering er en banktransaktion, hvor der overføres penge fra en konto på én databaseserver til en konto, der er placeret på en anden databaseserver.

Ved sådanne transaktioner er det afgørende, at der ikke udføres commit af debitering på den ene konto, medmindre der også udføres commit af kreditering på den anden. De følgende overvejelser mht. multiopdatering gælder, når data for sådanne konti styres på to forskellige databaseservere.

DB2-produkter indeholder en omfattende understøttelse af multiopdateringer. Støtten er til rådighed for applikationer, der er udviklet vha. almindelig SQL, og applikationer, der benytter transaktionsovervågning (TP-overvågning), der overholder X/Open XA-grænsefladespecifikationen. IBM TxSeries (CICS og Encina), IBM Message and Queuing Series, IBM Component Broker Series, IBM San Francisco Project, Microsoft Transaction Server (MTS) og BEA Tuxedo er eksempler på sådanne TP-overvågningsprogrammer. Konfigurationen er forskellig, afhængigt af om multiopdateringen udføres med eller uden transaktionsovervågning.

Såvel multiopdateringsprogrammer, der benytter indbygget SQL, som dem, der anvender TP-overvågning, skal prækompileres med parametrene CONNECT 2 SYNCPOINT TWOPHASE. Begge kan anvende SQL Connect-sætningen til at angive, hvilken database der skal anvendes til de efterfølgende SQL-sætninger. Hvis der ikke er nogen TP-overvågning til at angive over for DB2, at TP-overvågningsprogrammet står for koordinering af transaktionen (DB2 modtager et xa_open-kald fra TP-overvågningen for at etablere en databaseforbindelse), anvendes DB2's software til at koordinere transaktionen.

Når du anvender multiopdatering vha. et TP-overvågningsprogram, skal applikationen rette forespørgsel om commit eller rollback vha. TP-overvågningens API, f.eks. CICS SYNCPOINT, Encina Abort() eller MTS SetAbort().

Når du anvender multiopdatering uden et TP-overvågningsprogram, skal de almindelige SQL-sætninger COMMIT og ROLLBACK anvendes.

Multiopdatering vha. et TP-overvågningsprogram kan koordinere en transaktion, der benytter både DB2- og ikke-DB2-databaser, f.eks. Oracle, Informix eller SQLServer. Ægte multiopdatering vha. SQL anvendes kun til DB2-servere.

Alle de databaser, der deltager i en distribueret transaktion, skal understøtte DUOW (distribueret unit of work). I modsat fald kan multiopdateringen ikke udføres. I øjeblikket indeholder følgende DB2-servere DOUW-støtte, så de kan deltage i distribuerede transaktioner:

En distribueret transaktion kan opdatere alle kombinationer af understøttede databaseservere. F.eks. kan applikationen opdatere flere tabeller i DB2 Universal Database under Windows NT eller Windows 2000, en DB2 til OS/390-database og en DB2/400-database i en enkelt transaktion.

Multiopdateringer på værtssystemer og AS/400, der kræver SPM

Databaseservere på værtssystemer og AS/400 kræver DB2 Connect for at deltage i en distribueret transaktion, der udføres fra pc-, UNIX- og Web-applikationer. Desuden kræver mange multiopdateringer, hvor værts- eller AS/400-databaseservere er involveret, at SPM-komponenten (Syncpoint Manager) konfigureres. Når der oprettes et DB2-subsystem, konfigureres DB2 SPM automatisk med standardindstillinger.

Om SPM er nødvendig, afhænger af den valgte protokol (SNA eller TCP/IP) og af, om der benyttes et TP-overvågningsprogram. Den følgende tabel indeholder en oversigt over, i hvilke situationer SPM skal anvendes. Tabellen viser også, at DB2 Connect altid skal anvendes ved adgang til værtssystemer eller AS/400 fra Intel- eller UNIX-maskiner. Det gælder desuden for multiopdateringer, at SPM-komponenten altid skal anvendes, hvis der anvendes SNA eller et TP-overvågningsprogram.

Tabel 1. Multiopdateringer på værtssystemer og AS/400, der kræver SPM
Anvendes TP-overvågning? Protokol Er SPM nødvendig? Nødvendigt program (vælg et) Understøttede databaser på værtssystemer og AS/400
Ja TCP/IP Ja
  • DB2 Connect Enterprise Edition
  • DB2 Universal Database Enterprise Edition
  • DB2 Universal Database Enterprise - Extended Edition

  • DB2 til OS/390 Version 5.1
  • DB2 Universal Database til OS/390 Version 6.1 eller nyere

Ja SNA Ja
  • DB2 Connect Enterprise Edition*
  • DB2 Universal Database Enterprise Edition*
  • DB2 Universal Database Enterprise - Extended Edition*
Bemærk:*Kun AIX-, OS/2-, Windows NT- og Windows 2000-platforme.
  • DB2 til MVS/ESA Version 3.1 og 4.1
  • DB2 til OS/390 Version 5.1
  • DB2 Universal Database til OS/390 Version 6.1 eller nyere
  • DB2/400 Version 3.1 eller nyere
  • DB2 Server til VM eller VSE Version 5.1 eller nyere

Nej TCP/IP Nej
  • DB2 Connect Personal Edition
  • DB2 Connect Enterprise Edition
  • DB2 Universal Database Enterprise Edition
  • DB2 Universal Database Enterprise - Extended Edition

  • DB2 til OS/390 Version 5.1
  • DB2 Universal Database til OS/390 Version 6.1 eller nyere

Nej SNA Ja
  • DB2 Connect Enterprise Edition*
  • DB2 Universal Database Enterprise Edition*
  • DB2 Universal Database Enterprise - Extended Edition*
Bemærk:*Kun AIX-, OS/2-, Windows NT- og Windows 2000-platforme.
  • DB2 til MVS/ESA Version 3.1 og 4.1
  • DB2 til OS/390 Version 5.1
  • DB2 Universal Database til OS/390 Version 6.1 eller nyere
  • DB2/400 Version 3.1 eller nyere
  • DB2 Server til VM og VSE Version 5.1 eller nyere

Bemærk:En distribueret transaktion kan opdatere alle kombinationer af understøttede databaseservere. F.eks. kan applikationen opdatere flere tabeller i DB2 UDB under Windows NT, en DB2 til OS/390-database og en DB2/400-database i en enkelt transaktion.

Der er flere oplysninger om tofase-commit samt vejledning i konfiguration af flere TP-overvågninger i Administration Guide.

Du kan også finde oplysninger i Technical Library på World Wide Web:

  1. Gå til følgende Web-side: http://www.ibm.com/software/data/db2/library/
  2. Vælg linket DB2 Universal Database.
  3. Søg efter "Technotes" vha. nøgleordene DDCS, SPM, MTS, CICS og ENCINA.

DRDA og dataadgang

DRDA definerer protokoller til databasekommunikationen, men ikke de programmeringsgrænseflader eller API'er, der skal benyttes af applikationsprogrammører. DRDA kan generelt anvendes af en applikation til at sende en forespørgsel, som en modtagende DRDA-server kan udføre. Alle de DRDA-servere, der findes i dag, kan udføre SQL-forespørgsler, der er sendt af en applikation via DB2 Connect.

IBM forsyner applikationsprogrammører med værktøjer til oprettelse af SQL-forespørgsler til Windows-, OS/2- og flere UNIX-platforme. Værktøjerne indgår i DB2-applikationsudviklingsklient. DB2-applikationsudviklingsklient-pakkerne understøtter flere forskellige API-typer: indlejret SQL, JDBC, SQLJ og DB2 CLI (DB2 Call Level Interface). Programmører kan benytte disse API'er til at udvikle applikationer vha. en lang række programmeringssprog. Der er flere oplysninger om disse funktioner i Application Building Guide.

Applikationsudviklere kan også benytte API'er fra andre leverandører. Microsoft ODBC og ADO benyttes f.eks. af mange Windows-applikationsprogrammører til at udvikle databaseapplikationer. DB2 Connect indeholder et ODBC-styreprogram og angiver en OLE DB-leverandør, som støtter applikationer, der er udviklet vha. ODBC og ADO API'er. IBM leverer ikke værktøjer til udvikling af ODBC-applikationer. De leveres af Microsoft Corporation.

Aktivering af multiopdatering vha. Kontrolcenter

Du kan bruge kontrolcentret til at udføre multiopdatering. Fremgangsmåden er enkel og beskrives nedenfor. Hvis du vil have flere oplysninger om konfiguration af multiopdatering, f.eks. om hvordan du konfigurerer systemet manuelt, skal du se i onlinebogen Connectivity Supplement.

Start af guiden Multiopdatering

Klik på plustegnet [+] for at udvide træstrukturen i kontrolcentret. Klik på det subsystem, du vil konfigurere, med højre museknap. Der vises en pop op-menu. Vælg menupunktet Multiopdatering -->Konfigurér.

Guidetrin

En guide har samme grænseflade som en notesbog. På hver af guidens sider skal du angive bestemte konfigurationsoplysninger. Siderne gennemgås herunder i den rækkefølge, du får dem vist i.

Punkt  1.

Angiv et transaktionsbehandlingsprogram (TP).

I dette felt vises standardværdierne for det transaktionsovervågningsprogram, du har aktiveret. Vælg Brug ikke et transaktionsovervågningsprogram, hvis du ikke vil bruge et sådan program.

Punkt  2.

Angiv de kommunikationsprotokoller, der skal benyttes.

Punkt  3.

Angiv en transaktionsstyringsdatabase (TM).

I dette vindue er (1ST_CONN) standardværdien for den første database, du opretter forbindelse til. Du kan vælge en anden katalogiseret database i stedet.

Punkt  4.

Angiv de typer databaseservere, der indgår i opdateringen, og om det udelukkende er TCP/IP, der skal benyttes som protokol.

Punkt  5.

Angiv SPM-værdier (Syncpoint Manager).

Siden vises kun, hvis indstillingerne på den foregående side tyder på, at DB2's Syncpoint Manager er nødvendig for multiopdateringen.

Test multiopdateringsfunktion

Punkt  1.

Klik på subsystemet med højre museknap, og vælg punktet Multiopdatering --> Test på pop op-menuen. Vinduet Test multiopdatering åbnes.

Punkt  2.

Vælg de databaser, der skal testes, i oversigten over Tilgængelige databaser. Du kan bruge pilene i midten til at flytte databaser til og fra oversigten Valgte databaser. Du kan også ændre den valgte bruger-id og det valgte kodeord ved at redigere dem direkte i oversigten over Valgte databaser.

Punkt  3.

Vælg trykknappen OK nederst i vinduet, når du har foretaget dine valg. Vinduet Resultat af multiopdateringstest vises.

Punkt  4.

I dette vindue vises, om de forskellige databaser, du har valgt, er afprøvet med eller uden fejl. For de databaser, der er afprøvet med fejl, vises SQL-koder og fejlmeddelelser.


[ Øverst på siden | Forrige side | Næste side | Indholdsfortegnelse | Stikordsregister ]