![Page 1: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/1.jpg)
DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert
![Page 2: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/2.jpg)
Agenda
SD Worx en haar DB2 achtergrond Huidige applicatie architectuur DB2 Connect opstelling Dynamic statement cache NIET: beveiligings- en applicatie aspecten
![Page 3: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/3.jpg)
Situering SD Worx
Sociaal secretariaat : dienstverlening op het vlak van loonadministratie en HR
Voor KMO, Grote ondernemingen en de publieke sector
Meer en meer internationaal georiënteerd Consultancy op vlak van HR, Tax & Legal,
Rekrutering & Assessment, …. Kenniscentrum (marktstudies)
![Page 4: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/4.jpg)
ICT omgeving van SD Worx
2 centrale datacenters in Antwerpen IBM mainframe Z9 BC X02 – z/OS 1.7 Windows 2003 gebaseerde decentrale
servers (Windows cluster, VMWare, blades)
Synchrone datareplicatie voor beide omgevingen
![Page 5: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/5.jpg)
DB2 historiek bij SD Worx
DB2 gebruiker sinds 2001 gestart met DB2 V7
– COBOL batch op het mainframe– Dynamic sql vanuit een Windows omgeving
RDBMS ervaringen met decentrale toepassingen op Oracle of MS Sql Server
IDMS op mainframe
![Page 6: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/6.jpg)
Een paar DB2 mijlpalen …
mei 2001 begin installatie aug. 2001 start in produktie feb. 2002 eerste produktie applicaties april 2002 synchronisatie data tss.
IDMS en DB2 via MQ maart 2003activering RLF juni 2003 Detector testen
![Page 7: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/7.jpg)
Een paar DB2 mijlpalen …
Aug. 2003 Gebruik realtime statistics Juni 2004 Extra accounting attributen Okt. 2004 eerste SP gebruik (COBOL) Apr. 2005 aanschaf Detector Aug. 2005 SMS managed tablespaces Nov. 2007 Websphere Replication
Server for z/OS V9
![Page 8: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/8.jpg)
DB2 Connect historiek bij SD Worx
2001: DB2 Connect V7 (9 fixpacks)– MDAC 2.x, ODBC, OLEDB, ADO,.NET 1.0
2004: DB2 Connect V8 (5 fixpacks)– ADO, ADO.NET, .NET V2.0
2006: DB2 Connect V9 (2 fixpacks)– ADO.NET, .NET V2.0, V3.0
![Page 9: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/9.jpg)
Applicatie architectuur
![Page 10: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/10.jpg)
Applicatie architectuur
3-tier applicaties gebaseerd op Microsoft technologie
Web based applications Component based development (MTS/COM,
COM+/.NET) Transaction monitor applications (COM+, MSDTC) XA-compliant resource manager dankzij
DB2Connect
![Page 11: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/11.jpg)
COM+ component services
COM + voorziet in runtime services voor components ‘at runtime’ :
– Administration : MS Mgt Console Component Services Explorer (catalog)
– JITA : just-in-time activation (component activation/deactivation)
– Object pooling– Transacties : distributed component acties
als 1 transactie gegroepeerd (OleTX/XA)
![Page 12: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/12.jpg)
COM+ Component Services
– Synchronization: controle over concurrent access naar objecten
– Role based security– Queued components: asynchrone
communicatie tussen componenten– Events: signalisatie tussen componenten
via publsh-subscribe mechanisme
![Page 13: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/13.jpg)
Architectuur
DB2 CLI API, noch ODBC of OLEDB worden rechtstreeks aangesproken
MS-ADO interface wordt hiervoor gebruikt ADO is een object oriented data acess
interface bovenop OLE-DB ADO is geëvolueerd naar ADO.NET die
voorziet in zogenaamde managed data provider
![Page 14: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/14.jpg)
Het MS .NET Framework
![Page 15: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/15.jpg)
Common Language Runtime
![Page 16: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/16.jpg)
MS ADO.NET
![Page 17: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/17.jpg)
ADO.NET Architectuur
![Page 18: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/18.jpg)
.NET Transactie beheer
![Page 19: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/19.jpg)
SD WORX ervaring
Integratie tussen Microsoft en IBM DB2 is sterk verbeterd en stabieler geworden
– Integratie in ontwikkelomgeving– Eénduidige IBM DB2 .NET dataprovider– Snelle evolutie in .NET blijft een
aandachtspunt (.NET 3.0, 3.5, ondersteuning LTM)
Performance aspect kan onder controle gehouden worden, maar is constant aandachtspunt (zie verder)
![Page 20: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/20.jpg)
DB2 Connecties onderdelen
Het netwerk (TCP/IP meestal) DB2 Clients (CLI, ODBC,OLEDB,
DB2 .NET data providers) DB2 Connect server DB2 z/OS (DDF – netwerk connectiviteit /
DBM1 database access threads) WLM Service classes en classification
rules
![Page 21: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/21.jpg)
Architectuur
![Page 22: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/22.jpg)
DB2 Connect basis architectuur
![Page 23: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/23.jpg)
DB2 Thread pooling
![Page 24: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/24.jpg)
DB2 Connect Connection pooling
![Page 25: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/25.jpg)
DB2 Connect concentrator pooling
![Page 26: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/26.jpg)
DB2 z/OS Thread Pooling
![Page 27: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/27.jpg)
DISPLAY THREAD
DISPLAY THREAD(*)– Pooled DBAT
• NAME = DISCONN / STATUS = DA DISPLAY THREAD(*) TYPE(INACTIVE)
– Inactieve CONNECTIE informatie• NAME = SERVER / STATUS =R2
DISPLAY DDF DETAIL DISPLAY LOC(*) DETAIL
![Page 28: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/28.jpg)
Application pooling combinatie
![Page 29: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/29.jpg)
Caching
Dynamic sql processing bevat 2 stappen :– Prepare– Execute
Prepare kan een zware operatie vormen :– Parsen van SQL statement– Valideren van de SQL syntax– Cataloog access (tabellen, kolommen, privileges)– Aanmaak access pad – Aanmaak uitvoer statement
![Page 30: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/30.jpg)
Local Caching
4 vormen van caching : geen, local en global dynamic cache, full caching
Zonder caching betaal je telkens prepare kost voor iedere statement (CPU en IO)
Local cache : activering door BIND optie KEEPDYNAMIC(YES) – thread gebonden
![Page 31: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/31.jpg)
Global Caching
Global caching in de EDM POOL : DSNZPARM CACHEDYN=YES
Alle DML die expliciet geprepared worden of aangeboden via EXECUTE IMMEDIATE
Exacte SQL string matching en AUTHID Gebruik van parameter markers Consistente BIND opties bv.
CURRENTDATA, ISOLATION, QUALIFIER
![Page 32: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/32.jpg)
Full Caching
Combinatie van local en global caching
– KEEPDYNAMIC(YES)– MAXKEEPD > 0– CACHEDYN=YES
![Page 33: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/33.jpg)
Types Prepare
Full prepare: normaal geval bv. zonder caching
Short prepare : skeleton copy of prepared statement gekopieerd naar local storage
Avoided prepare : omwille van full caching Implicit prepare : DB2 voert impliciet
prepare uit ten behoeve van applicatie (na COMMIT)
![Page 34: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/34.jpg)
Dynamic statement cache
CACHEDYN NO CACHEDYN YES
KEEPDYNAMIC
(NO)
Geen enkele vorm van caching enkel full prepares
EDMP skeleton caching
Short prepares mogelijk
KEEPDYNAMIC
(YES)
Geen skeleton caching full prepares
Impliciete prepares mogelijk (stmt. text bewaard over commit)
EDMP caching
Short prepares
Prepared stmts bewaard avoided prepares mogelijk
![Page 35: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/35.jpg)
DB2 DDF parameters
Parm Waarde BeschrijvingDDF AUTO DDF Startup at DB2 startup
CMTSTAT INACTIVE THREAD POOLING
CTHREAD 1-2000 Max. users
MAXDBAT 0-1999 Max. remote active DDF – DBM1
CONDBAT 0-150000 Max. remote connecties - DDF
POOLINAC 0-9999 Approx. Time in seconds that DBAT can remain in thread pool before terminating
![Page 36: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/36.jpg)
DB2 DDF parameters
Parm Waarde BeschrijvingIDTHTOIN 0-9999 Idle thread timeout – iets hoger dan
TCPKPALV
TCPALVER NO TCP/IP allready verified user identification
TCPKPALV 1-65534 TCP/IP keep alive – zie IDTHTOIN
CONTSTOR YES/NO Periodieke “contract” thread’s working storage
MINSTOR YES/NO Storage mgt. Algoritmes gebruiken om thread’s working storage te minimaliseren
![Page 37: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/37.jpg)
DB2 en de Workload Manager
WLM bepaalt de prioriteiten en kent resources toe (CPU, I/O, memory)
WLM definities– Binnenkomend werk (bv. DDF thread) krijgt service
class toegewezen op basis van classificatie regels– Een service class kan ingedeeld worden in perioden
(inactive threads) – Binnen een periode kunnen tegen een bepaalde
prioriteit gelimiteerde resources verbruikt worden– Dit kan beschermen tegen runaway queries
![Page 38: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/38.jpg)
WLM Enclaves
DDF threads worden uitgevoerd als enclave SRBs onder controle van WLM
DDF classificatie binnen WLM is belangrijk om correcte thread priority te zetten
Enclave creatie en vernietiging afhankelijk van CMTSTAT instelling
Bij INACTIVE, wordt thread aangemaakt wanneer eerste SQL wordt ontvangen
![Page 39: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/39.jpg)
WLM Enclaves
Bij ACTIVE wordt enclave aangemaakt wanneer DBAT wordt aangemaakt
Enclave verdwijnt bij INACTIVE bij COMMIT/ROLLBACK indien RELEASE(COMMIT)
Enclave verdwijnt bij ACTIVE wanneer thread verdwijnt
INACTIVE thread kan multi-period response time of velocity goals gebruiken
![Page 40: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/40.jpg)
WLM Enclaves
Bij ACTIVE kan enkel 1 periode velocity goal gebruikt worden
Accounting info bij ACTIVE instelling, enkel wanneer thread eindigt
Accounting info bij INACTIVE instelling op moment van COMMIT/ROLLBACK (met KEEPDYNAMIC(YES) in V8)
![Page 41: DB2 Connect gebruik in een Microsoft omgeving Marc Cobbaert](https://reader035.vdocuments.pub/reader035/viewer/2022062300/5551a0ed4979591f3c8b503b/html5/thumbnails/41.jpg)
Diverse instellingen : decentraal
Db2connect pooling (zie eerder) Max. agents / max. coordinating agenst Timeouts: applicatie/db2connect,
client/db2connect server CONNECTTYPE/DISABLEMULTITHREAD/
SYNCPOINT MTS/COM+ CURSORHOLD=NO NT performance monitoring
DB2CONNECT_IN_APP_PROCESS=NO DB2_ENABLE_LDAP=N (snellere connect)