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 :

Problème à l'ouverture d'une base en standby


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut Problème à l'ouverture d'une base en standby
    Bonjour,

    Je viens de créer une base en standby en utilisant les docs que j'ai trouvé sur le forum
    Le passage des archives entre les deux bases se déroule bien, j'ai controlé en interrogeant les différentes vues,par contre les archives ne sont pas appliquées en auto
    J'ai ce message après le lancement de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
         alter database open read only;
     
            erreuR à la ligne 1 :
        ora-6004: la base de donnees de sauvegarde necessite une recuperation
    J'ai du oublié un paramètre

    Code dans le fichier init<baseprimaire>.ora

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    log_archive_dest_2='service=<base standby>'
    log_archive_dest_state_2=enable
    Code dans le fichier init<basestandby>.ora
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [standby_archive_dest=<dossier archivage>
    fal_client=<basestandby>
    fal_server=<basestandby>]
    Merci beaucoup pour votre aide

    Système d'exploitation : Windows
    Version d'oracle V9.2.0

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    est-ce que tu as commencé par faire avant de l'ouvrir en lecture seule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    STARTUP NOMOUNT;
    ALTER DATABASE MOUNT STANDBY DATABASE;
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Tout en vérifiant que tu n'avait pas d'alertes ?

    http://download-uk.oracle.com/docs/c...e_ps.htm#61076

    c'est seulement ensuite qu'il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
    ALTER DATABASE OPEN READ ONLY;
    http://download-uk.oracle.com/docs/c...ps.htm#1014483

    Attention cependant, pendant que la base est ouverte en lecture, elle n'applique pas les nouvelles archives, ces dernières s'accumulent gentillement sur le répertoire défini dans STANDBY_ARCHIVE_DEST, et il faut régulièrement refaire un "..recover managed standby..." pour que les modifs soient prises en compte.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    oui,sur la standby database, j'ai commencé par ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    STARTUP NOMOUNT;
    ALTER DATABASE MOUNT STANDBY DATABASE;
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Ensuite sur la base principale, j'ai fais des modifs, des archives ont été générées sur les deux machines

    J'ai voulu continuer,c'est là que j'ai eu une première erreur lors de l'ouverture en read only

    Maintenant, si je relance cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    J'ai le message d'erreur suivant

    ERREUR à la ligne 1 :
    ORA-01153: récupération après défaillance matérielle incompatible active

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 142
    Points : 170
    Points
    170
    Par défaut
    En fait le recover doit être toujours actif.

    Il faut l'arrêter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Non, le RECOVER était inactif
    Les archives arrivent bien a destination sur la base de secours mais ne sont pas appliquées
    J'ai vérifié dans la vue V$archive_log est la colonne applied est à NO

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 165
    Points
    165
    Par défaut
    As tu essayé de réaliser le recover sans passer par le mode "manage" , peut être qu'il y a un problème sur une archive et que l'erreur n'est pas visible en manage..


    Je te suggère d'essayer cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    shutdown immediate;
    STARTUP NOMOUNT;
    ALTER DATABASE MOUNT STANDBY DATABASE;
    recover standby database;
    ==> choisir "AUTO"
    ==> En théorie tu devrais voir défiler une à une les archives "recouvertes" ...
    Si cela plante/bloque sur l'une d'entre elles, essayes de la re-récupérer sur ton serveur source (via ftp mode binaire par exemple) avant de relancer le recover ..

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    J'ai fais cette manip, la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    recover standby database;
    AUTO;
    ne fonctionne pas car le fichier d'archive attendu est
    'C:\ORACLE\ORADATA\NYMPHEA2\ARCHIVE\ARC00000.46438'

    alors que dans le répertoire j'ai les fichiers ARC00004.001, ARC00005.001 ............. jusqu'a ARC000010.001

    J'ai essayé de remplacer AUTO par le noms des fichiers que j'ai dans le répertoire
    Ca ne marche pas

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 165
    Points
    165
    Par défaut
    Tu as ta réponse, tant que tu n'auras pas copié dans ton repertoire de recover le fichier :

    'C:\ORACLE\ORADATA\NYMPHEA2\ARCHIVE\ARC00000.46438' ton recover ne marchera pas puis qu'il lui manque (au moins) la premiere archive ...

    Par contre, vu le delta qu'il y a entre les numéros d'archives présent dans ton répertoire, et ceux demandés dans le recover, j'ai peur que ta standby soit très en retard par rapport à ta base source ...

    Que te disent les requetes suivantes sur ton instance source et destination :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select max(sequence#) from v$loghist;

    ==> la différence entre les 2 résultats te donnera le nombre d'archive de retard qu'il y a entre la source et la standby ...

    A partir de cela, il faudra copier les archives manquantes dans le répertoire de recover de la standby puis faire le recover ....

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Le problème c'est que je n'ai pas sur la base source ce nom d'archive
    Sur le répertoire source j'ai :

    ARC00001.001
    ARC00002.001
    ARC00003.001
    ARC00004.001
    ....
    ...
    ARC00010.001

    Sur le source idem, mais les archives ARC0004.001 à ARC00010.001 n'ont pas été appliquées

    Je ne comprend pas ce nom :

    C:\ORACLE\ORADATA\NYMPHEA2\ARCHIVE\ARC00000.46438

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 165
    Points
    165
    Par défaut
    Hummm... Si le nom ne te dit rien , je te suggère alors une recherche de cette archive dans les archives recensées en base :

    Sur la source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select sequence#, name from v$archived_kog where name='C:\ORACLE\ORADATA\NYMPHEA2\ARCHIVE\ARC00000.46438';
    Si tu ne retrouves pas cette archive physiquement , il ne te reste "à priori" plus qu'à reconstruire ta standby puisque tu ne peux plus appliquer la première de tes X archives de retard ....

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 165
    Points
    165
    Par défaut
    Mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT sequence#, name from v$archived_kog where name like '%46438%';

  12. #12
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    c'est bizarre on dirait que c'est la standby elle meme qui s'est mise à produire des fichiers archive comme si elle était passée en primaire. Tu ne l'aurais pas activé par erreur à un moment ??

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Je ne comprend pas il ne la retrouve pas ????????????????

    Pour reconstruire, l'ordre des manips est il bon

    Arret de la base de prod
    Copie des fichiers du répertoire ORADATA
    Recréation d'un fichier de controle STANDBY CONTROLFILE
    Copie de ce fichier sur la base de secours

    ou n'ai je vraiment rien compris !!!!!!!!!!!!

  14. #14
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    - J'ai l'impression qu'il y a un problème dans les paramètres, est-ce que le format d'archive est bien le même entre ta primaire et ta standby ? (paramètre log_archive_format).

    - est-ce que tu est en mode pfile ou spfile ? et dans ce dernier cas, est-ce que tu as bien mis à jour ce spfile ?

    - d'autre part, est-ce que ta standby est bien sur une machine différente ou sur le même machine ? (attention là aussi il faut des paramètres spécifiques dans ce cas)

    Malgrés le travail excelent de Jaouad de documentation sur le sujet, je t'invite quand même à consulter la doc oracle car il se peut qu'il y ait des détail spécifiques à ton environnement qu'il faille traiter:

    http://download-uk.oracle.com/docs/c...e_ps.htm#63563

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Oui j'ai vérifié, le format archive est bien le même

    Je suis en mode pfile sur la standby, je l'ai précisé en la démarrant
    startup nomount pfile=c:\............\

    La standby est sur une machine différente


    voici les paramètres de mon fichier init.ora de la standby
    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
     
    *.background_dump_dest='C:\oracle\admin\NYMPHEA2\bdump'
    *.compatible='9.2.0.0.0'
    *.control_files='C:\oracle\oradata\NYMPHEA2\standby.ctl'
    *.core_dump_dest='C:\oracle\admin\NYMPHEA2\cdump'
    *.db_block_size=8192
    *.db_cache_size=268435456
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='NYMPHEA2'
    *.fast_start_mttr_target=300
    *.hash_join_enabled=TRUE
    *.instance_name='NYMPHEA2'
    *.java_pool_size=0
    *.large_pool_size=8388608
    *.log_archive_dest_1='LOCATION=C:\oracle\oradata\nymphea2\archive'
    *.log_archive_dest_state_1=enable
    *.log_archive_start=true
    *.open_cursors=300
    *.pga_aggregate_target=25165824
    *.processes=150
    *.query_rewrite_enabled='FALSE'
    *.remote_login_passwordfile='NONE'
    *.shared_pool_size=50331648
    *.sort_area_size=524288
    *.star_transformation_enabled='FALSE'
    *.timed_statistics=TRUE
    *.undo_management='AUTO'
    *.undo_retention=10800
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='C:\oracle\admin\NYMPHEA2\udump'
    *.standby_archive_dest='C:\oracle\oradata\NYMPHEA2\Archive'
    *.standby_file_management=AUTO
    *.remote_archive_enable=TRUE

  16. #16
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Est-ce que tu aurais aussi le pfile de la base primaire ?

    Je me demande s'il faut pas faire très attention à respecté les précisément les majuscules/minuscules, y'a souvent des comportement étranges avec windows si on fait pas gaffe...

    Petites remarques sur ce que montre le fichier :
    - Tu n'as pas mis les paramètres fal_client et fal_server, ce qui est dommage car ça permet la gestion automatique de la resynchro des archives manquantes.
    - sur une standby, oracle préconise de mettre le paramètre remote_archive_enable à RECEIVE pendant que sur la primaire il est à SEND. C'est une sécurité pour éviter que le flux des archives parte dans le mauvais sens par erreur (évidement il faut faire gaffe à inverser si tu switche les base )

  17. #17
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par ambre
    J'ai fais cette manip, la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    recover standby database;
    AUTO;
    ne fonctionne pas car le fichier d'archive attendu est
    'C:\ORACLE\ORADATA\NYMPHEA2\ARCHIVE\ARC00000.46438'

    alors que dans le répertoire j'ai les fichiers ARC00004.001, ARC00005.001 ............. jusqu'a ARC000010.001

    J'ai essayé de remplacer AUTO par le noms des fichiers que j'ai dans le répertoire
    Ca ne marche pas


    Bonjour,

    Oracle te propose ce fichier ok.
    Tu peux lui en donner un autre à la plce normalement.
    As tu essayé de lui donner à manger les redos logs de ta standby?
    Il faut normalement les essayer tous un par un .

  18. #18
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Voici le pfile de la base primaire

    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
     
    *.background_dump_dest='C:\oracle\admin\NYMPHEA2\bdump'
    *.compatible='9.2.0.0.0'
    *.control_files='C:\oracle\oradata\NYMPHEA2\control01.ctl','C:\oracle\oradata\NYMPHEA2\control02.ctl','C:\oracle\oradata\NYMPHEA2\control03.ctl'
    *.core_dump_dest='C:\oracle\admin\NYMPHEA2\cdump'
    *.db_block_size=8192
    *.db_cache_size=268435456
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='NYMPHEA2'
    *.fast_start_mttr_target=300
    *.hash_join_enabled=TRUE
    *.instance_name='NYMPHEA2'
    *.java_pool_size=0
    *.large_pool_size=8388608
    *.log_archive_dest_1='LOCATION=C:\oracle\oradata\nymphea2\archive MANDATORY REOPEN'
    *.log_archive_start=TRUE
    *.log_archive_dest_2='SERVICE=SOS'
    *.open_cursors=300
    *.pga_aggregate_target=25165824
    *.processes=150
    *.query_rewrite_enabled='FALSE'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.shared_pool_size=50331648
    *.sort_area_size=524288
    *.star_transformation_enabled='FALSE'
    *.timed_statistics=TRUE
    *.undo_management='AUTO'
    *.undo_retention=10800
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='C:\oracle\admin\NYMPHEA2\udump'
    Autre doute, la base primaire est bien sur en ARCHIVELOG, comment doit être la base en standby ?

  19. #19
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    - J'ai toujours le doutes quant aux majuscules/minuscules, il faudrait te conformer au vrais chemins sur windows. Et avoir exactement la même chose sur les 2 machines.

    - Il manque le "LOG_ARCHIVE_DEST_STATE_1 = ENABLE" et "LOG_ARCHIVE_DEST_STATE_2 = ENABLE" (pas clair que ce soit indispensable mais bon autant le faire dans les règles de l'art).

    - il manque "REMOTE_ARCHIVE_ENABLE = SEND" (tu sécurise ainsi le sens de ton flux)

    PS: oui la base standby doit etre en mode archive. C'est d'après le rôle (standby ou primaire) que oracle sais s'il faut produire des archive sur le log_archive_dest_1, ou router les archives en provenance du net8 sur standby_archive_dest.

  20. #20
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par remi4444
    - J'ai toujours le doutes quant aux majuscules/minuscules, il faudrait te conformer au vrais chemins sur windows. Et avoir exactement la même chose sur les 2 machines.

    - Il manque le "LOG_ARCHIVE_DEST_STATE_1 = ENABLE" et "LOG_ARCHIVE_DEST_STATE_2 = ENABLE" (pas clair que ce soit indispensable mais bon autant le faire dans les règles de l'art).

    - il manque "REMOTE_ARCHIVE_ENABLE = SEND" (tu sécurise ainsi le sens de ton flux)

    PS: oui la base standby doit etre en mode archive. C'est d'après le rôle (standby ou primaire) que oracle sais s'il faut produire des archive sur le log_archive_dest_1, ou router les archives en provenance du net8 sur standby_archive_dest.
    On peut aussi (et c'est ce que je fais sur les sites de prods ou j'ai pu intervenir) placer log_archive_dest_state_2='DEFER' sur la standby. Le problème ait que l'on doit automatiser un changerment de parmaètres lors d'un switch.
    Mais on s'éloigne du sujet!

    Comment récupérer cette standby!
    Je pense perso que proposer l'application des redos à la place d'archives inexistants doit être tenté. En plus, c'est sans risque!

Discussions similaires

  1. Problème sur l'ouverture d'une base
    Par patgabjoe dans le forum Administration
    Réponses: 12
    Dernier message: 31/03/2008, 13h13
  2. Problème de droit à l'ouverture d'une base de données
    Par Nnsoft dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/08/2007, 11h55
  3. Réponses: 9
    Dernier message: 15/03/2007, 16h17
  4. problème à l'ouverture d'une base de données Access
    Par guestCam dans le forum Access
    Réponses: 10
    Dernier message: 31/01/2007, 14h56
  5. Ouverture d'une base avec SHIFT !!! Problème
    Par snoopy69 dans le forum Access
    Réponses: 1
    Dernier message: 05/10/2005, 15h40

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