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 :

ora-01578 fichier #1 [10gR2]


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut ora-01578 fichier #1
    Bonjour.

    J'ai une base 10g sous win2003Seveur sp2.
    J'ai depuis 3 jours dans les logs de la base des messages ora-01578 et ora-01110 sur le fichier de données 1.
    A priori c'est sys.dbms_stats qui lève l'erreur
    J'ai fait des recherches, mais on parle de RECOVER et RESETLOG sur base fermée, or j'ai lu sur le site qu'il vaut mieux ne pas arrêter la base.
    J'ai vu aussi des choses sur RMAN, mais à ma connaissance, ce n'est pas utilisé sur cette base.
    Et avant de faire quoi que ce soit j'aimerais m'assurer que le problème est toujours présent

    Quelqu'un peut-il m'éclairer s'il vous plaît

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Par défaut
    Bonjour,

    Vous avez un bloc corrompu dans un de vos fichiers de données.

    Vous pouvez peut-être commencer par lancer la requête suivante pour voir quel objet est impacté et voir si c'est grave ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tablespace_name, segment_type, owner, segment_name 
    FROM dba_extents
    WHERE file_id = <numero du fichier>
    And <numero du block> between block_id AND block_id + blocks -1 ;
    Si c'est un objet qui n'est pas essentiel (par exemple, une table dont le contenu peut être perdu ou récupéré grâce à une sauvegarde, un index qui peut être reconstruit, etc.), alors une possibilité est de le supprimer pour le recréer ensuite.

    Si la base de données est en mode ARCHIVELOG, alors vous pouvez lancer RMAN et tenter le procédé exposé sur cette page

    C'est tout ce qui me vient à l'esprit pour l'instant. Et sinon, vous devriez vraiment mettre en place des sauvegardes RMAN.

  3. #3
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    Merci pour cette piste.

    En l'appliquant, il semble que ce soit la table COL_USAGE$ qui soit en cause.
    J'imagine que c'est une table essentielle puisqu'elle appartient à SYS et fait partie de system.dbf....

    Une suggestion de ce que je peux faire?

  4. #4
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    bonjour.

    ma base est de nouveau opérationnelle.

    Petit retour, si cette mésaventure arrive à quelqu'un...
    Oracle m'a fait faire un backup via RMAN avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     backup database plus archivelog format '/home1/oracle/RMAN-Backup/%U';
    Pour info j'ai du changer db_recovery_file_dest_size de 2G (valeur par défaut) à 200G. C'était la première fois que j'utilisais RMAN et ma base "pèse" à peu près 290 Go.

    à l'exécution de RMAN j'ai eu l'erreur ORA-19566: la limite de 0 blocs altérés pour le fichier D:\ORACLE\ORADATA\SIUNIQUE\SYSTEM01.DBF est dépassée que mon correspondant m'a fait corriger avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set maxcorupt for datafile 1 to 1;
    .
    RMAN a fonctionné.

    puis sous splplus (en italique les commentaires de mon correspondant)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> alter session set events '10231 trace name context forever, level 10';
     
    SQL> alter table COL_USAGE$ move;
     
    Table altered.
     
    SQL> select index_name, status from dba_indexes where table_name = 'COL_USAGE$';

    You should get something like:

    I_COL_USAGE$ UNUSABLE

    Rebuild that index.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> alter index I_COL_USAGE$ rebuild;

    Then check index is Valid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> select index_name, status from dba_indexes where table_name = 'COL_USAGE$';

    If so,then run

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    12:10:55 SQL> analyze table COL_USAGE$ validate structure;
     
    Table analyzed.

    If you get table analyzed, it means corruption was fixed.


    et pour finir, sous RMAN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "backup validate check logical datafile 1;
    Voilà, si ça peut aider...
    Merci encore Baldrick.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur ORA-01578 récurente (bloc de données altéré)
    Par Korfandar dans le forum Administration
    Réponses: 3
    Dernier message: 30/09/2009, 13h37
  2. Bloc de données Oracle altéré (ORA-01578)
    Par Fishbone dans le forum Administration
    Réponses: 5
    Dernier message: 03/07/2009, 16h29
  3. [10g]ORA-00201 fichier de controle incompatible
    Par neo.51 dans le forum Administration
    Réponses: 2
    Dernier message: 13/12/2007, 14h39
  4. Ora-01552 - Fichier UNDOTBS1 de taille 0
    Par Maglight dans le forum Administration
    Réponses: 3
    Dernier message: 23/04/2007, 12h11
  5. ORA-01578: ORACLE data block corrupted
    Par diabolo73 dans le forum Oracle
    Réponses: 1
    Dernier message: 23/10/2006, 20h04

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