IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Informix Discussion :

Comment désallouer un chunk d'un dbspace ?


Sujet :

Informix

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 6
    Points
    6
    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

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 35
    Points : 47
    Points
    47
    Par défaut
    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.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    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+

  4. #4
    Membre habitué
    Homme Profil pro
    Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Inscrit en
    Octobre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 105
    Points : 162
    Points
    162
    Par défaut
    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

Discussions similaires

  1. Fuite mémoire, comment bien désallouer ?
    Par k3ops dans le forum OpenCV
    Réponses: 10
    Dernier message: 03/07/2008, 16h47
  2. [2.0] Comment désallouer de la mémoire
    Par franculo_caoulene dans le forum Windows Forms
    Réponses: 8
    Dernier message: 18/03/2008, 14h14
  3. Comment creer chunk et dbspace ?
    Par boubadi dans le forum Informix
    Réponses: 3
    Dernier message: 27/12/2006, 12h22
  4. Réponses: 5
    Dernier message: 20/08/2002, 18h01
  5. Réponses: 7
    Dernier message: 01/05/2002, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo