Mise à niveau vers la version 9.40
Posted in 2005
Topics: Installation, Setup & Upgrades
Translated from English by DrWatson — View original
L'une des actions à effectuer avant la migration vers la 9.40 consiste à purger tous les *inplace alters* en attente. Quelqu'un pourrait-il en donner une raison technique ? J'avais supposé que c'était parce que le format des pages avait changé et que cela pourrait avoir des conséquences désastreuses s'ils n'étaient pas purgés. Cordialement Colin Il existe 10 sortes de gens dans le monde : ceux qui comprennent le binaire et ceux qui ne le comprennent pas envoi vers informix-list
Colin Dawson a écrit : > L'une des actions à effectuer pour la mise à niveau vers la 9.40 consiste à purger toutes les > modifications « inplace » (in-place alters) en attente ; quelqu'un peut-il en donner une raison > technique ? Je supposais que c'était parce que le format des pages avait changé et que cela > pouvait avoir des conséquences désastreuses si elles n'étaient pas purgées. Parce que le format des métadonnées décrivant les IPA en attente change, et que si vous effectuez la mise à niveau avec des IPA en attente, vous ne pourrez pas revenir en arrière tant qu'elles n'auront pas été purgées. Si vous aimez jouer avec le feu et que vous êtes certain de ne pas avoir besoin de revenir en arrière, vous pouvez tenter la mise à niveau avec les IPA en attente. Ce n'est toutefois pas recommandé — et toute possibilité de retour arrière vous sera interdite. Depuis quelle version effectuez-vous la mise à niveau ? Sur quelle plateforme ? Vers quelle version de la 9.40 migrez-vous ? -- Jonathan Leffler #include <disclaimer.h> Email : jleffler@earthlink.net, jleffler@us.ibm.com Gardien de DBD::Informix v2005.02 -- http://dbi.perl.org/
N'oubliez pas que : a) Les alters « in place » en attente ne sont résolus qu'au moment où vous mettez à jour la ligne, ce qui ralentit d'autant l'update. b) Les alters « in place » ralentissent forcément la lecture des lignes, puisque la ligne doit être convertie à la volée au nouveau format. c) Il existe une limite de 255 alters « in place » en attente sur une même ligne. Je me demande quel est le message d'erreur si on atteint cette limite, et si quelqu'un l'a déjà rencontrée ? Il existe des requêtes SQL sur comp.database.informix permettant de repérer les alters « in place » en attente. J'espère que chaque ligne de la base possède une clé primaire unique. Placez les clés primaires de chaque table dans une nouvelle table. Exécutez un programme qui met à jour et valide toutes les x lignes. Il peut tourner lentement et se mettre en veille toutes les n boucles afin de réduire l'impact sur le système en production. J'aimerais beaucoup disposer d'une commande permettant de terminer rapidement uniquement les alters en attente d'une table. Quelque chose qui commiterait toutes les x lignes (si la table est journalisée) et se mettrait en veille pendant n secondes chaque fois que x lignes sont mises à jour (afin de réduire l'impact d'un grand nombre d'écritures sur un système de production). Ça, ce serait une bonne chose pour IDS 11 !