A több gépen történő frissítés, más néven elosztott munkaegység (DUOW) vagy kétfázisú véglegesítés, egy olyan funkció, mely képessé teszi az alkalmazásokat több távoli adatbázis-kiszolgáló adatainak garantáltan egységes frissítésére. Példa lehet erre egy olyan banki tranzakció, amelynek során pénzt utalnak egyik számláról a másikra, miközben a számlák különböző adatbázis-kiszolgálókon találhatók.
A fenti tranzakció esetében fontos, hogy azok a frissítések, amelyek megvalósítják a terhelési műveletet az egyik számlán, csak akkor kerüljenek véglegesítésre, amikor a másik számla jóváírási műveletét feldolgozó frissítések is véglegesítve lesznek. A több helyen történő frissítéssel kapcsolatos szempontok akkor kerülnek előtérbe, ha a két számlát két különböző adatbázis-kiszolgáló kezeli.
A DB2 termékek széleskörű támogatást nyújtanak a több gépen történő frissítésekhez. Ez a támogatás rendelkezésre áll azokhoz az alkalmazásokhoz is, amelyeket szabályos SQL használatával fejlesztettek ki, és azokhoz is, amelyek olyan tranzakció megfigyelő (TP monitor) termékeket használnak, amelyek az X/Open XA kezelőfelület specifikációt valósítják meg. Többek között ilyen tranzakció megfigyelő termékek a következők: IBM TxSeries (CICS és Encina), IBM Message and Queuing Series, IBM Component Broker Series, IBM San Francisco Project, Microsoft Transaction Server (MTS), BEA Tuxedo és több másik termék. A telepítési követelmények eltérnek egymástól attól függően, hogy a több gépen történő frissítés honos SQL vagy TP monitor típusú változatát használja-e.
Mind a honos SQL, mind pedig a TP monitor típusú több gépen történő frissítést végző programok előfordítását el kell végezni a CONNECT 2 SYNCPOINT TWOPHASE beállításokkal. Mindkét program jelezheti SQL Connect utasítással, hogy melyik legyen a következő SQL utasításokhoz használt adatbázis. Ha nincs TP monitor, ami közölné a DB2-vel, hogy ő fogja elvégezni a tranzakció összehangolását, (amint azt a DB2 által a TP monitortól kapott, adatbázis-kapcsolat létrehozására irányuló xa_open hívások mutatják), akkor a DB2 szoftver fogja összehangolni a tranzakciót.
A TP monitor típusú több gépen történő frissítés esetén az alkalmazásnak véglegesítést vagy visszagörgetést kell kérnie a TP monitor API-ján keresztül, például: CICS SYNCPOINT, Encina Abort(), MTS SetAbort().
Honos SQL típusú több gépen történő frissítés esetén a rendes SQL COMMIT és a ROLLBACK parancsot kell használni.
A TP monitor típusú több gépen történő frissítés képes összehangolni az olyan tranzakciókat, melyek egyaránt hozzáférnek DB2-es és nem-DB2-es erőforrás-kezelőkhöz, mint például az Oracle-höz, az Informix-hez vagy az SQLServerhez. A honos SQL típusú több gépen történő frissítés csak DB2 kiszolgálókkal használatos.
Ahhoz, hogy egy több gépen történő frissítési tranzakció működjön, az elosztott tranzakcióban részt vevő mindegyik adatbázisnak támogatnia kell az elosztott munkaegységet. Jelenleg az alábbi DB2 kiszolgálók nyújtanak DUOW (elosztott munkaegység) támogatást, amely lehetővé teszi számukra az elosztott tranzakciókban történő részvételt:
Az elosztott tranzakcióval a támogatott adatbázis-kiszolgálók tetszőleges keveréke frissíthető. Például, az alkalmazás frissíthet több táblát Windows NT vagy Windows 2000 alatt futó DB2 Universal Database-ben, egy DB2 for OS/390-es adatbázist és egy DB2/400-as adatbázist, mindezt ugyanazon tranzakció keretében.
A gazda- és AS/400-as adatbázis-kiszolgálók igénylik, hogy a DB2 Connect részt vegyen azokban az elosztott tranzakciókban, melyek PC-s, UNIX-os és világhálós alkalmazásoktól származnak. Ezen kívül, a több gépen történő frissítés azon forgatókönyvei közül, amelyek gazda- és AS/400-as adatbázis-kiszolgálókat foglalnak magukban, sok forgatókönyv igényli, hogy a Syncpoint Manager (SPM) összetevő konfigurálva legyen. Egy DB2 példány létrehozásakor a DB2 SPM automatikusan az alapértelmezett beállításokkal konfigurálódik.
Az SPM szükségessége a kiválasztott protokolltól (SNA vagy TCP/IP), és a TP
monitor használatától függ. A következő táblázatban az SPM-et igénylő
forgatókönyvek összefoglalását láthatja. A táblázatból az is kiderül,
hogy a DB2 Connect termékre minden olyan esetben szükség van, amikor Intel
vagy UNIX gépről férnek hozzá a gazda- vagy AS/400-as rendszerhez.
Továbbá kiolvasható, hogy a több helyen történő frissítéshez szükség van a DB2
Connect SPM összetevőjére, ha a hozzáférés SNA-n keresztül történik, vagy
monitor megfigyelőt használ.
táblázat 1. SPM-et igénylő gazda- és AS/400-as több gépen történő frissítést leíró forgatókönyvek
Használ TP megfigyelőt? | Protokoll | Szükséges az SPM? | A szükséges termék (egyet válasszon) | Támogatott gazda és AS/400 adatbázis | ||
---|---|---|---|---|---|---|
Igen | TCP/IP | Igen |
|
| ||
Igen | SNA | Igen |
|
| ||
Nem | TCP/IP | Nem |
|
| ||
Nem | SNA | Igen |
|
|
Megjegyzés: | Az elosztott tranzakcióval a támogatott adatbázis-kiszolgálók tetszőleges
keveréke frissíthető. Például az alkalmazás frissíthet több táblát
Windows NT alatt futó DB2 UDB-ben, egy DB2 for OS/390 adatbázist és egy
DB2/400 adatbázist ugyanazon tranzakció keretében.
A kétfázisú véglegesítésről, és néhány népszerű TP monitor beállításáról további információért lásd: Administration Guide. A DB2 Product and Service Technical Library-t (a termékek és szolgáltatások technikai könyvtárát) is felkeresheti a Világhálón:
|
Bár a DRDA adatbázis kommunikációs protokollokat határoz meg, a programozók által használandó programillesztőket vagy API-kat nem határozza meg. Általában az alkalmazások a DRDA-t használhatják minden olyan kérelem átvitelére, amelyet egy cél DRDA kiszolgáló végre tud hajtani. Minden jelenleg rendelkezésre álló DRDA kiszolgáló képes olyan SQL kérelmek végrehajtására, amelyeket DB2 Connect felhasználásával továbbítottak.
Az IBM olyan eszközöket bocsát az alkalmazásprogramozók rendelkezésére, melyek segítségével Windows, OS/2 és számos UNIX platformra készíthetők SQL kérelmek. Ezek az eszközök a DB2 Application Development Client részét képezik. A DB2 Application Development Client több API típust is támogat: a beágyazott SQL-t, a JDBC-t, az SQLJ-t és a DB2 hívásszintű felület-t (a DB2 CLI-t). Ezeket az API-kat a programozók különféle programnyelvekben használhatják alkalmazások készítéséhez. Az említett API-król a Application Building Guide könyvben talál további tájékoztatást.
Az alkalmazásfejlesztők más vállalatok által biztosított API-kat is használhatnak. Például, a Microsoft ODBC-vel és az ADO-val a Windows alkalmazásprogramozók fejlesztenek adatbázis-alkalmazásokat. A DB2 Connect egy ODBC vezérlőt és egy OLE DB Provider-t is tartalmaz, melyek támogatják az ODBC és az ADO API-kkal készült alkalmazásokat. Az IBM nem biztosít eszközöket ODBC alkalmazások fejlesztéséhez; az ehhez szükséges eszközöket a Microsoft Corporation kínálja.
A Vezérlőközpontból engedélyezheti a több gépen történő frissítést. Ennek megvalósítását, mely elég egyszerű, az alábbiakban felvázoljuk. A több gépen történő frissítés konfigurációs beállításairól, beleértve a rendszerének kézi konfigurálását, a Kapcsolódási kiegészítés online könyvben talál további tájékoztatást.
A Vezérlőközpontban a fa-nézet kibontásához kattintson a [+] jelre! A jobb egérgombbal válassza ki a konfigurálni kívánt példányt! Egy előbukkanó menü jelenik meg. Válassza a Multisite Update --> Configure menüelemet!
A varázsló jegyzettömb típusú kezelőfelületettel rendelkezik. A varázsló valamennyi oldala a konfigurációjáról kér be bizonyos adatokat. Az alábbiakban megnézheti az oldalakat abban a sorrendben, amelyikben találkozni fog velük.
Lépés 1. | Adjon meg egy Transaction Processor (TP) monitort! Ez a mező mutatja majd az engedélyezett TP monitorra vonatkozó alapértelmezéseket. Ha nem kíván TP monitort használni, válassza a Do Not Use a TP Monitor lehetőséget! |
Lépés 2. | Adja meg a használni kívánt kommunikációs protokollokat! |
Lépés 3. | Adjon meg egy tranzakciókezelő adatbázist! Ez a panel az elsőként elért adatbázist tekinti alapértelmezés szerintinek (1ST_CONN). Meghagyhatja ezt az alapértelmezést, vagy választhat egy másik katalogizált adatbázist. |
Lépés 4. | Adja meg a frissítésben részt vevő adatbázis-kiszolgálók típusát, és azt, hogy kizárólag a TCP/IP legyen-e használva! |
Lépés 5. | Határozza meg a Syncpoint Manager beállításait! Ez az oldal csak akkor jelenik meg, ha az előző oldal beállításai szerint a DB2 Syncpoint Manager-ét használnia kell egy több gépen történő frissítés forgatókönyvében.
|
Lépés 1. | A jobb egérgombbal válassza ki a példányt, és az előbukkanó menüből válassza a Multisite Update --> Test menüpontot! A Test Multisite Update nevű ablak jelenik meg. |
Lépés 2. | Az Available databases listából válassza ki a tesztelni kívánt adatbázisokat! A középen található, nyilat tartalmazó gombokkal választhat elemeket a Selected databases listába, és a kiválasztást is ugyanezekkel a gombokkal tudja megszüntetni. A kiválasztott felhasználói azonosítót és jelszót közvetlenül is módosíthatja a Selected databases listában történő szerkesztésükkel. |
Lépés 3. | Amikor elkészült a kiválasztással, kattintson az ablak alján található OK gombra! A Multisite Update Test Result (a teszt eredménye) nevű ablak jelenik meg. |
Lépés 4. | A Multisite Update Test Result nevű ablakban nézheti meg, hogy a kiválasztott adatbázisok közül melyek esetében volt sikeres, illetve sikertelen a teszt. A sikertelen adatbázisokhoz SQL kódok és hibaüzenetek jelennek meg.
|