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

Administration Oracle Discussion :

Vider un rollback segment [Fait]


Sujet :

Administration Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Points : 39
    Points
    39
    Par défaut Vider un rollback segment
    bonjour,

    pour ma base 8.1.7.4 j'ai 10 rollback segments R[1..10] définis sur 2 tablespaces RBS et RBS1 de 2 Go chacun.
    - les 5 premiers rollback segment sur RBS on un storage initial 40M, next 4M, optimal 40M
    - les 5 autres rollback segment sur RBS1 ont un storage initial 40M, next 4M, sans optimal défini

    au fur et à mesure des utilisations, les 5 rbs de rbs1 se sont étendus, ils font respectivement 285Mo, 462Mo, 543Mo, 543Mo et 40Mo.

    un traitement lancé sur la base génère environ 150 Mo de rollback, donc quand il s'exécute sur un de ces rollback segments, il se termine en erreur "ORA-1650: unable to extend rollback segment R06 by 515 in tablespace RBS1".

    je voudrais pourquoi il ne parvient pas à réutiliser par exemple les 285 Mo de mon rollback segment R06 ? Y'a-t-il quelque chose à faire pour que la totalité de mon rollback segment soit à nouveau disponible ? est-ce que le mettre offline puis à nouveau online résoudrait le problème ?

    Merci d'avance

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Oracle assigne un rollback segment (RBS) au démarrage de la transaction et ce segment est unique pendant toute la durée de la transaction:

    For the duration of a transaction, the associated user process writes rollback information only to the assigned rollback segment.
    Voir le Concepts Guide 8i.

    ORA-01650 signifie en général qu'il n'y a pas assez d'espace dans le tablespaces des RBS. Si vous connaissez à priori la taille de l'undo utilisée par une transaction vous pouvez modifier le code applicatif pour utiliser explicitement un RBS donné:
    http://download-west.oracle.com/docs...ollbak.htm#960.
    Oracle ne peut pas connaitre à priori la taille de l'undo nécessaire à une transaction.

  3. #3
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Pour tes gros rb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter rollback segment Rn shrink;
    et pour le tablespace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter tablespace rbs1 coalesce;
    Tu permettra à ton rollback d'occuper d'avantage de place si tu ne veux/peux pas agrandir le tablespace.

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/01/2006, 18h56
  2. Oracle 8.1.7.4 : Vider les Rollback segments
    Par beyonder2005 dans le forum Oracle
    Réponses: 7
    Dernier message: 02/11/2005, 14h37
  3. Taille des Rollback Segments
    Par slyv dans le forum Oracle
    Réponses: 9
    Dernier message: 17/03/2005, 12h02
  4. Les Rollback Segments
    Par blids dans le forum Administration
    Réponses: 20
    Dernier message: 18/05/2004, 19h22
  5. remise à jour des rollback segment par oracle
    Par juin29 dans le forum Administration
    Réponses: 9
    Dernier message: 23/04/2004, 14h51

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