Informatique

Performances applicatives et systèmes DB2 for z/os

Performances applicatives et systèmes DB2 for z/os

Réf 4-DBA12
Durée 3 jours

Objectifs

Connaissance et compréhension des chemins d’accès
Analyser la Plan_Table
Maîtriser les performances du langage SQL
Configurer la mémoire et les paramètres système de DB2.

Infos

Sessions à venir

05 jun-07 jun 2024
09 oct-11 oct 2024

Certifications :

Nous consulter

Programme

Chemins d'accès

  • Rôle de l'optimiseur
  • Chemins d'accès
  • Tablespace Scan
  • Index Scan
  • Multiple Access Index Path
  • Direct Row Access
  • Prefetch
  • Sequential Prefetch
  • List Sequential Prefetch
  • Dynamic Prefetch
  • Partition Scan
  • Jointure
  • Nested Loop
  • Jointure cartésienne
  • Merge Scan
  • Hybrid Join
  • Coût d'une jointure
  • Sous-requêtes : Simple, Corrélée
  • Traitement des vues

Les prédicats

  • Caractéristiques des prédicats
  • Traitement des prédicats
  • Tableau des prédicats
  • Evaluation des prédicats
  • Prédicats de jointure
  • Sur clause ON Jointure sur des colonnes de longueur différente
  • Prédicats composés
  • Exemple d'accès
  • Fonctions scalaires
  • Colonnes VARCHAR
  • Evaluation des fonctions colonnes
  • Prédicat avec IN liste de valeurs, avec IN sous-requête
  • Transformation des sous requêtes simples, corréllées
  • Transformation de NOT IN en NOT EXISTS
  • Evaluation étape 1 vs étape 2
  • Fermeture transitive des prédicats
  • Distribution des valeurs
  • Réoptimisation à l?exécution

EXPLAIN et PLAN_TABLE

  • Rôle de l'EXPLAIN
  • Syntaxe de l'EXPLAIN
  • Structure de la PLAN_TABLE
  • Colonnes de la PLAN_TABLE
  • Lecture sur PLAN_TABLE
  • Exemples d'EXPLAIN
  • Accès à une table
  • Fonctions colonnes
  • Prédicat LIKE
  • Jointure de 2 tables
  • Jointure de 4 tables
  • Sous-requête simple
  • Transformation de sous-requête simple
  • Transformation de NOT IN en NOT EXISTS
  • Transformation de sous-requête corrélée
  • Matérialisation des vues
  • Accès Index Only
  • Prédicat IN vs opérateur OR
  • UNION ALL
  • Gestion du tri final
  • Mécanisme
  • Exemple
  • Prédicats additionnels
  • La table DSN_FUNCTION_TABLE

PLAN_TABLES « cachées »

  • Présentation
  • PREDICATE_TABLE
  • Structure, Colonnes, Exemples
  • COST_TABLE
  • Structure, Colonnes, Exemples
  • REFERENCE_TABLE
  • Structure, Colonnes, Exemples
  • STRUCTURE_TABLE
  • Structure, Colonnes
  • ESTIMATES_TABLE
  • Structure, Colonnes

OUTER et STAR JOINS

  • OUTER JOIN
  • Définition
  • Remarques sur LEFT et RIGHT JOIN
  • Remarques sur FULL JOIN
  • Extension de la clause ON
  • Classification des prédicats
  • D'accès aux tables
  • Pendant jointure
  • Après étape de jointure
  • Après jointure finale
  • Mise en garde
  • Simplification des prédicats
  • Evaluation des prédicats
  • Suppression des tables intermédiaires
  • Fermeture transitive des prédicats
  • Fusion et matérialisation
  • évolution des prédicats
  • STAR JOIN
  • Modèle en étoile
  • Définition
  • Mise en œuvre
  • Considérations de performance
  • Méthode de résolution
  • Recommandations sur les index
  • Ordre des colonnes de l'index de faits

