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 :

Pb restauration sur un serveur différent / modifier l'emplacement oradata


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 117
    Points : 56
    Points
    56
    Par défaut Pb restauration sur un serveur différent / modifier l'emplacement oradata
    J'effectue des sauvegardes sur bandes magnétiques de plusieurs base de données. Les controlfiles sont en autobackup.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    backup database plus archivelog;
    Je me place dans le cas ou mes serveurs sont tous dead.
    Je désire donc reconstruire ma base sur un autre serveur mais en modifiant l'architecture des fichiers de la base de données.
    Je restaure donc le spfile puis je créé le pfile.
    Je modifie ce pfile pour qu'il prenne en compte la nouvelle architecture (Je change la localisation du repertoire admin=>adump,bdump,cdump,udump ainsi que celle des controlfiles).
    J'aimerai changer l'emplacement de mes fichiers de données ainsi que des redos. Pour ce faire je restaure les controlfiles, j'effectue un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alter database backup controlfile to trace;
    Dans le udump j'ai donc mon fichier
    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
     
    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS FORCE LOGGING ARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log'  SIZE 50M,
      GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log'  SIZE 50M,
      GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log'  SIZE 50M
    DATAFILE 
    '/u01/app/oracle/oradata/orcl/system01.dbf', '/u01/app/oracle/oradata/orcl/undotbs01.dbf', '/u01/app/oracle/oradata/orcl/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/users01.dbf' 
    CHARACTER SET WE8MSWIN1252;
    Je le modifie
    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
     
    STARTUP NOMOUNT
    CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 '/u01/app/oracle/oradata/orcl_backup/redo01.log'  SIZE 50M,
      GROUP 2 '/u01/app/oracle/oradata/orcl_backup/redo02.log'  SIZE 50M,
      GROUP 3 '/u01/app/oracle/oradata/orcl_backup/redo03.log'  SIZE 50M
    DATAFILE 
    '/u01/app/oracle/oradata/orcl_backup/system01.dbf', '/u01/app/oracle/oradata/orcl_backup/undotbs01.dbf', '/u01/app/oracle/oradata/orcl_backup/sysaux01.dbf', '/u01/app/oracle/oradata/orcl_backup/users01.dbf' 
    CHARACTER SET WE8MSWIN1252;
    J'ai créé le repertoire 'orcl_backup'. Lorsque que j'exécute ce code j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG
    *
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file
    '/u01/app/oracle/oradata/orcl_backup/system01.dbf'
    ORA-27037: unable to obtain file status
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 3
    En gros lorsque je créé les controlfiles Oracle cherche à ouvrir mes fichiers de données. il n' y arrive forcément pas puisque je ne les ai pas encore restauré puisque je souhaite les restaurer à un emplacement différent.
    Je part du principe que je ne peut pas restaurer les fichiers de données à l'emplacement ou ils étaient. Imaginons que ces fichiers de données étaient sur une instance ASM (+DG_DATA/orcl/datafile) et que je cherche à restaurer sur un serveur sans instance ASM.

    Quelle est la technique à utiliser?

  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
    Si vous utilisez RMAN pour sauvegarder, utilisez RMAN pour restaurer:
    - les fichiers de contrôles avec RESTORE CONTROLFILE
    - les datafiles peuvent être renommés avec SET NEWNAME:
    http://download.oracle.com/docs/cd/B....htm#sthref585

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 117
    Points : 56
    Points
    56
    Par défaut
    Solution:

    sqlplus / as sysdba
    SQL> alter database rename file '/u01/app/oracle/oradata/orcl/redo01.log' to '/u01/tg/oradata/redo01.log';
    SQL> alter database rename file '/u01/app/oracle/oradata/orcl/redo02.log' to '/u01/tg/oradata/redo02.log';
    SQL> alter database rename file '/u01/app/oracle/oradata/orcl/redo03.log' to '/u01/tg/oradata/redo03.log';

    run {
    set newname for datafile '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u01/tg/oradata/system01.dbf';
    set newname for datafile '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to '/u01/tg/oradata/sysaux01.dbf';
    set newname for datafile '/u01/app/oracle/oradata/orcl/undotbs01.dbf' to '/u01/tg/oradata/undotbs01.dbf';
    set newname for datafile '/u01/app/oracle/oradata/orcl/users01.dbf' to '/u01/tg/oradata/users01.dbf';
    restore database;
    switch datafile all;
    recover database;
    }

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

Discussions similaires

  1. [MySQL] Select et insert sur 2 serveurs différents dans la meme requete
    Par tMSun dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/09/2008, 10h41
  2. Réponses: 1
    Dernier message: 15/05/2008, 18h45
  3. Restaurer .bak sur un serveur différent
    Par calagan99 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/10/2007, 21h43
  4. [WSS 2007] Restauration sur un serveur avec Nom différent
    Par wil4linux dans le forum SharePoint
    Réponses: 9
    Dernier message: 10/07/2007, 14h07
  5. [SQL-Server] Connexion entre SQL Server et IIS sur 2 serveurs différents
    Par kenzo080 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/09/2006, 11h50

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