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 :

Data Block corrompu dans cluster de table


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 61
    Points : 57
    Points
    57
    Par défaut Data Block corrompu dans cluster de table
    Bonjour,

    J'ai un block corrompu sous une 8.1.7 avec windows NT4, voici le résultat d'un dbverify :
    DBVERIFY: Release 8.1.7.0.0 - Production on Ma Sep 7 15:36:52 2010

    (c) Copyright 2000 Oracle Corporation. All rights reserved.


    DBVERIFY - Début de vérification : FILE = XXXXXXX.spa

    Page 72255 influx - probabilité d'altération du support
    ***
    Corrupt block relative dba: 0x01c11a3f (file 0, block 72255)
    Fractured block found during dbv:
    Data in bad block -
    type: 0 format: 0 rdba: 0x00000000
    last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
    consistency value in tail: 0x697b0602
    check value in block header: 0x0, block checksum disabled
    spare1: 0x0, spare2: 0x0, spare3: 0x0
    ***



    DBVERIFY - Vérification terminée

    Nb de pages examinées : 76800
    Nb de pages traitées (Données) : 17743
    Nb de pages en échec (Données) : 0
    Nb de pages traitées (Index) : 28655
    Nb de pages en échec (Index) : 0
    Nb de pages traitées (Autre) : 1518
    Nb de pages vides : 28883
    Nb de pages marquées altérées : 1
    Nb de pages Influx : 1
    Le block incriminé est un block de cluster :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select *
      from dba_extents
     where file_id = 7
       and block_id <= 72255
       and block_id + blocks >= 72255;
    donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    OWNER
    ------------------------------
    SEGMENT_NAME
    -------------------------------------------------------------------------------
    PARTITION_NAME                 SEGMENT_TYPE       TABLESPACE_NAME
    ------------------------------ ------------------ -----------------------------
     EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
    ---------- ---------- ---------- ---------- ---------- ------------
    XXXXXXX
    XXXCXXX
                                   CLUSTER            XXXXXXX
             2          7      71971    4096000        500            7
    Comme l'usage des cluster implique une structure mémorielle particulière, je ne sais pas si je peux simplement le supprimer et recréer. A noter que DBMS_REPAIR n'a rien détecté sur les tables du schéma lui-même.
    Quelle est la meilleure manière pour fixer ce problème et rendre la base à nouveau utilisable ? Pour l'instant on ne peut plus faire d'export ni de nouvelles écritures.

    D'avance merci.

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    tu peux envisager de restaurer un backup, pour autant que le block ne soit pas corrompu dans le backup lui même (si tu utilises RMAN, cela ne devrait pas être le cas, mais vu ta release , cela m'étonnerait).

    Rejeter le block via dbms_repair (DBMS_REPAIR. SKIP_CORRUPT_BLOCKS) afin de rendre la table/cluster utilisable ?

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    Je n'ai aucun backup, ni archive log ni même export récent exploitable.

    En fait ce que je souhaitais avoir confirmation est que le cluster ne peut pas être traité comme un index (drop puis rebuild). Donc en effet je vais devoir utiliser DBMS_REPAIR. SKIP_CORRUPT_BLOCKS pour rendre la base à nouveau accessible et espérer que les données perdues soient suffisamment anciennes pour soit ne pas être critiques soit présentes dans l'export vieux d'un an qui est le seul disponible pour être remises à la main...
    Personne ne voit d'autre solution ?

Discussions similaires

  1. [EasyPHP] #1034 - Index corrompu dans la table:
    Par azorol dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 03/08/2009, 11h18
  2. [forms] Data Block Lov Plusieurs tables jointure
    Par loupin dans le forum Forms
    Réponses: 5
    Dernier message: 13/09/2006, 21h39
  3. Copier un ensemble d'enregistrement dans la meme table
    Par SergeF dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/07/2004, 18h22
  4. copie d'un enregistrement dans une deuxième table
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 5
    Dernier message: 03/03/2004, 12h51
  5. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59

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