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 corrupted : Supprimer les données ?


Sujet :

Administration Oracle

  1. #1
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut Data block corrupted : Supprimer les données ?
    Bonjour,


    Sur une base de données que j'utilise (mais dont je ne suis pas l'administrateur), je suis tombé sur l'erreur Oracle suivante :

    Citation Envoyé par Erreur Oracle
    ORA-01578: ORACLE data block corrupted (file # 12, block # 509440)
    ORA-01110: data file 12: '+DATA/***/***/tbs_data.884.875710805'
    Après, avoir faire un analyse rapide, j'ai constaté que ce bloc est associé au données d'une table que j'utilise via la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select OWNER, SEGMENT_NAME, SEGMENT_TYPE from DBA_EXTENTS where file_id = 12 and 509440 between block_id and (block_id + blocks - 1);
    Sachant que les données sur la table correspondante ne sont pas vitales et qu'un rechargement de la base de données n'est pas possible pour d'autre raison. (Et que les DBA ne peuvent pas corrigé eux-même le problème )

    Pour esquiver le problème n'envisage Trois solutions :
    1. Droper la table
    2. Renommer la table et en créer une nouvelle (Équivalant au drop ?)
    3. Supprimer les données correspondantes aux blocs corrompus.

    Pour le 3. Je pensais faire un accès au contenu ligne à ligne et si j'ai une erreur indiquant un contenu corrompu, le supprimer.

    Y-a-t-il un "expert" qui pourrait me dire si ces solutions ont une chance de marché ou si je perd mon temps.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Je ne suis pas un expert en résolution de Data block corrupted, mais as-tu vérifié si tu pouvais réparer avec DBMS_REPAIR
    exemples : https://docs.oracle.com/cd/B28359_01.../repair004.htm ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Merci pour l'information.

    Pour le moment, je suis partie sur ma solution 2. Renommage de table avec création d'une nouvelle table.
    Il semble que le renommage de table n'ai pas posé problème par rapport au données corrompus.
    Donc soit j'arrive à corrigé la table soit je fait une insertion par bloc entre l'ancienne et la nouvelle table en ignorant l'erreur oracle si un bloc plante.

    Pour information, voici les commandes utilisés pour : renommé la table en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RENAME MA_TABLE TO MA_TABLE_20160811;
    ALTER INDEX MON_INDEX RENAME TO MON_INDEX_20160811;
    ALTER TABLE LIGDOSMC_20160811 RENAME CONSTRAINT PK_MON_INDEXTO PK_MON_INDEX_2016081;
    Et le script de création de table via l'export de la table en question avant le renommage.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Membre confirmé
    Homme Profil pro
    xxxxxxxxx
    Inscrit en
    Avril 2015
    Messages
    392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : xxxxxxxxx

    Informations forums :
    Inscription : Avril 2015
    Messages : 392
    Points : 552
    Points
    552
    Par défaut Data block corrupted : Supprimer les données ?
    bonjour,
    il existe une fonctionnalité connue pour récuperer ces data blocs corrompus d'une
    base sous RMAN, alors si les dba ont pensé à faire leurs planifications des sauvegardes,
    tu peux utiliser cette fonctionnalité indiqué dans l'url :
    http://www.dba-oracle.com/t_rman_62_...ted_blocks.htm

    voilà, j'éspère que cet article te sera utile

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/02/2008, 04h31
  2. Réponses: 3
    Dernier message: 21/01/2008, 19h28
  3. Réponses: 14
    Dernier message: 29/11/2007, 07h47
  4. ORA-01578: ORACLE data block corrupted
    Par diabolo73 dans le forum Oracle
    Réponses: 1
    Dernier message: 23/10/2006, 20h04
  5. supprimer les données de de table différentes
    Par argon dans le forum Requêtes
    Réponses: 5
    Dernier message: 15/01/2006, 21h58

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