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 :

besoin d'aide une standby sur oracle 9i


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut besoin d'aide une standby sur oracle 9i
    Bonjour @ tous,

    je suis en train d'installer oracle 9i sur 2 PC (Win XP) afin de mettre en place une standby database.

    j'ai suivi le tuto de developpez.com et la doc d'oracle de dataguard mais je coince.

    Voici ce que j'ai fait :

    sur le PC1 (primaire) :
    -installe de oracle entreprise 9.2 patché en 9.2.0.3 et j'ai aussi patché le oui.
    Ma base de donnée s'appelle toto.
    - j'ai installé mes tables dans toto.
    - j'ai passé la base en mode ARCHIVELOG
    - j'ai copié les datafiles de la bdd.
    - j'ai créés un pfile et un controlfile .

    sur le PC2 (standby)
    - -installe de oracle entreprise 9.2 patché en 9.2.0.3 et j'ai aussi patché le oui.

    Maintenant je coince au moment de la modification du pfile. Je n'arrive pas à savoir quel fichier est à modifier (sur le PC1 ou/et sur le PC2).
    Je ne comprends pas les chemin aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    *.log_file_name_convert=('chemin 1','chemin 2')
    je dois connecter un lecteur réseau ? si oui sur quel PC?
    Je ne comprends pas non plus quel fichier tnsnames.ora je dois modifier (sur le PC1 ou/et sur le PC2) et sur quel Pcje dois pointer.


    merci par avance pour votre aide !!

    autre petite question :
    J'ai donnée le meme nom pour les base de données sur le PC1 et sur le PC2 (n'etant pas sur la meme machine, je pensais qu'il n'y avait pas de probleme)

  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
    Par défaut
    Précisez si vous créer une physical standby ou une logical standby.

    Citation Envoyé par killer Am Voir le message
    Je n'arrive pas à savoir quel fichier est à modifier (sur le PC1 ou/et sur le PC2).
    )
    Il faut modifier les 2 fichiers d'abord celui de la base standby:
    http://download.oracle.com/docs/cd/B...e_ps.htm#58021 puis celui de la base primaire plutôt à la fin
    http://download.oracle.com/docs/cd/B...e_ps.htm#52130.

    Citation Envoyé par killer Am Voir le message
    Je ne comprends pas les chemin aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    *.log_file_name_convert=('chemin 1','chemin 2')
    Il faut utiliser ce paramètre seulement si les online redo logs sont situés dans un répertoire qui a nom différent de ceux de la base primaire.
    Par exemple, si sur la machine primaire, les redos sont dans /oracle/primaire/data et sur la machine standby ils doivent être dans /oracle/standby/data, il faut dire à Oracle de transformer le nom de répertoire des redos avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log_file_name_convert=('/primaire/','/standby/')
    Citation Envoyé par killer Am Voir le message
    je dois connecter un lecteur réseau ? si oui sur quel PC?
    Pas pour les archive logs car c'est Oracle Net qui va transférer les archive logs. Par contre pour créer physiquement la standby à partir d'un backup de la primaire, cela dépend de la façon dont le backup est fait.

    Citation Envoyé par killer Am Voir le message
    Je ne comprends pas non plus quel fichier tnsnames.ora je dois modifier (sur le PC1 ou/et sur le PC2) et sur quel Pcje dois pointer.
    Il faut modifier le fichier sur les 2 machines pour que la base primaire puisse contacter la standby (envoi des archive logs) et vice-versa (lorsque la standby peut demander les archives logs en cas de "gap"). Il faut donc aussi ajouter dans le pfile de la primaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fal_client=<service Oracle net standby>
    et dans le pfile de la standby
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fal_server=<service Oracle net primaire>.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    bonsoir,

    Citation Envoyé par pifor Voir le message
    Précisez si vous créer une physical standby ou une logical standby.
    je fais une physical standby



    Citation Envoyé par pifor Voir le message
    Il faut modifier les 2 fichiers d'abord celui de la base standby:
    http://download.oracle.com/docs/cd/B...e_ps.htm#58021 puis celui de la base primaire plutôt à la fin
    http://download.oracle.com/docs/cd/B...e_ps.htm#52130.
    Citation Envoyé par pifor Voir le message
    Il faut utiliser ce paramètre seulement si les online redo logs sont situés dans un répertoire qui a nom différent de ceux de la base primaire.
    Par exemple, si sur la machine primaire, les redos sont dans /oracle/primaire/data et sur la machine standby ils doivent être dans /oracle/standby/data, il faut dire à Oracle de transformer le nom de répertoire des redos avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log_file_name_convert=('/primaire/','/standby/')
    oui dans la doc de dataguard j'ai bien vu qu'il fallait modifier les 2 fichiers mais j'avais du mal a suivre qui et qui et qui est ou.

    au niveau de mes installations et de l'architecture j'ai ça sur les 2 PC :
    C:\oracle\oradata\BD1
    C:\oracle\admin\BD1
    C:\oracle\ora92


    les init.ora que je dois modifier sont dans les répertoire C:\oracle\admin\BD1\pfile\ ??

    J'ai suivi pas a pas la doc et j'ai fait une copy de BD1 dans C:\oracle\oradata\BD1\standby
    J'ai cree le pfile a partir de la base primaire et je note qu'il manque beaucoup de lignes que j'ai rajoute a la main.

    ca me donnerai ca :

    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
     
    .
    .
    .
    db_name=BD1
    compatible=9.2.0.1.0
    control_files='c:\oracle\oradata\BD1\standby\BD1ctl.ctl'  
    log_archive_start=TRUE 
    standby_archive_dest='c:\oracle\oradata\BD1\standby\' 
    db_file_name_convert=('c:\oracle\oradata\BD1\',  
    'c:\oracle\oradata\BD1\standby\')
    log_file_name_convert=('c:\oracle\oradata\BD1\', 
    'c:\oracle\oradata\BD1\standby\')
    log_archive_format=log%d_%t_%s.arc
    log_archive_dest_1=('LOCATION=c:\oracle\oradata\BD1\standby\')
    standby_file_management=AUTO
    remote_archive_enable=TRUE
    instance_name=BD2
    cela veut dire que sur le pc standby je dois recreer la meme architecture que sur le pc primaire :
    C:\oracle\oradata\BD1\standby




    Citation Envoyé par pifor Voir le message
    Pas pour les archive logs car c'est Oracle Net qui va transférer les archive logs. Par contre pour créer physiquement la standby à partir d'un backup de la primaire, cela dépend de la façon dont le backup est fait.
    j'ai un script qui génère les tables de ma base de donnees, je l'ai execute sur les 2 pc, je n'ai pas forcement beson de faire un backup pour la mise en route.
    j'ai aussi un script de coldsave sous la main si besoin.

    après j'ai juste a modifier les fichiers tnsnames.ora des 2 PC et c'est bon ??
    je peux ajouter sur le server primaire le service oracle net : Standby_listener
    je peux ajouter sur le server standby le service oracle net : Primaire_listener


    Citation Envoyé par pifor Voir le message
    Il faut modifier le fichier sur les 2 machines pour que la base primaire puisse contacter la standby (envoi des archive logs) et vice-versa (lorsque la standby peut demander les archives logs en cas de "gap"). Il faut donc aussi ajouter dans le pfile de la primaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fal_client=<service Oracle net standby>
    et dans le pfile de la standby
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fal_server=<service Oracle net primaire>.
    [/QUOTE]

    donc la je rajoute sur le pfile du primaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *.fal_client=Standby_listener
    et je rajoute sur le pfile du standby:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *.fal_client=Primaire_listener
    merci pour ton aide !!

  4. #4
    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
    Par défaut
    Citation Envoyé par killer Am Voir le message
    les init.ora que je dois modifier sont dans les répertoire C:\oracle\admin\BD1\pfile\ ??
    !!
    Il n'y que le DBA qui a créé les bases qui peut répondre à cette question.
    L'emplacement par défaut est <ORACLE_HOME>\database sous Windows.

    Citation Envoyé par killer Am Voir le message
    j'ai un script qui génère les tables de ma base de donnees, je l'ai execute sur les 2 pc, je n'ai pas forcement beson de faire un backup pour la mise en route.
    NON. On ne peut créer une base standby qu'à partir d'une sauvegarde de la base primaire. Une physical standby est une copie mirroir physique de la base primaire: il ne faut pas supprimer ou modifier des objets directement sur la base standby. C'est le mécanisme du Redo Apply qui va metttre à jour automatiquement la base standby à partir des archive logs envoyés par la primaire.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    merci pour ton coup de main, j'ai bien avancé.

    sur la primaire je fais la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

    J'ai bien les redo log qui sont envoyés sur la standby, avec la commande sur la stand by :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
    2> FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
    j'ai bien les log qui apparaissent.

    par contre, quand je vérifie si ils sont appiqués :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG
    2 ORDER BY SEQUENCE#;
    j'ai NO, je dois avoir un pb qq part mais je ne trouve pas ou. Est ce un parametre dans le init.ora ? j'ai enlevé la fonction convert car j'ai exactement les meme architecture de fichiers sur les 2 pc.

    merci !

  6. #6
    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
    Par défaut
    Que vaut le paramètre LOG_ARCHIVE_DEST_x défini sur la primaire pour la standby ?
    Y-a-t-il des erreurs dans l'alert log de la standby ?
    Postez le contenu de l'alert .log de la standby depuis que la standby est en mode recover.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    de plus, peux tu me confirmer que le message renvoyé est correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL> RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Récupération après défaillance matérielle terminée.
    j'ai essayé d'arreter la standby :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL> RECOVER MANAGED STANDBY DATABASE CANCEL;
    ORA-16136: Managed Standby Recovery inactif
     
     
    SQL> ALTER DATABASE OPEN READ ONLY;
    ALTER DATABASE OPEN READ ONLY
    *
    ERREUR à la ligne 1 :
    ORA-16004: la base de donnees de sauvegarde necessite une recuperation
    ORA-01122: Echec de controle de verification pour fichier BdD 1
    ORA-01110: fichier de donnees 1 : 'C:\ORACLE\ORADATA\basededonnees\SYSTEM01.DBF'
    visibliement ça marche pas, savez vous d'ou ça vient ??

    merci

Discussions similaires

  1. [ZF 1.11] Besoin d'aide pour débloquer sur une appli
    Par geant_boy dans le forum Zend Framework
    Réponses: 7
    Dernier message: 16/06/2011, 16h49
  2. Aide pour Script sur Oracle
    Par Melusine21 dans le forum SQL
    Réponses: 21
    Dernier message: 12/07/2007, 14h43
  3. Comment creer une thread sur oracle
    Par kabish dans le forum Oracle
    Réponses: 7
    Dernier message: 23/06/2007, 17h07
  4. hello "besoin d'aide pour diagramme sur excel"
    Par katwar dans le forum Excel
    Réponses: 1
    Dernier message: 18/06/2007, 11h52
  5. Besoin d'aide pour requête sur grosse table
    Par Fabouney dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/01/2006, 09h01

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