|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Hello tout le monde,
Je dois m'occuper de l'administration d'une base informix 7.31 sur du solaris et je n'ai pas de compétence la dessus (informix) et j'ai quelques questions. - existe t'il un mode réplication comme pour du mysql ? - comment installer Informix Server Administrator, ou l'activer si il est installé ? - je dois restaurer (ca sera avec ontape -r) une base de prod sur un autre serveur, est ce que les chunks vont être recréés automatiquement ou faut il les recréer manuellement ? - avez vous un bon lien avec tout ce qu'il faut savoir pour informix ? Bref, je patauge un peu, et surtout je dois faire super attention car c'est de la prod. Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 182 ![]() |
Bonjour,
Le site d'IBM regorge de docs et de manuels sur Informix ; je te conseille donc de commencer par la. Sinon, en vrac :
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Merci pour ton retour, et oui je m'entraîne sur une base qui n'est pas en Prod.
Je sais que c'est une version assez ancienne, mais je n'ai pas le pouvoir de faire la mise à jour, je ne peux juste que la conseiller. Sinon j'ai 2-3 autres questions : - Est il possible de mettre en place une réplication comme pour un mysql par exemple ? Je vois la commande onstat -g dri qui permet d'afficher l'état, mais la seule solution de replication que j'ai trouvé semble payante. - J'ai besoin de monitorer ma base aussi, surtout au niveau des espaces des dbspaces. J'ai trouvé un un script sql que j'essaye d'adapter mais je galère un peu, existe t'il des commandes du genre onstat qui pourrait me fournir les infos dont j'ai besoin (je n'ai rien vu de bien pertinent ? Je viens de voir que l'on peut utiliser le snmp de informix, mais j'ai déjà en place net-snmp, avez-vous déjà mis ça en place ? Je continue de chercher sinon sur le site. Merci d'avance pour votre retour |
|
|
00
|
|
|
#4 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 7 182 ![]() |
Bonjour,
En vrac aussi :
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
hello,
Pour la partie snmp c'est bon, j'ai la bonne requête qui va bien, le tout dans un script sh. Comment faites vous de votre coté pour avoir un serveur informix de spare avec une base plus ou moins repliqué ? Si je m'amuse à faire un restaure de la base de prod sur la préprod j'en ai au minimum pour 10-11H, ce n'est pas top du coup. Reste le snapchot SAN mais pour l'instant ce n'est pas d'actualité, bref je ne sais pas trop vers quoi me tourner. Si quelqu'un à déjà mis ça en place Coté mécanisme repli payant qu'elle est pour vous la meilleure solution ? ++ |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Consultant Informix Inscription : juillet 2009 Messages : 12 ![]() |
salut,
tu peux faire un ontape pour sauvegarder/restaurer ailleurs sur un autre serveur, il faut seulement bien faire attention a garder la meme structure au niveau des dbspaces (Noms des chemins des fichiers ou raw-devices, taille de ceux-ci si c'est des raw-devices.) Pour la replication, en 7.31 tu peux utiliser la replication HDR, je ne sais plus si la IER existait sur cette version. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Hello,
Encore une question pour vous. Est il possible de savoir facilement si des tables sont lockées lors de l'exécution d'un script ? J'ai bien trouvé la commande onstat -g sq (id), mais mon souci vient qu'un des scripts du client met en général 5 mn pour s'exécuter mais parfois 1H voir 2H Le script est exécuté plusieurs fois pas jours à des heures différentes, et le problème est aléatoire, ce n'est pas tjrs à la même heure. Est il possible de loguer toutes les actions ? Voir qu'elles sont les requêtes lentes, ou le temps pris ? Bref, je dois trouver pourquoi cette requête prend parfois 5 mn ou 2H pour un même nombre de ligne inséré. Merci d'avance pour votre aide |
|
|
00
|
|
|
#8 | ||
|
Membre habitué
![]() Inscription : novembre 2007 Messages : 103 ![]() |
Bonjour,
- La requête n’est peut-être pas forcément pertinente en termes de performance. - Les tables ne sont peut-être pas forcément indexées comme il faudrait pour satisfaire un join. - Exécuter la requête pas-à-pas peut révéler l'éventuel problème. - La requête travaille-t-elle en lockant/délockant les tables qu'elle exploite ? - Un « update statistics high; » peut améliorer les performances. - Le « System Catalog » doit certainement permettre de voir les tables lockées. - J’avais fait un écran très simple qui exploitait certaines informations du « System Catalog ». J’ai oublié quel était l’objectif mais cela a peut-être un rapport avec la recherche d’une table lockée. Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Merci pour ton aide
Une autre question, concernant les logfiles et pouvant être la cause de mon problème. Un onstat -l m'indique qu'ils sont tous occupés à 100% Code :
En créer des nouveaux ? Peut on le faire à chaud ? Les purger ? Si oui comment ? (ontape ?) Merci d'avance |
||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Consultant Informix Inscription : juillet 2009 Messages : 12 ![]() |
Le fait qu'ils soient remplies à 100% ne gene en rien, ils sont justement là pour ça. Le point sur lequel tu dois être attentif est la sauvegarde de ceux-ci pour assurer la rotation des logs au niveau de l'écriture des transactions par le moteur informix. En gros il faut que tu scripte leur sauvegarde à intervalle régulier (en bouclant la commande ontape) ou alors laisser en tâche de fond la commande ontape -c pour faire une sauvegarde continue des logs (je le conseille pas trop).
|
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Consultant Informix Inscription : juillet 2009 Messages : 12 ![]() |
Une autre chose : La taille des journaux est très petite et il se peut que tu aies pas mal d'erreur à cause de LONG-TRANSACTION.
Augmente les à 50Mo minimum chacun |
|
|
00
|
|
|
#12 | |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Citation:
As tu une doc ou on explique clairement comment faire ? Merci A+ |
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Bon je viens de trouver comment faire, vu que je dois arrêter la base, je vais faire la modification dans le fichier onconfig
Actuellement j'ai : ----8<------------------- # Logical Log Configuration LOGFILES 20 # Number of logical log files LOGSIZE 2000 # Logical log size (Kbytes) ----8<------------------- Et je vais donc passer le LOGSIZE à 420000 (50Mo) qu'en pensez-vous ? Il ne me reste qu'a trouver ou sont stockés physiquement ces logs pour voir si j'ai assez de place Edit : ils sont stockés dans la root dbspace, faut que je vois si j'ai assez de place alors !!! |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() |
Bonjour,
Je voudrais avant tout attirer votre attention à une chose, La réplication coté Informix se fais nativement, et tu n'a pas besoin de composants supplémentaires. il faut juste savoir comment. Et en ce qui concerne l'ajour de LOG, l'opération que tu va faire, ne va pas modifier les LOGS. ça dois être fais en mode commande. |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Pour la répli j'ai laissé tomber pour l'instant.
Concernant les logs logique j'ai lu ça sur le site d'IBM : http://publib.boulder.ibm.com/infoce...c/admin532.htm Les logs sont stockés dans le Root dbspace, il me suffit donc d'agrandir la valeur dans le onconfig et vérifier que j'ai bien assez de place dans mon root dbpsace, non ? Edit : après test sur ma préprod ça ne fonctionne pas. Si vous avez une bonne procèdure je suis preneur. Est ce 50Mo par fichier de log n'est pas trop ? |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() |
Le meilleur, et plus sure moyen d'ajouter des logs, est d'utiliser la commande : onparams.
ça te permet d'ajouter des logs en ligne et sans danger, bien sur la taille des logs à ajouter dépend principalement de la taille des tes traitements par jour et forcément de la taille de ton ROOTDBS. En ce qui concerne la réplication, je sais pas pourquoi ne pas utiliser la réplication informix. c'est simple, et très paramétrable et ça te permet de garantir une "HIGH AVAILABILITY" de ton système. |
|
|
00
|
|
|
#17 | |
|
Membre habitué
![]() Eric VercellettoAchitecte Informix SGBD et applications Inscription : octobre 2010 Messages : 83 ![]() |
Bonjour,
désolé encore une exhumation de post mais entre Halloween et la Toussaint, c'est permis alors j'en profite 1) Citation:
La réplication existe sur Informix depuis la version 6.0 ( exclusive à la plateforme Sequent ), et plus généralement la version 7.0 soit 1994, alors que MySql n'existait même pas. Ce mécanisme va sur ses 18ans et est plus qu'éprouvé en terme de robustesse, de de flexibilité et de performance. Ne pas l'utiliser alors que le besoin est là serait vraiment dommage. 2) Au sujet "version gratuite" IDS existe depuis quelque temps en édition Innovator-C, donc gratuite en environnement de production. Innovator-C inclut la réplication HDR ( la totalité de l'instance est répliquée ) avec un primaire et un secondaire, ou la réplication Entreprise ( réplication en update anywhere au niveau tables ), pour 1 root node et x leaf nodes. Déjà de quoi s'amuser.... Si tu es en IDS 7.31, le chemin de migration est direct si tu restes sur la même machine ( pas d'export import de données, sauvegarde de qq fichiers, arrêt et redémarrage de l'instance), et il existe une procédure très simple de "machine arrière" ( retour à 7.31 ) en cas fortement improbable de problème grave. Par contre Innovator-C Edition est limité en termes de nombre de CPU VP ( maximum 4 ), tournant sur maximum 1 CPU/4 coeurs. La mémoire partagée est aussi limitée à un total de 2Gb ( page buffers + Virtual size) pour toutes les instances tournant sur cette machine. A mon avis de quoi faire tourner déjà plusieurs centaines d'utilisateurs d'une application OLTP moyennement complexe. Autres limitations: pas de fragmentation des tables ni de PDQPRIORITY, mais allez, pour le prix, c'est pas si mal que ça. Pas de limite de volume ( enfin si, environ 128 Petabytes), mais il vaut mieux étudier de près ton sizing... 3) Autre chose, au sujet du backup en continu des logical logs: si tu as de la place dans le dbspace les contenant, n'hésites pas à tailler grand, c'est un bon remède contre les longues transactions comme expliqué plus haut. Mais je suis aussi partisan de ne pas donner la taille individuelle de chaque log trop grande, j'explique: le backup continu des logical logs se fait quand chaque logical log est à 100% de remplissage. Chaque log log backupé sur un autre media constitue la garantie de recouvrer intégralement toutes les transactions contenues dans ce log en cas de crash disque par exemple. Plus un logical log met de temps à se remplir ( donc à être backupé ), moins les chances de récupérer un grand nombre de transactions sont importantes. Exemple: un logical log de 100 Mb met 4 heures à se remplir à 100%. Si par malchance il y a un crash disque, avec obligation de restore, alors que le logical est rempli à 1%, tu perds bêtement pratiquement 4 heures de transactions. Si le logical log ( LOGSIZE dans onconfig ) avait été sizé de façon à se remplir en 10 mn, tu maximises fortement les chances de récuper un maximum de transaction, au risque de perdre un maximum de 10mn d'activité... Il n'y a pas de règle absolue pour le calcul de remplissage des logs: tu cherches dans le log de ton instance la durée entre chaque message " Logical Log XXX Complete' et tu calcules la moyenne. Ensuite avec une bonne règle de trois tu pourras en déduire la valeur idéale dans le cas de ton installation. Ceci est totalement inutile si tes bases ne sont pas journalisées, vu que seules les instructions SQL de définition de données ( create table, create index etc...) seront journalisées dans ce cas de figure. Voila Eric |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 15 ![]() |
Merci pour les réponses.
Bon, on a migré vers IDS 11.50 et depuis quelques temps le client rencontre à nouveau des lenteurs sur des traitrements. La conf actuelle : - un serveur physique surdimenssioné (CPU 8 coeur, 32Go) - un LUN SAN contenant des chunks - un autre LUN SAN contenant des chunks - un LUN pour les exports Le serveur fait environ 15-20% de CPU wait, la cause pourrait être des lenteurs d'accès au data sur les LUN. Un traitement équivalent peut mettre 10s comme 20mn pour s'exécuter. A noter que la base n'est pas journalisée et qu'on reste sur une politique d'export différentiel plusieurs fois par jour. (on arrive à des 50Go d'export, pour un full de 150Go, avec 2 full par semaine). Bref, qu'est ce que j'ai comme outils coté IDS pouvant m'aider à trouver une piste ? Des index manquant ? Des tables lockés par une autre transaction en cours ? A+ |
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() Eric VercellettoAchitecte Informix SGBD et applications Inscription : octobre 2010 Messages : 83 ![]() |
Bonjour,
désolé, je n'étais pas repassé ici depuis quelques jours.. je pense d'ailleurs qu'il ne serait pas une mauvaise idée de créer un nouveau post, car le sujet n'a plus rien à voir avec celui du début :-) Bon, trève de formalisme, avec une belle configuration comme tu as, on ne devrait pas entendre parler de problèmes de perf. Les causes potentielles sont nombreuses, il faut procéder par ordre. 0) tu as installé 11.50, mais quelle Edition ? ( growth, Innovator, Ultimate ? 1) quelle version était installée avant la migration vers 11.50 ( et pourquoi pas 11.70 d'ailleurs? ) 2) peux-tu me faire parvenir ton $ONCONFIG ? 3) les statistiques sont-elles à jour et sont elles mises à jour régulièrement ? 4) Tous les index sont ils présents ? 5) si tu parles de "traitements" je comprends "batch". Un index manquant ou une requête mal construite peut donner un désastre en termes de performances. Le ralentissement est-il global ou seulement certains traitements? 6) As-tu lancé un vmstat pendant par exemple 12 heures pour comprendre le comportement global de la machine ? 7) quels sont les Temps de checkpoint? 8) Peux-tu me faire parvenir ton log informix? 9) lance onstat -k et regarde dans la colonne wtlist ( waitlist ), si il y a des valeurs différentes de 0. Si oui cela veut dire qu'il y a des sessions qui attendent le déblocage d'un lock soit sur rangée ( ou page ), soit sur table. 10) il faudrait lancer pendant quelques minutes un explain global, et je pourrais en extraire les problèmes de perf notoires. 11) le fait d'être en base non journalisée devrait au contraire être un facteur d'allègement en ce qui concerne les i/o. On va commencer avec cela :-) Cdt Eric |
|
00
|
|
|
#20 |
|
Membre habitué
![]() Eric VercellettoAchitecte Informix SGBD et applications Inscription : octobre 2010 Messages : 83 ![]() |
et si tu as du temps devant toi, je tenterais en premier lieu de dropper les statistiques et les reconstruire de zéro.
Cela peut prendre du temps, mais cela ne peut qu'être bon. Cela ne dispense pas de montrer le $ONCONFIG ainsi que le "online.log" et de vérifier onstat-k E. |
|
00
|
Copyright © 2000-2013 - www.developpez.com