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 :

Réplication multi-maitre - Erreur ORA-04042


Sujet :

Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 30
    Points : 40
    Points
    40
    Par défaut Réplication multi-maitre - Erreur ORA-04042
    Je veut mettre en place un système de réplication par site maitres entre 2 serveur Oracle 9.2
    Pour cela, j'ai 2 serveurs :
    -> serveur A : W2000 Server, Oracle 9.2.1
    -> serveur B : W2003 Server, Oracle 9.2.1
    Je veux faire la réplication uniquement entre ces 2 sites maitres.

    Sur chaque serveur, j'ai créé un utilisateur repadmin qui est chargé de gérer la réplication.
    Ensuite, j'ai créé les DBLinks publics et privés(pour repadmin) entre chacun de mes serveurs Oracle. J'ai mis le global_names à 'TRUE', pour avoir les mêmes noms d'instance et de DBLinks.
    Puis, j'ai choisi le serveur B comme site maitre de définition. J'ai créé mon groupe maitre, j'ai ajouté une table d'un schéma commun à mes 2 serveurs, j'identifie la colonne qui est considérée comme clé.
    J'ajoute le site esclave A au groupe. Le lien se fait correctement, la table est ajoutée sur le serveur A sans qu'aucun message d'erreur me soit renvoyé.
    Puis je lance la génération du support sur la table :

    BEGIN
    DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
    sname => '"SCH"',
    oname => '"T1"',
    type => 'TABLE',
    min_communication => TRUE,
    generate_80_compatible => FALSE);
    END;
    /
    J'ai alors le message d'erreur suivant :
    ORA-04042:procédure,fonction, package ou corps de package inexistants
    ORA-06512: à "SYS.DBMS_REPCAT_SQL_UTL", ligne 70
    ORA-06512: à "SYS.DBMS_REPCAT_UTL3", ligne 3729
    ORA-06512: à "SYS.DBMS_REPCAT_UTL3", ligne 3834
    ORA-06512: à "SYS.DBMS_REPCAT_MAS", ligne 2960
    ORA-06512: à "SYS.DBMS_REPCAT", ligne 766
    ORA-06512: à ligne 2
    J'ai essayé de faire la même procédure directement en ligne de commande, j'ai une erreur qui m'est retournée sur la table :
    ORA-04042:procédure,fonction, package ou corps de package inexistants
    J'ai les mêmes messages, si je n'ajoute pas le lien sur le site maitre A.

    Pourtant, les packages "SYS.DBMS_REPCAT..." existent et sont valides sur les 2 serveurs. Lors de l'ajout de la table, un package "SCH.T1$RP" a été créé et est valide.


    J'ai réappliqué tous les scripts pour la réplication en ligne de commande :

    C:\>sqlplus /nolog
    SQL> connect sys/sys@srvB as sysdba;
    SQL> @@c:/oracle/ora92/rdbms/admin/catrep.sql
    Mais j'ai toujours les mêmes messages d'erreur.

    Si quelqu'un a une idée sur le problème.
    Avez-vous déjà mis en place une réplication multi-maitres?


    Rmq : si je met le serveur A en site maitre de définition, je peux générer les supports si je n'ai pas B comme site esclave. Dès que je l'ajoute, je retrouve les mêmes messages d'erreur. Le problème semble lié au serveur B en Windows 2003. J'ai réinstallé Oracle plusieurs fois sur ce serveur, mais rien à faire, ça bloque toujours au même endroit!!!

  2. #2
    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
    Essayez de détruire tous les composants de réplication puis recréation :

    Sous Sys :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    @utlrp.sql
    @catrepr.sql
    @utlrp.sql
    @catrep.sql
    @utlrp.sql

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 30
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    j'ai tenté la méthode, mais lors de la recréation les tables sur le schéma SYSTEM ne sont pas créées.
    Après avoir cherché dans les scripts, je me suis aperçue que lors de la suppression par le script Oracle @catrepr.sql
    les contraintes d'intégrité n'ont pas été supprimées.
    Dans le script on n'a pas de "DROP TABLE ... CASCADE CONSTRAINTS"
    => les tables sont supprimées mais pas les contraintes.

    Comment faire pour les supprimer?

    Je pourrai alors appliquer le script de recréation de la réplication : @catrep.sql
    et voir si je peux faire de la réplication...

    spg40.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/01/2014, 10h28
  2. [9i] Interaction JOB et Liens en réplication multi-maitres
    Par foster06 dans le forum Administration
    Réponses: 1
    Dernier message: 31/10/2008, 13h43
  3. Erreur ORA-24080 réplication
    Par stroracle dans le forum Oracle
    Réponses: 0
    Dernier message: 24/04/2008, 11h19
  4. réplication multi-maitres Mysql
    Par bibich1985 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/04/2008, 16h48
  5. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47

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