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 :

la base ne veut pas passer en mode open


Sujet :

Administration Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 11
    Points
    11
    Par défaut [Résolu] la base ne veut pas passer en mode open
    Apres un arret brutal de la base , la base de donne , s;arrte en mode mount et ne veut pas
    s'ouvrir en mode open , si-joint les messages d'erreur :

    SQL> alter database open ;
    alter database open
    *
    ERROR at line 1:
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


    SQL> alter database open resetlogs ;
    alter database open resetlogs
    *
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1:
    '/apps/oracle9i/OraHome1/database/datafiles/owexp/systemowexp.dbf'
    SQL> recover datafile '/apps/oracle9i/OraHome1/database/datafiles/owexp/systemowexp.dbf'
    ORA-00283: recovery session canceled due to errors
    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
    C'est base de donnees Oracle 9i

    Merci

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut la base ne veut pas passer en mode open
    Citation Envoyé par redaamine Voir le message
    Apres un arret brutal de la base , la base de donne , s;arrte en mode mount et ne veut pas
    s'ouvrir en mode open , si-joint les messages d'erreur :

    SQL> alter database open ;
    alter database open
    *
    ERROR at line 1:
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open




    SQL> alter database open resetlogs ;
    alter database open resetlogs
    *
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1:
    '/apps/oracle9i/OraHome1/database/datafiles/owexp/systemowexp.dbf'


    SQL> recover datafile '/apps/oracle9i/OraHome1/database/datafiles/owexp/systemowexp.dbf'
    ORA-00283: recovery session canceled due to errors
    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done


    SQL>

    C'est base de donnees Oracle 9i

    Merci

    Boujour,


    Est ce que votre base est en mode Archivelog.

    essai :
    SLQ> Recover database until cancel using backup controlfile;

    et vous tapez CANCEL.

    Sinon vous spécifier les fichiers d'archive si votre base de donénes est en mod earchiveLog sinon vous spécifier les fichiers redo log Online.

    salut

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 39
    Points
    39
    Par défaut
    Je ne suis pas un expert, alors attend peut être confirmation avant de faire la manipulation ci-dessous, surtout s'il s'agit d'une base de prod

    Moi je tenterais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    En tappant ensuite AUTO lorsqu'il te le demandera.

    Si tu obtient encore une erreur, c'est peut être qu'il cherche des informations dans un archivelog qui n'a pas encore été généré.

    Dans ce cas :
    - Déterminer le redo log courant
    - L'indiquer à oracle pour le recovery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select member from v$logfile lf , v$log l where l.status='CURRENT' and lf.group#=l.group#;
    Cela te donnera par exemple :
    /oradata/BDD01/redo1.log

    Il ne reste plus qu'a l'indiquer à oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    Specify log: {=suggested | filename | AUTO | CANCEL}
    /oradata/BDD01/redo1.log

    Si cela fonctionne, il ne reste plus qu'à faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE OPEN RESETLOGS;

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci , je vais essayer ca une fois au travail ,
    Juste une petite question de confirmation , comment deteminer le fichier REDO en cours ?

    en tapant cette requette sql ?

    SQL> select member , group# from v$logfile ;
    si c'est ca lequel choisir ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 39
    Points
    39
    Par défaut
    Juste une petite question de confirmation , comment deteminer le fichier REDO en cours ?

    en tapant cette requette sql ?

    SQL> select member , group# from v$logfile ;
    si c'est ca lequel choisir ?
    Pour savoir quel groupe de redo est le courant, il faut faire une jointure avec la table v$log, la colonne status inquide 'CURRENT' pour le groupe de redo en cours d'utilisation

    Pour obtenir les membres du redo en cours d'utilisation, tu peux utiliser la requête que j'ai indiqué plus haut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SELECT member FROM v$logfile lf , v$log l WHERE l.STATUS='CURRENT' AND lf.GROUP#=l.group#;

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Resolu
    Merci , a vous tous , ca marche

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

Discussions similaires

  1. LineWidth ne veut pas passer dans mon cas
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 4
    Dernier message: 12/07/2012, 20h46
  2. Mon code ne veut pas passer une variable
    Par pasbonte dans le forum Langage
    Réponses: 2
    Dernier message: 01/01/2009, 14h13
  3. [SQL] UPDATE qui veut pas updater ma base
    Par Weysan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/08/2007, 18h44
  4. PC ne veut pas démarrer en mode sans échec
    Par jgaslain dans le forum Ordinateurs
    Réponses: 11
    Dernier message: 23/11/2006, 20h24
  5. requetes qui ne veut pas passer
    Par suya95 dans le forum Requêtes
    Réponses: 14
    Dernier message: 04/07/2006, 14h17

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