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

Oracle Discussion :

[restauration] ORA-01113 system.dbf endommagé


Sujet :

Oracle

  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut [restauration] ORA-01113 system.dbf endommagé
    Bonjour,
    J'ai perdu un fichier '/.../.../users01.dbf' de ma base ORACLE 10G sous red hat Linux ES.
    alors quand j'ai recrée mon fichier de control sachant que j'avais pas de sauvegarde pour récupérer le fichier '/.../.../users01.dbf' avec la commande create control file ........
    et j'ai essayé de redémarrer la base j'ai eu ce pb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> startup ;
    ORACLE instance started.
     
    Total System Global Area  541065216 bytes
    Fixed Size                   779724 bytes
    Variable Size             271325748 bytes
    Database Buffers          268435456 bytes
    Redo Buffers                 524288 bytes
    Database mounted.
    ORA-01113: file 1 needs media recovery
    ORA-01110: data file 1: '/oracle02/app/oracle/dbom/system01.dbf'
    SVP est ce que qqn aurait une idée sachant que j'ai pas de sauvegarde de la base.
    Mircé

  2. #2
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Ca ne vient pas de ton tablespace SYSTEM.
    La base est en archivelog ?

    Il faut lancer un recover database suivi d'un reset logs

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Bonsoir ,
    ce n'est pas en recréeant les contrôl files que tu vas gérer ton probléme puisque la déf de tes tbs est contenu dans le TBS sys.

    Il ne faut jamais fermer la base lorsque l'on a un probléme de ce type. Base ouverte on peut toujours faire quelque chose

    est ce que tu as essaye de faire :

    et si cela ne marche pas est ce que tu as essaye de faire un recover via les REDO?

    J'espére pour toi que ta base est archilog et qu'elle sauvegardé réguliérement.

    Si ta base redémarre, n'oublie pas de faire un DROP de ton TBS

  4. #4
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Bonjour,
    Pour recover database .
    J'ai pas une sauvegarde de ma base.
    La base n'est pas en mode archive log


    SQL> archive log list
    Database log mode No Archive Mode
    Automatic archival Disabled
    Archive destination /oracle02/app/oracle/archive
    Oldest online log sequence 3973
    Current log sequence 3975

  5. #5
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    1. tu lance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    startup mount
    recover database until cancel using backup controlfile;
    juste aprés tu tape : cancel
    2. tu lance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter database open resetlogs;

  6. #6
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Bonjour,
    Vous êtes vraiment des AS.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    SQL> archive log list
    Database log mode              No Archive Mode
    Automatic archival             Disabled
    Archive destination            /oracle02/app/oracle/archive
    Oldest online log sequence     3973
    Current log sequence           3975
    SQL> recover database;
    Media recovery complete.
    SQL> shutdown immediate;
    ORA-01109: database not open
     
     
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
     
    Total System Global Area  541065216 bytes
    Fixed Size                   779724 bytes
    Variable Size             271325748 bytes
    Database Buffers          268435456 bytes
    Redo Buffers                 524288 bytes
    Database mounted.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    *
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
     
     
    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
     
     
    SQL> alter database open;$
      2  
    SQL> alter database open;
    ERROR:
    ORA-03114: not connected to ORACLE
     
     
    SQL> connect sys / as sysdba
    Enter password: 
    Connected.
    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01531: a database already open by the instance
     
     
    SQL> select * from v$database;
     
          DBID NAME      CREATED   RESETLOGS_CHANGE# RESETLOGS
    ---------- --------- --------- ----------------- ---------
    PRIOR_RESETLOGS_CHANGE# PRIOR_RES LOG_MODE     CHECKPOINT_CHANGE#
    ----------------------- --------- ------------ ------------------
    ARCHIVE_CHANGE# CONTROL CONTROLFI CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
    --------------- ------- --------- --------------------- -------------------
    CONTROLFI OPEN_RESETL VERSION_T OPEN_MODE  PROTECTION_MODE
    --------- ----------- --------- ---------- --------------------
    PROTECTION_LEVEL     REMOTE_A ACTIVATION# SWITCHOVER# DATABASE_ROLE
    -------------------- -------- ----------- ----------- ----------------
    ARCHIVELOG_CHANGE# ARCHIVEL SWITCHOVER_STATUS    DATAGUAR GUARD_S SUPPLEME SUP
    ------------------ -------- -------------------- -------- ------- -------- ---
    SUP FOR PLATFORM_ID
    --- --- -----------
    PLATFORM_NAME
    --------------------------------------------------------------------------------
    RECOVERY_TARGET_INCARNATION# LAST_OPEN_INCARNATION# CURRENT_SCN FLA SUP SUP
    ---------------------------- ---------------------- ----------- --- --- ---
    DB_UNIQUE_NAME                 STANDBY_BECAME_PRIMARY_SCN
    ------------------------------ --------------------------
    3417186124 DBOM      25-JAN-06                 1 15-FEB-05
     
          DBID NAME      CREATED   RESETLOGS_CHANGE# RESETLOGS
    ---------- --------- --------- ----------------- ---------
    PRIOR_RESETLOGS_CHANGE# PRIOR_RES LOG_MODE     CHECKPOINT_CHANGE#
    ----------------------- --------- ------------ ------------------
    ARCHIVE_CHANGE# CONTROL CONTROLFI CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
    --------------- ------- --------- --------------------- -------------------
    CONTROLFI OPEN_RESETL VERSION_T OPEN_MODE  PROTECTION_MODE
    --------- ----------- --------- ---------- --------------------
    PROTECTION_LEVEL     REMOTE_A ACTIVATION# SWITCHOVER# DATABASE_ROLE
    -------------------- -------- ----------- ----------- ----------------
    ARCHIVELOG_CHANGE# ARCHIVEL SWITCHOVER_STATUS    DATAGUAR GUARD_S SUPPLEME SUP
    ------------------ -------- -------------------- -------- ------- -------- ---
    SUP FOR PLATFORM_ID
    --- --- -----------
    PLATFORM_NAME
    --------------------------------------------------------------------------------
    RECOVERY_TARGET_INCARNATION# LAST_OPEN_INCARNATION# CURRENT_SCN FLA SUP SUP
    ---------------------------- ---------------------- ----------- --- --- ---
    DB_UNIQUE_NAME                 STANDBY_BECAME_PRIMARY_SCN
    ------------------------------ ------
    .



    J'ai fais ca et ca a marché.

    Encore des questions :
    1-à quoi sert la commande recover database exactement?
    2-à quoi sert l'option resetlogs de la commande alter database open, si je comprend très bien elle va vider les fichiers redo logs, pourquoi alors?.
    3-N'ya t il pas une méthode pour recréer le dictionnaire de données dans ce cas(corrutpion du fichier system.dbf et sans sauvegarde) comme lors de la création de la base au début.


    En tous cas merci bcp pour votre aide

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    oualala c 'est un peu tarabusqué ( pourquoi un shutdown puis un stratup mount et open )

    la procédure est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    recover database 
    puis 
    alter database open ....
    n'oublie pas de dropper le TBS si tu n'as plus le fichier , car sa définition existe toujours dans le TBS system.

    Heuresement pour toi tu as avait une incohérence qui a pu être résolu par les RBS ou UNDO

  8. #8
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    1-à quoi sert la commande recover database exactement?
    Ca permet de restaurer et surtout de synchroniser les fichiers de controle avec les fichiers de données

    2-à quoi sert l'option resetlogs de la commande alter database open, si je comprend très bien elle va vider les fichiers redo logs, pourquoi alors?.
    Dès que tu crée un fichier de contrôle ==> initialisation de le section redo log et tous les autres sections ==> un nouveu redo log ==> un reset log

    3-N'ya t il pas une méthode pour recréer le dictionnaire de données dans ce cas(corrutpion du fichier system.dbf et sans sauvegarde) comme lors de la création de la base au début
    Attention quand oracle dit que system.dbf est corrompu c'est faux. C'est tout simplement le fichier system.dbf n'est pas synchronisé avec le fichier de contrôle. (pourquoi system.dbf et pas d'autres fichiers de données ? parce que system.dbf à pour numéro 1)

    Pensez à

  9. #9
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Bonjour,
    Vous avez écris:
    Ca permet de restaurer et surtout de synchroniser les fichiers de controle avec les fichiers de données.

    Comme je vous l'ai dit j'ai pas de sauvegarde.
    alors de quoi cette commande (recover database) restore?
    qu'est ce qu'elle utilise comme source(dans le sens backup) pour faire cette synchronisation?


    Jaouad a écris:
    n'oublie pas de dropper le TBS si tu n'as plus le fichier , car sa définition existe toujours dans le TBS system;

    dans mon cas j'ai toujours le fichier, mais si je l'avais pas j'aillais qupprimer le tablespace system?????

    merci pour vos éclaircissements.

  10. #10
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Citation Envoyé par kameleo10

    Jaouad a écris:
    n'oublie pas de dropper le TBS si tu n'as plus le fichier , car sa définition existe toujours dans le TBS system;

    dans mon cas j'ai toujours le fichier, mais si je l'avais pas j'aillais qupprimer le tablespace system?????

    merci pour vos éclaircissements.
    Non le tablespace basé sur le datafile que tu as perdu ( dans un le cas 1tbs => 1 datafiles )

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 68
    Par défaut
    Bonjour,

    Je suis nouveau sur ce forum et ceci est ma premiere participation. J'ai eu le meme probleme que Kameleo à la difference que, moi j'ai essayé de re-creer le fichier de control. Ca été parfait! Mais quand j'ai demarré ma base de donné, elle a affiché le meme message d'erreur que celle de Kamel. J'ai donc appliqué la solution que vous avez suggéré et voici ce que j'ai reçu:

    SQL> startup mount;
    Instance ORACLE lancÚe.

    Total System Global Area 135338868 bytes
    Fixed Size 453492 bytes
    Variable Size 109051904 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    Base de donnÚes montÚe.
    SQL> recover database until cancel using backup controlfile;
    ORA-00279: changement 1329085 gÚnÚrÚ Ó 12/11/2007 07:59:13 requis pour thread 1
    ORA-00289: suggestion : D:\ORACLE\ORA92\RDBMS\ARC00012.001
    ORA-00280: le changement 1329085 pour le thread 1 se trouve au no de sÚquence
    12


    Indiquer le journal : {<RET>=suggÚrÚ | nomfichier | AUTO | CANCEL}
    cancel
    ORA-01547: attention : opÚration RECOVER rÚussie, mais OPEN RESETLOGS gÚnÚrera
    l'erreur ci-dessous
    ORA-01194: Le fichier 1 nÚcessite plus de rÚcupÚration pour Ûtre cohÚrent
    ORA-01110: fichier de donnÚes 1 : 'D:\ORACLE\ORADATA\TAWA\SYSTEM01.DBF'

    ORA-01112: la rÚcupÚration aprÞs dÚfaillance matÚrielle n'a pas commencÚ


    SQL> alter database open resetlogs;
    alter database open resetlogs
    *
    ERREUR Ó la ligne 1 :
    ORA-01194: Le fichier 1 nÚcessite plus de rÚcupÚration pour Ûtre cohÚrent
    ORA-01110: fichier de donnÚes 1 : 'D:\ORACLE\ORADATA\TAWA\SYSTEM01.DBF'

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Merci de créer une nouvelle discussion en prenant soin :
    1°) de lire les règles du forum
    2°) expliquer d'avantage le contexte

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 68
    Par défaut
    Je pensais que mon problème était du meme ordre. Merci du conseil.

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

Discussions similaires

  1. ORA-01113 Sur restauration DPA
    Par ip203 dans le forum Recovery Manager
    Réponses: 0
    Dernier message: 15/12/2009, 14h13
  2. erreur ora 01113 file 6 needs media recovery
    Par the_youpi dans le forum Administration
    Réponses: 1
    Dernier message: 29/10/2007, 13h35
  3. Error Ora-01113 Ora-01110
    Par smellycat37 dans le forum Oracle
    Réponses: 6
    Dernier message: 08/09/2006, 08h34
  4. Réponses: 10
    Dernier message: 20/04/2006, 07h23
  5. Fichier INDX01.DBF endommagé sur Veritas Backup Exec
    Par Maglight dans le forum Oracle
    Réponses: 3
    Dernier message: 29/11/2005, 08h57

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