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 :

Restaurer un .dbf supprimé ? Possible ?


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Restaurer un .dbf supprimé ? Possible ?
    Bonjour à tous,

    je me mets au bdd Oracle malgré moi de part mon job. Un de mes collègues à supprimer un .dbf important pensant économiser de l'espace disque .

    Malheureusement, ce serveur, bien qu'il soit en prod, ne fait pas de backup du .dbf en question (pas de bol !)

    Savez vous s'il existe une autre méthode pour récupérer ce fichier ? Peux-être en utilisant les fichiers de type redo-log ?
    Pour info, le serveur est sous HP-UX.

    Si jamais je ne peux pas le récupérer (Les données n'étant pas non plus hyper importantes), savez vous comment dois-je procéder pour m'en passer ?

    La société de support que nous employons fait trainer les choses en longueur nous soutiens qu'il faut réinstaller ORACLE (1 semaine de travail) et j'aimerais beaucoup ne pas avoir à attendre qu'elle se réveille...

    Merci d'avance pour vos nombreuses idées

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Je suppose que la base de donnée n'a pas été arrêtée dans l'interval.

    Donc, si vous êtes en mode archivelog, vous devez pouvoir faire une sauvegarde RMan du tablespace et le restaurer (et donc retrouver votre fichier bdf).

    En effet, le fichier peut être effacé mais encore présent sur disque parcequ'il est ouvert par la base de données.

    Si vous n'êtes pas en mode archivelog, un export full est à envisager puis recréation de la base et import du dump.

    Enfin il est possible de transférer l'ensemble des données du tablespace dans lequel il manque un fichier (appelons le T1) vers un autre tablespace de faire un alter database datafile offline drop de l'ensemble des fichiers constituant T1, puis de dropper T1 puis d'effacer l'ensemble des fichiers le constituant au niveau OS

    Si le fichier est effectivement manquant (donc plus ouvert par Oracle), il faut voir les donnéesréupérable dans le tablespace, les sauvagarder et dropper le tablespace avec la méthode décrite au § du dessus.

    En aucun cas, une réintallation d'Oracle n'est à envisager

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci de votre réponse.

    A priori, le mode archivelog n'est pas activé :
    SQL> ARCHIVE LOG LIST
    Database log mode No Archive Mode
    Automatic archival Disabled
    Archive destination USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence 1830
    Current log sequence 1832
    Le fichier .dbf n'existe plus sur le disque à cause du rm.

    Si je fais un SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files ORDER BY FILE_ID; le fichier dbf n'apparait pas dans la liste. Qu'es ce que cela indique ?

    merci à tous !

  4. #4
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Le fichier est donc à priori perdu et non ouvert par Oracle.

    Il faut donc sauvegarder les données du tablespace et effectuer les opérations de récupération du tablespace.

  5. #5
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    as tu des sauvegardes de la base?

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bon, en réalité, je crois que cela va être plus compliqué que cela.

    Le fichier dbf supprimé se nomme sysaux01_new.dbf.

    Mon collègue l'a supprimé car ce fichier n'était pas récent et un similaire se nommant sysaux01.dbf est bien présent et mis à jour :
    total 25635616
    -rw-r----- 1 oracle dba 7553024 Sep 28 15:13 control01.ctl
    -rw-r----- 1 oracle dba 7553024 Sep 28 15:13 control02.ctl
    -rw-r----- 1 oracle dba 7553024 Sep 28 15:13 control03.ctl
    -rw-r----- 1 oracle dba 52429824 Sep 28 04:52 redo01.log
    -rw-r----- 1 oracle dba 52429824 Sep 28 15:12 redo02.log
    -rw-r----- 1 oracle dba 52429824 Sep 27 22:58 redo03.log
    -rw-r----- 1 oracle dba 9742327808 Sep 28 04:57 sysaux01.dbf
    -rw-r----- 1 oracle dba 1992302592 Sep 28 15:12 system01.dbf
    -rw-r----- 1 oracle dba 45096960 Nov 29 2010 temp01.dbf
    -rw-r----- 1 oracle dba 94380032 Sep 27 00:48 temp02.dbf
    -rw-r----- 1 oracle dba 1073750016 Sep 28 15:12 undotbs01.dbf
    -rw-r----- 1 oracle dba 1056768 Sep 28 04:57 users01.dbf
    Apparemment, ce fichier est très important mais je ne comprends pas pourquoi j'en ai 2 et ne vois pas trop comment est configuré oracle. Par contre j'ai bien un message d'erreur suite à l'éxécution de script utilisant la base oracle :
    ORA-00376: file 10 cannot be read at this time
    ORA-01110: data file 10: '/usr/ORACLE/[...]/sysaux01_new.dbf'
    ORA-06512: at line 18]"
    Je vais voir si je n'arrive pas à trouver une sauvegarde même si je n'y crois pas ...

  7. #7
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    puisque sysaux01.dbf existe dans la liste des fichiers de données , je pense que le deuxieme (sysaux01_new)est un plus. il n'est celle de Oracle.
    pour cela, pour eliminer le message d'erreur,tu procede comme suite:
    si le fichier de données est dans un tablespace à part, tu peux dropper ce dernier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLESPACE sysaux01_new DROP DATAFILE '/usr/ORACLE/[...]/sysaux01_new.dbf';

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    Citation Envoyé par boussafi Voir le message
    puisque sysaux01.dbf existe dans la liste des fichiers de données , je pense que le deuxieme (sysaux01_new)est un plus. il n'est celle de Oracle.
    pour cela, pour eliminer le message d'erreur,tu procede comme suite:
    si le fichier de données est dans un tablespace à part, tu peux dropper ce dernier.
    Bonjour,

    Je pense que le tablespace SYSAUX a été agrandi à un moment en y rajoutant un datafile ... et donc SYSAUX est composé de ces 2 fichiers.

    A+

  9. #9
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    oui, c'est un autre scenario.

  10. #10
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par agdid04 Voir le message
    Bonjour,

    Je pense que le tablespace SYSAUX a été agrandi à un moment en y rajoutant un datafile ... et donc SYSAUX est composé de ces 2 fichiers.

    A+
    Il est possible que ce deuxième sysaux soit rajouté puis non utilisé ?

    Le plus récent étant le 1er. Le deuxième ne semblait pas avoir été modifié depuis plus d'un an...

  11. #11
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    si c'est le cas tu peut eliminer le message d'erreur et mettre le tablespace en ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    delete  from sys.file$ t
    where t.FILE# =(select  v.FILE# 
    from  sys.v$dbfile v
    where name = '/usr/ORACLE/[...]/sysaux01_new.dbf';
    commit;
    alter tablespace SYSAUX online;

Discussions similaires

  1. Restaurer contact skype supprimé
    Par lulu0708 dans le forum Messagerie instantanée
    Réponses: 1
    Dernier message: 18/04/2010, 20h08
  2. Restaurer un fichier supprimé
    Par MissElo dans le forum Ubuntu
    Réponses: 4
    Dernier message: 03/12/2009, 15h50
  3. Restaurer mes emails supprimés ?
    Par hakim11 dans le forum Outlook Express / Windows Mail
    Réponses: 7
    Dernier message: 03/12/2007, 15h21
  4. dbf supprimer.restauration impossible
    Par atee dans le forum Administration
    Réponses: 3
    Dernier message: 25/04/2007, 15h35
  5. Bons outils de restauration de fichiers supprimés ?
    Par elitost dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 02/06/2006, 10h05

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