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

Import/Export Oracle Discussion :

Recréation d'une base de données 10g à partir de fichiers physiques


Sujet :

Import/Export Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Recréation d'une base de données 10g à partir de fichiers physiques
    Bonjour à tous !

    Voila, je suis un peu débutant sur oracle, et on m'a donné a charge de récupérer une base de données d'un disque dur qui a lâché afin de remettre le tout sur notre serveur test.
    Les données qui ont été récupéré sont que des données physiques, c'est à dire tout les .ctl, .dbf, et .log.
    Question :
    Est t'il possible de recréer toute la base de donnée à partir des fichiers physiques ?
    Et si oui, comment ???
    Je ne sais pas vraiment quel stratégie adopté pour ce problème...
    J'ai créé une nouvelle base avec le même nom que celle perdu mais je n'avance pas vraiment ...

    Merci d'avance en tout cas

  2. #2
    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
    l'idéal est de créer exactement la même arborescence et copier les fichiers dans leur emplacement d'origine. Ensuite, tu installes Oracle 10g (même version évidemment) et tu lances ta base... c'est fini

    Je te conseille de garder les fichiers de coté au cas où le démarrage poserait problème.

  3. #3
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Et si tu n'as pas la même arborescence il te suffit de recréer les controlfiles en indiquant tes nouveaux chemins/répertoires ("CREATE CONTROLFILE ...")
    Cf http://orafrance.developpez.com/dbahelp/#L2.1
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Ok super, merci orafrance !
    J'essaie tout ca et j'te dirais ce qu'il en est.

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Génial ! Merci scheu !
    Je vais voir ça de suite !

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Re-salut !

    J'ai un peu avancé dans mon problème, j'ai recréé à peu près la même arborescence, mais je n'ai pas réussie à lancer la base, j'ai donc souhaité recréer les controles file mais ça coince lors du passage au script :


    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
    Instance ORACLE lancÚe.
     
    Total System Global Area  448790528 bytes
    Fixed Size                  1249488 bytes
    Variable Size             134221616 bytes
    Database Buffers          306184192 bytes
    Redo Buffers                7135232 bytes
    SQL> CREATE CONTROLFILE SET DATABASE "ORADATA" RESETLOGS ARCHIVELOG
      2  MAXLOGFILES 5
      3  MAXLOGMEMBERS 3
      4  MAXDATAFILES 100
      5  MAXINSTANCES 1
      6  MAXLOGHISTORY 908
      7  LOGFILE
      8  'E:\oracle\product\10.2.0\oradata\orcl\REDO01.LOG' SIZE 10M,
      9  'E:\oracle\product\10.2.0\oradata\orcl\REDO02.LOG' SIZE 10M,
     10  'E:\oracle\product\10.2.0\oradata\orcl\REDO03.LOG' SIZE 10M
     11  DATAFILE
     12  'E:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF',
     13  'E:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF',
     14  'E:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF',
     15  'E:\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF',
     16  'E:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF',
     17  'E:\oracle\product\10.2.0\oradata\orcl\KIMDEMO.DBF'
     18  CHARACTER SET WE8MSWIN1252;
     
    Fichier de contr¶le crÚÚ.
     
    SQL> ALTER DATABASE OPEN RESETLOGS;
    ALTER DATABASE OPEN RESETLOGS
    *
    ERREUR Ó la ligne 1 :
    ORA-01194: le fichier 1 necessite plus de recuperation pour etre coherent
    ORA-01110: fichier de donnees 1 :
    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
    et lorsque je souhaite demarré la base, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL> STARTUP OPEN
    Instance ORACLE lancÚe.
     
    Total System Global Area  448790528 bytes
    Fixed Size                  1249488 bytes
    Variable Size             134221616 bytes
    Database Buffers          306184192 bytes
    Redo Buffers                7135232 bytes
    Base de donnÚes montÚe.
    ORA-01589: doit utiliser l'option RESETLOGS ou NORESETLOGS pour l'ouverture de
    BDD
    J'ai cherché un peu partout comment je pouvais me dépatouillé mais là je suis un peu perdu ...

    Si quelqu'un a de nouvelles idées, ça m'aiderais beaucoup.

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Points : 211
    Points
    211
    Par défaut
    Salut,

    Comme indiqué dans le message d'erreur, tu dois démarrer ta base avec l'option RESETLOGS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> startup mount;
    SQL> ALTER DATABASE OPEN RESETLOGS;
    Tu l'avais toi-même indiqué dans la création de ta base ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE CONTROLFILE SET DATABASE "ORADATA" RESETLOGS ARCHIVELOG

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse. J'ai essayé le ALTER DATABASE OPEN RESETLOGS;

    Mais voici la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> ALTER DATABASE OPEN RESETLOGS;
    ALTER DATABASE OPEN RESETLOGS
    *
    ERREUR Ó la ligne 1 :
    ORA-01113: le fichier 1 nÚcessite une rÚcupÚration aprÞs dÚfaillance matÚrielle
    ORA-01110: fichier de donnÚes 1 :
    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
    ensuite je fait un recover DATABASE until cancel USING backup controlfile voici la réponse :

    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
     
    SQL> recover DATABASE until cancel USING backup controlfile;
    ORA-00279: changement 3046098313 gÚnÚrÚ Ó 11/07/2008 14:37:14 requis pour
    thread 1
    ORA-00289: suggestion :
    E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORADATA\ARCHIVELOG\2008_11_12\O1_MF_1_4_%U_.ARC
    ORA-00280: le changement 3046098313 pour le thread 1 se trouve au no de
    sÚquence 4
     
     
    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 :
    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\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 :
    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'

    mais j'aurais une petite question, lorsque l'on recrée l'arborescence puis que l'on installe de nouveau oracle 10g, faut t-il créer aussi une base de données idem a celle que l'on souhaite retrouver ? J'ai encore quelque soucis a cerner la stratégie pour la solution du problème...

  9. #9
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Quand tu l'a copié ,dans quel etat était la base source ?
    (base ouverte ou non)



    Peut on encore la demarrer (base source)
    ou au moins mount ?

    Car on dirait que le fichier datafile system est dans les choux

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  10. #10
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Actuellement seul le démarrage en mount est possible.
    En fait ma source est l'ensemble des fichiers récupérer sur un disque dur :

    REDO01.LOG
    REDO02.LOG
    REDO03.LOG
    SYSTEM01.DBF
    EXAMPLE01.DBF
    USERS01.DBF
    UNDOTBS01.DBF
    SYSAUX01.DBF
    KIMDEMO.DBF
    TEMP01.DBF
    CONTROL01.CTL
    CONTROL02.CTL
    CONTROL03.CTL

    Est ce vraiment possible de retrouver toute une base de données qu'avec ces seuls fichiers ? je commence à un peu douter ... sinon si d'autre fichiers sont nécessaire quels sont t'ils ? je pourrais toujours essayer d'en retrouver ...

  11. #11
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    as t on une sauvegarde valide de la source ?

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  12. #12
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonne question, merci !
    Je ne sais pas vraiment mais j'aurais la réponse d'ici à demain matin. Je pourrait te répondre à ce moment là.
    merci Fatsora.

  13. #13
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    salut Fatsora,
    non pas de sauvegarde valide sur cette base de données...
    C'était une base de données qui avait été faite pour une démonstration.

  14. #14
    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
    t'as essayé d'indiquer les redo.log quand il demande les archives ?

  15. #15
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour !
    Désolé pour ma réponse un peu tardive, j'ai été pris par un autre travail entre temps.
    Mon soucis est résolu ! Merci beaucoup !
    J'ai effectivement répété par trois fois le "recover DATABASE until cancel USING backup controlfile" afin de préciser les trois redo. on a le meme message d'erreur qui revient jusqu'au troisième ou il nous dit que tout est ok.
    Merci encore à tous pour tout vos conseils

    Sédrick.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/03/2010, 21h28
  2. connexion d'une base de donnée a partir d'ADODB
    Par aldamafeeling dans le forum Access
    Réponses: 1
    Dernier message: 06/03/2007, 17h40
  3. inserer les données dans une base de donnée a partir d'un datagrid
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 31/07/2006, 00h46
  4. Réponses: 6
    Dernier message: 11/05/2006, 21h39

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