Précédent   Forum du club des développeurs et IT Pro > Bases de données > Autres SGBD > Informix
Informix Forum d'entraide Informix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/09/2012, 11h25   #1
gnubibi
Invité de passage
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 0
Points : 0
Par défaut Comment désallouer un chunk d'un dbspace ?

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
gnubibi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2012, 15h40   #2
nelem75
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 32
Points : 39
Points : 39
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.
nelem75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2012, 12h20   #3
gnubibi
Invité de passage
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 0
Points : 0
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+
gnubibi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2012, 20h10   #4
begooden-it
Membre habitué
 
Homme Eric Vercelletto
Achitecte Informix SGBD et applications
Inscription : octobre 2010
Messages : 79
Détails du profil
Informations personnelles :
Nom : Homme Eric Vercelletto
Âge : 52
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : Achitecte Informix SGBD et applications
Secteur : Conseil

Informations forums :
Inscription : octobre 2010
Messages : 79
Points : 126
Points : 126
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
begooden-it est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h03.


 
 
 
 
Partenaires

Hébergement Web