• Accueil
  • Fiches Informatiques
  • How To
  • Photos
  • Extras
  • Admin

logo logo2

contactMICROSOFT musicCOMPILATION videoDOTNET portfolioDROIT DU TRAVAIL rssLINUX historyFISCALITE homeCISCO calendarINTELLIGENCE ARTIFICIELLE rssJAVA rssORACLE rssSOLARIS rssUML rssIBM

CONCEPTS FONDAMENTAUX - DB2

1- Les instances

- Une instance est un gestionnaire de base de données.

- Contrairement à Oracle, ici une instance peut contenir plusieurs bases de données.

- Sous Windows l'instance par défaut est DB2, sous Unix c'est db2inst1.

Commandes
db2icrt < instance > Créer une instance
Set < instance1 > = < instance2 > Passer de l'instance1 vers l'instance2
db2ilist Lister les instances
db2idrop < instance > Supprimer une instance

2- Les Bases de données

- Une base de données a ses propres catalogues d'espaces tables, d'espaces temporaires, et d'espaces tables utilisateurs (elles sont indépendantes).

- Il existe un fichier pour chaque instance nommé System database directory qui contient les entrées de toutes les bases auxquelles on peut se connecter.

- L'application Command Line Processor est un équivalent d'iSQL*Plus chez Oracle.

3- La Fédération

- Si la fédération est bien activée, le paramètre FEDERATED doit être à YES.

- Elle permet d'effectuer des opérations sur des tables distantes (les Federatees) depuis la base de données "Federator".
Le Federator a besoin d'un logiciel client pour accéder à chaque base distante.

4- Conteneurs, Espaces Tables, Bufferpools

- Avec DB2, les données sont physiquement stockées dans des conteneurs.

- Il est possible d'associer un espace table avec un buffer (mise en cache).

Espaces tables créés par défaut
SYSCATSPACE Contient les métadonnées
TEMPSPACE1 Utilisé pour les jointures et les tris
USERSPACE1 Pour stocker les tables d'utilisateurs

- Nous avons 2 types d'espace table DB2 :
    - SMS (System-Managed Spaces)
        - dossiers gérés par le système d'exploitation
        - nécessite un minimum d'administration
        - croissante auto
    - DMS (Database-Managed Spaces)
        - fichiers ou périphériques
        - nécessite une bonne administration
        - croissance non auto

5- Noms d'objets

- Syntaxe d'un objet DB2 :

Nom_du_schéma.Nom_de_lobjet

- Avec DB2, n'importe quel utilisateur (avec un privilège IMPLICIT_SCHEMA) peut créer un objet (table) en utilisant un schéma non existant.

6- Tables, Vues et Index

- Dans le cas d'espace table DMS, il est possible de spécifier dans quel espace table les index peuvent résider.

7- Procédures stockées, Déclencheurs

- Les procédures stockées peuvent être écrites en Java, C, C++, REXX, Fortran, COBOL et SQL PL (recommandé, et nécessitant d'un compilateur C).

- Les déclencheurs peuvent être également en SQL PL (ne nécessitant pas de compilateur C).

8- Les Packages

- Un package DB2 est une structure de contrôle sur le serveur DB2, créé par les Drivers DB2.

- Par défaut, les packages sont créés dans la collection NULLID et contiennent 200 sections dynamiques

- L'utilitaire WebLogic Server dbping sert à forcer le driver DB2 à créer un package.

9- Les Locks

- Un lock sert à interdire l'accès à une information, jusqu'à ce que l'utilisateur ait exécuté un commit (valide les modifs et libère les verrous) ou un rollback (annule les modifs et libère les verrous)

- Nous avons 4 modes de locks différents :

les modes de Lock
Nom Requêtes Description
Modification UPDATE
INSERT
DELETE
Exige des verrous exclusives (plus personne à part l'utilisateur qui place le verrou n'aura accès en écriture aux données)
Cursor controlled UPDATE WHERE CURRENT OF
DELETE WHERE CURRENT OF
Exige aussi des verrous exclusives
Lecture seulement FOR READ ONLY Exige des verrous share locks (lors d'une consultation des données d'une table, cela permet d'interdire en écriture toute donnée que nous n'avons pas encore lue)
Intent to change FOR UPDATE
USE AND KEEP UPDATE LOCKS
USE AND KEEP EXCLUSIVE LOCKS
Exige des verrous share locks et update locks

- Le paramètre locklist indique la quantité de verrous contenue dans la base. Il se calcule de la manière suivante :

(X * Y * Z) / 4096

X = nbr de verrous par application

Y = nbr de bits par verrou

Z = nbr d'applications actives

- Lorsque le pourcentage de nombre de verrous dépasse la valeur maximale (Maxlocks) il existe un système qui permet de libérer des verrous par la conversion de plusieurs verrous en un seul.

- Le deadlock detector sert à déterminer les inter blocages.
On spécifie l'intervalle de temps entre chaque vérif via le paramètre DLCHKTIME- Le paramètre LOCK TIMEOUT permet à une appplication de ne pas rester bloquée sur un verrou déjà déposé.

Valeurs du "lock_timeout_val" (temps à patienter)
-1 Mode WAIT
Patiente la temps qu'il faudra
0 Mode NOT WAIT
Aucune valeur Mode NULL
C'est le locktimeout de la base qui sera utilisé ici
Entre 1 et 32767 Mode WAIT
Patiente le nbr de secondes assignées

© Site powered by Julien MAYLIE