|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 13 ![]() |
Hello,
Je sais que cette manipulation peut être dangereuse, et j'aurai aimé avoir votre avis et vos conseils. Le but est donc d'affecter à un dbspaces les chunks d'un dbspaces qui n'est plus vraiment utilisé, et ainsi éviter de créer des nouveaux chunks. Il me faut donc : - lister les chunks affectés au dbspaces (onstat -D) - controler qu'aucune donnée n'est présente - désaffecter les chunks - affecter au nouveau dbspace Les étapes que je ne sais pas faire sont : - controler qu'aucune donnée n'est présente - désaffecter les chunks Pouvez-vous m'aider ? IDS 11.70.FC1 Merci d'avance |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2010 Messages : 32 ![]() |
Bonjour,
1-) On ne pas "réaffecter" un chunk à un autre dbspace mais pour suivre l'idée décrite, on doit: - détruire le chunk - créer un chunk et le déclarer appartenant à l'autre dbspace. On peut alors réutiliser le même fichier disque (ou espace raw device) si on veut. 2-) Pour savoir si le chunk est vide: - si on arrive à le détruire avec la commande onspaces, il est vide. - si on n'arrive pas à le détruire, il est peut-être vide de données mais peut-être contient-t-il un extent du tablespace tablespace. il n'y a alors qu'une solution, celle de vider tout le dbspace et de supprimer celui-ci. Il n'y a pas de moyen pour supprimer un tablespace tablespace. Pour vérifier ce qu'il y a dans un dbspace, il y a la commande 'oncheck -pe' qui liste tous les extents de tous les dbspaces de l'instance avec le détails pour chaque chunk. Hope this help. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 13 ![]() |
Merci pour ta réponse, afin d'éviter toutes fausses manipulation, j'ai ajouté de l'espace disque pour en recréer des nouveaux.
Mais je garde ta procédure sous la main, et je vais tester ça en préprod A+ |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Eric VercellettoAchitecte Informix SGBD et applications Inscription : octobre 2010 Messages : 79 ![]() |
Bonjour,
tu as la version 11.70, tu peux donc utiliser la fonctionnalité des dbspaces/chunks extensibles, cela te simplifiera énormément la vie... Après activation de la fonctionnalité au niveau instance, tu iras déclarer quels chunks tu veux passer en "auto expandable". Le principe de cette fonctionnalité est que, quand le chunk a atteint le seuil de remplissage que tu auras déclaré auparavant, il s'agrandira automatiquement jusqu'à atteindre les limites soit du raw device, soit du file system. Tu as une bonne introduction sur le sujet dans cet article. Sinon vas voir la doc 11.70 , dans la partie 'admin', recherche "storage pooling", et tu verras qu'on peut faire beaucoup de belles choses avec cette fonctionnalités. J'ai implémenté les expandable chunks dans des bases de plusieurs TeraBytes, et ça marche très bien. Quand un chunk se rallonge, tu as un message explicite dans le log. Sinon pour supprimer un chunk, la méthode expliquée par nelem est globalement la bonne. Tu ne pourras pas supprimer un chunk tant qu'il n'est pas vide. Au passage, afin d'éviter un drame, peut-être qu'un backup niveau 0 avant et après ne seraient pas superflus... Autrement, as-tu installé OpenAdmin Tool ? L'outil comporte toute une section d'administration de l'espace disque, qui t'évitera de taper des commandes qui peuvent faire peur à certains. Regarde aussi les commandes defragment, repack et shrink, qui peuvent t'aider à dégager de l'espace disponible. Mais regarde surtout OpenAdmin Tool, ça te rendra l'admin encore plus facile, il comporte plein de fonctionnalités indispensables au DBA. N'hésites pas si tu as des questions |
|
00
|
Copyright © 2000-2013 - www.developpez.com