PARALLELISME

  • Introduction
  • Parallélisme I/O
  • Parallélisme CPU
  • Parallélisme SYSPLEX
  • Evolution
  • Vocabulaire
  • Partitionnement logique
  • Accès aux données
  • Exemples d'EXPLAIN
  • Jointure entre 2 tables
  • Accès IN liste

LES FACTEURS DE FILTRAGE

  • Définition
  • Prédicats Simples
  • Formules
  • Exemples
  • Prédicats composés
  • Formules
  • Opérateur AND
  • Opérateur OR
  • Cas particuliers
  • Exemples
  • Distribution non uniforme

ACCESS PATH HINT

  • Présentation
  • Mise en œuvre
  • Paramétrage système
  • BIND package/plan
  • Ordre SET
  • Fonctionnement
  • Mise à jour manuelle de la PLAN_TABLE
  • Recommandations
  • Messages d'information
  • Option QUERYNO
  • Impact sur le catalogue
  • Exemple

PREDICTIVE GOVERNOR

  • Rappels sur RLF
  • Introduction
  • Table DSN_STATEMNT_TABLE
  • Exemple
  • Table DSNRLSTXX
  • Fonctionnement
  • Contrôles préventif
  • Contrôles préventif et réactif
  • SQLCODES
  • Impact des options de BIND
  • DEFER(PREPARE)
  • REOPT(VARS
  • Caching Dynamique

DESIGN APPLICATIF

  • Programmation : généralités
  • Comparaisons sur jointure
  • Impact des chemins d'accès
  • COMMIT & ROLLBACK
  • Durée des COMMITs et ROLLBACKs
  • Curseurs évolués
  • Scrollable Cursor
  • Sensitive Cursor
  • Mise en œuvre
  • Programmation TP
  • SELECT OPTIMIZE FOR
  • FETCH FIRST n ROWS ONLY
  • Programmation BATCH
  • Généralités
  • Absence de points de COMMIT
  • Prise de points de COMMIT
  • Restauration des bases
  • COPY vs QUIESCE
  • Programme Restartable
  • Parallélisme des traitements, Parallélisme et Partitionnement
  • Réoptimistation à l'exécution

MECANISME INTERNES : CONCEPTS

  • Présentation Générale
  • Environnement technique de DB2
  • DB2I et SPUFI
  • Famille DB2 et produits non IBM
  • Les espaces adresses de DB2
  • System Services
  • Database Services
  • IRLM
  • Communication des sous-systèmes
  • Attachment TSO
  • Communication des sites

CONNEXIONS ET THREADS

  • Connexion et threads
  • Identifiants des connexions
  • Two-phase Commit : principes
  • Etat des threads
  • Résolution des threads
  • Threads Indoubt
  • Création d'un thread
  • Terminaison d'un thread

DEMARRAGE ET ARRET DE DB2

  • Installation de DB2
  • Démarrage de DB2
  • Syntaxe, paramètres et messages
  • Action sur Log au redémarrage
  • Log Initialization
  • Current Status Rebuild
  • Forward Log Recovery et Fast Log Apply
  • Backward Log Recovery
  • Consistent Restart
  • Présentation et mise en œuvre
  • Nouveaux états
  • Commande RECOVER POSTPONED
  • Objets Deferred
  • Redémarrage conditionnel
  • Syntaxe, Paramètres et exemple
  • Conséquences
  • Arrêt de DB2
  • Messages

PARAMETRAGE SYSTEME

  • Paramètres d'installation
  • Taille espace
  • Buffer Pools
  • Taille des pages
  • Hiperpool et Dataspace
  • Bufferpool par défaut
  • Vol de page
  • Traitement et gestion des pages
  • Ecriture des pages
  • Contrôle
  • Seuils
  • Castout
  • Tuning
  • RiD Pool
  • Sort Pool
  • EDM Pool
  • Taille
  • Chargement et réutilisation des packages
  • Recherche en Pklist
  • Caching du SQL dynamique
  • Prepare persistant
  • Paramètres de Logging
  • Log Actif
  • Ecriture de la Log
  • Checkpoint interne
  • Log Archive
  • Datasets
  • Autres Paramètres
  • La macro DSN6SPRM
  • Gestion des packages, applicative, système, autorisation et verrouillage
  • La macro DSN6SYSP
  • Dimensionnement, RLF et divers
  • La macro DSN6FAC
  • La macro DSN6LOGP
  • La macro DSN6ARVP
  • La macro DSN6GRP
  • La macro DSN6PRC
  • Chargement dynamique de la ZPARM
  • Commande SET SYSPARM
  • Principes
  • Paramètres modifiables
  • Exemples

Les traces DB2

  • Introduction
  • Répartition de la CPU
  • Descriptif général par classe
  • Paramétrage à l'installation
  • Commande START TRACE
  • Syntaxe et paramètres
  • Structure des données
  • Les différents types
  • Trace STATISTIC, ACCOUNTING, MONITOR, AUDIT et GLOBAL
  • ACCOUNTING
  • Portée et lancement des traces
  • Détails des classes 1, 2 et 3
  • IFCID
  • Indicateurs et seuils d'alerte
  • EDM pool
  • Bufferpools
  • RiD pool
  • Log Manager
  • Verrous
  • Open/Close des fichiers
  • SQL dynamique
  • Temps d'exécution
  • Etapes d'analyse
  • Recommandations diverses
  • Analyse de Traces

Verrouillage

  • Présentation
  • Transaction Locks
  • Taille des verrous
  • Lock escalation
  • Verrouillage sélectif des partitions
  • Mode de verrouillage
  • Deadlock
  • Durée de verrouillage
  • Sur Tablespace ou Table
  • Sur page ou Ligne
  • Exemples d'accès en RR, CS et UR
  • Cas particulier
  • Intégrité référentielle
  • Parcours Index Only
  • Type de curseur
  • Lock Avoidance
  • Utilisation
  • CLSN et PUNC
  • Niveau d'Isolation
  • Keep Update Locks
  • Paramètres système
  • RRULOCK, RELCURHL, XLKUPDLT, RETLWAIT, EVALUNC, NUMLKUS, NUMLKTS et IRLM
  • Tests sur verrouillage
  • Latch
  • Claim physique
  • Drain physique
  • Claim physique sur NPI
  • Claim logique
  • Drain Logique
  • Exemple d'accès concurrents
  • Sérialisation des accès
  • Verrouillage sur Plan
  • Parallélisme des traitements
  • Suivi du verrouillage

Autorisations

  • Vue globale sur la sécurité
  • Identifiant
  • User et Authid
  • Authid primaire, Authids secondaires et Current SQLID
  • Scénario d?attribution
  • Identifiant à la connexion
  • Phase de connexion
  • Phase de signature
  • Groupes RACF
  • Les ordres de contrôle
  • Les privilèges
  • Principes de gestion
  • Autorités administratives
  • Délégation
  • Privilèges sur Plan/packages
  • SQL statique
  • Option DYNAMICRULES
  • Récapitulatif des privilèges
  • Révocation

RACF/DB2

  • Présentation
  • Mise en œuvre
  • Liens DB2/RACF
  • Ressources DB2 / Classes RACF
  • Portée des classes RACF
  • Multi et Mono Système
  • Classes et Profiles
  • Octroi d'autorisations
  • Autorités administratives
  • Paramétrage
  • Portée et Nom des Classes
  • Format des noms de Classes
  • Migration
  • Remarques

En savoir +

Prérequis

Connaissance générale des objets DB2 et maîtrise du langage SQL

Moyens pédagogiques

Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de
Utilisation de cas concrets issus de l'expérience professionnelle
Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques.
Remise d'un support de cours.

Possibilité de certification

Nous consulter.