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 :

Utiliser SCN pour recover [10gR2]


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut Utiliser SCN pour recover
    Bonjour,
    en 10.2.0.4 en Win 2003

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     restore database preview;
    me donne :

    Media recovery start SCN is 1947476901186
    Recovery must be done beyond SCN 1947476908130 to clear data files fuzziness
    Finished restore at 28-MAR-14
    Comment je dois utiliser, s'il vous plait, ces SCN dans ma commande de recover (ou peut être restore) pour pouvoir correctement ouvrir ma base car après restore et recover je reçois :
    starting media recovery



    Oracle Error:

    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below

    ORA-01152: file 1 was not restored from a sufficiently old backup

    ORA-01110: data file 1: 'S:\ORADATA\MYDB\MYDB_SYSTEM01.DBF'
    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Peux-tu montrer le résultat de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select file#, status, checkpoint_change# from v$datafile;
    select file#, status, fuzzy, checkpoint_change# from v$datafile_header;
    Merci,
    Franck.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Merci Franck.
    Voici :
    SQL> select file#, status, checkpoint_change# from v$datafile where name like '%SYS%';

    FILE# STATUS CHECKPOINT_CHANGE#
    ---------- ------- ------------------
    1 SYSTEM 1.9475E+12
    3 ONLINE 1.9475E+12
    17 ONLINE 1.9475E+12
    18 ONLINE 1.9475E+12
    SQL> select file#, status, fuzzy, checkpoint_change# from v$datafile_header;

    FILE# STATUS FUZ CHECKPOINT_CHANGE#
    ---------- ------- --- ------------------
    1 ONLINE NO 1.9475E+12
    2 ONLINE NO 1.9475E+12
    3 ONLINE NO 1.9475E+12
    4 ONLINE NO 1.9475E+12
    5 ONLINE NO 1.9475E+12
    6 ONLINE NO 1.9475E+12

    D'avance merci.
    PS : comment je peux modifier le format de CHECKPOINT_CHANGE# pour qu'il soit lisible (non exponentiel) ?

  4. #4
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Par défaut
    Citation Envoyé par big1 Voir le message
    PS : comment je peux modifier le format de CHECKPOINT_CHANGE# pour qu'il soit lisible (non exponentiel) ?
    Dans SQLPlus vous pouvez faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    col checkpoint_change# format 9999999999999999999999

  5. #5
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Citation Envoyé par big1 Voir le message
    PS : comment je peux modifier le format de CHECKPOINT_CHANGE# pour qu'il soit lisible (non exponentiel) ?
    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
    SQL> select 1.9475E+12 from dual;
     
     
    1.9475E+12
    ----------
    1.9475E+12
     
     
    SQL> set numwidth 13
    SQL> /
     
     
       1.9475E+12
    -------------
    1947500000000
    effectivement, le but est de voir si le recovery a pu aller au delà de 1947476908130

    Cordialement,
    Franck.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    merci Franck.

    De l'expression "Recovery must be done beyond SCN 1947476908130" j'ai conclu qu'il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    run {
    SET UNTIL SCN  1947476908140 ;
     RESTORE DATABASE;
    }
    Ce que j'ai fait.

    Et j'ai :
    SQL> select file#, status, checkpoint_change# from v$datafile where name like '%SYS%';
    
                               FILE# STATUS                CHECKPOINT_CHANGE#
    -------------------------------- ------- --------------------------------
                                   1 SYSTEM                     1947476908385
                                   3 ONLINE                     1947476908385
                                  17 ONLINE                     1947476908385
                                  18 ONLINE                     1947476908385
    Je vais faire, par la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    recover database noredo;
     
    alter database open resetlogs;
    Est-ce correct ?
    Ma question est que RMAN dit qu'il a jusqu'au SCN 1947476908130. Comment il peut aller jusqu'au 1947476908385 ?

    D'avance merci..

  7. #7
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ma question est que RMAN dit qu'il a jusqu'au SCN 1947476908130.
    Ce n'est pas exactement ça. Il dit juste qu'il faut aller au moins jusqu'à ce point pour avoir des fichiers cohérents. Mais on peut aller plus loin.

    En détail:
    Media recovery start SCN is 1947476901186
    Recovery must be done beyond SCN 1947476908130 to clear data files fuzziness
    Veut dire que le checkpoint le plus vieux est 1947476901186 et que comme c'est un backup à chaud certains fichiers on reçu des écritures datant jusqu'à 1947476908130 .
    Donc pour rendre ça consistent il faut au moins appliquer tout le redo entre ces deux points.

    Du moment que tu as les redo pour avancer jusqu'à ce point, tu pourras ouvrir la base en resetlogs (donc perdre les transactions depuis ce point).

    Cordialement,
    Franck.

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

Discussions similaires

  1. [USB] [JNI] Utiliser JNI pour accéder aux ports USB
    Par Javatator dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 27/10/2005, 06h40
  2. Utiliser awk pour supprimer des retours charrios
    Par tomsoyer dans le forum Linux
    Réponses: 3
    Dernier message: 03/01/2005, 18h27
  3. Utiliser Alien pour convertir un deb en rpm
    Par aA189 dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/10/2004, 15h41
  4. Utiliser hylafax pour envoyer des fax
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/07/2004, 21h57
  5. utiliser "if" pour faire deux actions differente
    Par vampyer972 dans le forum C
    Réponses: 2
    Dernier message: 09/05/2004, 10h12

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