Chargement des données
L'utilitaire de chargement permet de déplacer efficacement de grandes quantités de données dans des tables nouvellement créées ou dans des tables contenant déjà des données.
Avant de commencer
Avant d'invoquer l'utilitaire de chargement, vous devez être connecté (ou pouvoir vous connecter implicitement) à la base de données dans laquelle vous souhaitez charger les données.
Puisque l'utilitaire émet une instruction COMMIT, terminez toutes les transactions et libérez tous les verrous en émettant une instruction COMMIT ou ROLLBACK avant d'invoquer l'utilitaire de chargement.
Les données sont chargées dans l'ordre dans lequel elles apparaissent dans le fichier d'entrée, sauf en cas d'utilisation de tables de regroupement multidimensionnel (MDC), de tables partitionnées ou du modificateur de type de fichier anyorder. Si vous souhaitez obtenir une séquence particulière, triez les données avant de tenter une opération de chargement. Si le regroupement est nécessaire, les données doivent être triées sur l'index de regroupement avant d'être chargées. Lors du chargement de données dans des tables multidimensionnelles en grappe (MDC), le tri n'est pas nécessaire avant l'opération de chargement, et les données sont regroupées conformément à la définition de la table MDC. Lors du chargement de données dans des tables partitionnées, le tri n'est pas nécessaire avant l'opération de chargement et les données sont partitionnées en fonction de la définition de la table.
Restrictions
- Le chargement des données dans les pseudonymes n'est pas possible.
- Le chargement de données dans des tables typées ou des tables avec des colonnes de type structuré n'est pas pris en charge.
- Le chargement de données dans les tables temporaires déclarées et les tables temporaires créées n'est pas pris en charge.
- Les données XML ne peuvent être lues qu'à partir du serveur ; si vous souhaitez que les fichiers XML soient lus à partir du client, utilisez l'utilitaire d'importation.
- Vous ne pouvez pas créer ou supprimer des tables dans un espace de tables qui est en attente de sauvegarde.
- Vous ne pouvez pas charger des données dans une base de données accessible via Db2 Connect ou dans un serveur antérieur à Db2® Version 2. Les options qui ne sont disponibles qu'avec la version actuelle ne peuvent pas être utilisées avec un serveur de la version précédente.
- Si une erreur se produit au cours d'une opération LOAD REPLACE, les données originales de la table sont perdues. Conserver une copie des données d'entrée pour permettre le redémarrage de l'opération de chargement.
- Les déclencheurs ne sont pas activés sur les lignes nouvellement chargées. Les règles de gestion associées aux déclencheurs ne sont pas appliquées par l'utilitaire de charge.
- Le chargement de données cryptées n'est pas possible.
- Les points de cohérence ne sont pas pris en charge lorsque le nombre d'agents de partitionnement est supérieur à un.
- Le chargement de données dans un sous-ensemble de partitions de données tout en maintenant les partitions de données restantes entièrement en ligne n'est pas pris en charge.
- La table d'exceptions utilisée par une opération de chargement ou une opération de mise en attente d'intégrité ne peut pas être partitionnée.
- Un index unique ne peut pas être reconstruit lorsque l'utilitaire de chargement fonctionne en mode insertion ou en mode redémarrage et que la table cible du chargement a des dépendances détachées.
Procédure
Pour invoquer l'utilitaire de chargement :
- Émettez une commande LOAD dans le processeur de ligne de commande (CLP).
- Appeler l'interface de programmation d'application (API) db2Load à partir d'une application client.
- Ouvrez l'assistant de tâches dans IBM® Data Studio pour la commande LOAD.
Exemples
db2 load from stafftab.ixf of ixf messages staff.msgs
insert into userid.staff copy yes use tsm data buffer 4000Dans cet exemple :- Tout message d'avertissement ou d'erreur est placé dans le fichier staff.msgs.
- Une copie des modifications apportées est stockée dans Tivoli® Storage Manager (TSM).
- 4000 pages d'espace tampon doivent être utilisées pendant l'opération de chargement.
db2 load from stafftab.ixf of ixf messages staff.msgs
tempfiles path /u/myuser replace into staff- Les données du tableau sont remplacées.
- Le paramètre TEMPFILES PATH est utilisé pour spécifier /u/myuser comme chemin d'accès au serveur dans lequel les fichiers temporaires sont écrits.
Procédure à suivre
Après avoir appelé l'utilitaire de chargement, vous pouvez utiliser la commande LIST UTILITIES pour surveiller la progression de l'opération de chargement. Si une opération de chargement est effectuée en mode INSERT, REPLACE ou RESTART, un suivi détaillé de la progression est disponible. La commande LIST UTILITIES avec le paramètre SHOW DETAILS permet d'afficher des informations détaillées sur la phase de charge en cours. Les détails ne sont pas disponibles pour une opération de chargement effectuée en mode TERMINATE. La commande LIST UTILITIES indique simplement qu'un utilitaire de terminaison de charge est en cours d'exécution.
Une opération de chargement maintient des contraintes uniques, des contraintes de plage pour les tables partitionnées, des colonnes générées et des règles de sécurité LBAC. Pour toutes les autres contraintes, la table est placée dans l'état Set Integrity Pending au début d'une opération de chargement. Une fois l'opération de chargement terminée, l'instruction SET INTEGRITY doit être utilisée pour sortir la table de l'état Set Integrity Pending.