Accueil > Base de données et Décisionnel - BI

 > Performances applicatives et systèmes DB2 for z/os

null

Base de données et Décisionnel - BI

Performances applicatives et systèmes DB2 for z/os

Objectif

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.

Durée : 3 jours (21 heures)

Dates :
-04/04/23
-07/06/23
-11/10/23

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

Programme de la formation

CHEMINS D'ACCES

  • 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 PREDICATS

  • 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
  • Transormation de NOT IN en NOT EXISTS
  • Transformation de sous-requête corréllé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 oeuvre
  • 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 oeuvre
  • 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 oeuvre
  • 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
Menu