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 :

[10g] Datafile corrompu


Sujet :

Administration Oracle

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut [10g] Datafile corrompu
    Bonjour à tous,

    On vient de me refiler un sale "bébé".

    Sur une base de production, j'ai un tablespace dont des datafiles sont corrompus.

    La base est en archivelog mais les sauvegardes quotidiennes sont effectuées avec oraback.sh que je ne connais pas du tout.

    Quelqu'un a-t-il de idée de comment je peux réparer tout cela ?

    La DBA officielle est en congés et évidemment les mails d'alertes issus d'oraback lui étaient directement adressés. Je ne sais pas depuis combien de temps le pb dure.

    D'avance merci

  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
    Donnez-nous le message d'erreur exact ainsi que la nature du tablespace: SYSTEM, UNDO, temporaire, données tables et index ou données index seulement.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Voici les messages reçus dans les mails :

    mar 6 06:00:29 dbl2 oraback.sh cryptali: WARNING: ERROR at line 1: ORA-01128: cannot start online backup - file 5 is offline ORA-01110: data file 5: '/base1/oradata/cryptali/cryptalis31_connexion01.dbf'
    mar 6 06:00:29 dbl2 oraback.sh cryptali: WARNING: !! Tablespace CRYPTALIS31_CONNEXION did NOT go into backup mode!
    mar 6 06:16:42 dbl2 oraback.sh cryptali: WARNING: ERROR at line 1: ORA-01142: cannot end online backup - none of the files are in backup mar 6 06:16:42 dbl2 oraback.sh cryptali: WARNING: !! Tablespace CRYPTALIS31_CONNEXION did NOT come out of backup mode!
    Le tablespace contient des données tables exclusivement.

    J'ai ça aussi comme informations :

    cf. pièce jointe

    Merci
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    et un recover ça donne quoi ? Qu'est ce qu'il s'est passé pour que tu sois dans cet état ? Peut-tu sauvegarder la base en l'état ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Quel recover ?

    recover database ?
    alter database recover datafile ?
    recover tablespace ?
    Comment en est-on arrivé là... Bonne question ??

    Pour faire une sauvegarde j'ai soit oraback.sh avec le résultat qu'on connait, soit un export complet de la base

  6. #6
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    1. Il faut sauvegarder la base actuel (base arrêté)
    2. essaye
    en appliquant les archivelogs
    Sinon
    2. essaye de recuperer une sauvegarde sainte.
    3. pareil : revover database; en appliquant les archivelogs

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Ok, je vais tenter un recover Database.

    Mais comme c'est un serveur de prod et qu'il tourne, je ne peux pas l'arrêter comme ça.

    D'autant plus que ce tablespace sert à archiver des données de plus d'un an.

    Je vous tiens au courant de la suite.

    Merci

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Voici les manipulations effectuées :

    Shutdown immediate
    startup mount
    recover database until cancel
    Et voici ce que j'obtiens :

    recover database until cancel
    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    ORA-01245: offline file 5 will be lost if RESETLOGS is done
    ORA-01110: data file 5: '/base1/oradata/cryptali/cryptalis31_connexion01.dbf'
    Je fais quoi maintenant ?

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    tes datafiles sont OFFLINE, pourquoi ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    C'est bien là le problème, ils ne devraient pas !

    J'ai essayé de mettre une sauvegarde du fichier datant du 01/02 puis faire un recover database until cancel et j'obtiens le même résultat.

    Ce tablespace contient des tables d'historiques où sont stockés les données datant de plus d'un an.

    Afin de ne pas bloquer la production trop longtemps, je me propose de dropper le tablespace en cours et de tout virer (j'ai des sauvegardes). De reconstruire un tablespace neuf, d'y ajouter les tables vides et de relancer le tout.

    En parallèle j'essaye de reconstruire la base sur un autre serveur et de voir comment récupérer les anciennes données. Enfin les transférer dans mon tablespace tout beau tout neuf (avec votre aide )

    Cela vous semble-t-il jouable ?

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    essaye de les remettre ONLINE après le MOUNT de ta base

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    C'est quoi la syntaxe exacte ?

    Ensuite pour l'ouvrir : RESETLOGS ou NORESETLOGS ?

  13. #13
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Comme les données perdus sont des historiques, c'est plus sage de ne pas toucher dans la base de production et de restaurer la base sur une autre machine de teste pour recuperrer les données perdus.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Que veux tu dire ? Que mon scénario est bon ?

    Ces tables d'historiques sont indispensables et doivent être alimentées quotidiennement par des scripts.

    Donc je reparts de 0 et ensuite j'essaye de réinjecter les données ?

  15. #15
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par Celestos
    C'est quoi la syntaxe exacte ?

    Ensuite pour l'ouvrir : RESETLOGS ou NORESETLOGS ?

    Merci de faire un minimum de recherche

    http://www.google.com/custom?q=table...developpez.com

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Points : 95
    Points
    95
    Par défaut
    je ne comprend pas pourquoi utiliser la clause until cancel... aucun fichier d'archive redo log n'est manquant ?
    sinon je effectivement vous devriez récupérer des sauvegardes de tous les fichiers du tablespace et utiliser la commande recover (si vous n'utilisez pas RMAN)

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    Rien à faire ! impossible de récupérer ce datafile et donc impossible d'ouvrir la base :

    alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01113: file 5 needs media recovery
    ORA-01110: data file 5: '/base1/oradata/cryptali/cryptalis31_connexion01.dbf'
    Lorsque je fais un recover au niveau du tablespace ou au niveau du datafile, Oracle me demande un fichier .arc qui n'existe pas / plus.

    Que faire ?

  18. #18
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Ca donne quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT file#,status,fuzzy from v$datafile_header ;
    Pour vérifier si un fichier de données est resté en mode BEGIN BACKUP.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 40
    Points
    40
    Par défaut
    FILE# STATUS FUZ
    ---------- ------- ---
    1 ONLINE NO
    2 ONLINE NO
    3 ONLINE NO
    4 ONLINE NO
    5 ONLINE YES
    6 ONLINE NO
    7 ONLINE NO
    8 ONLINE NO
    9 ONLINE NO
    10 ONLINE NO
    11 OFFLINE YES

    FILE# STATUS FUZ
    ---------- ------- ---
    12 OFFLINE YES
    13 ONLINE NO
    14 ONLINE NO
    15 ONLINE NO
    16 ONLINE NO
    17 OFFLINE YES
    18 ONLINE NO
    19 ONLINE NO
    20 ONLINE NO
    21 ONLINE NO
    22 ONLINE NO

    22 rows selected.

  20. #20
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    5 ONLINE YES
    Voila, ton problème c'est que le fichier de données 5 est en mode begin backup.
    Il faut faire un END BACKUP sur ce fichier de données.

    EDIT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     ALTER TABLESPACE nom_tablespace END BACKUP;

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Controlfile corrompu 10G
    Par Oraman dans le forum Oracle
    Réponses: 1
    Dernier message: 18/03/2010, 17h06
  2. Oracle 10g : spile "corrompu"
    Par Bonnie38 dans le forum Administration
    Réponses: 6
    Dernier message: 24/01/2008, 10h48
  3. Drop de datafile Oracle 10g R1 Base de Production
    Par iks22 dans le forum Administration
    Réponses: 6
    Dernier message: 29/09/2007, 13h17
  4. Oracle 10g (+Rman) - Error Drop Datafile
    Par alfb59 dans le forum Recovery Manager
    Réponses: 22
    Dernier message: 27/06/2007, 10h58
  5. Réponses: 2
    Dernier message: 25/08/2006, 13h26

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