Bonjour,
Je suis confronté à un problème un peu particulier :
J'ai un serveur A qui est dans une DMZ et les administrateurs ne veulent pas que le serveur A puisse accéder au serveur B par SQLNET (problème de sécurité).
J'ai un serveur B central qui lui peut accéder à A via tns(on l'appellera tnsA). Il dispose donc d'un dblink (qu'on appellera dblinA).
Je veux que B replique une table sur A. Mais la table répliqué sur A n'est jamais modifié et la table sur B n'a pas besoin d'être fréquement mise à jours (genre une fois par jour).
Bon pour ceux qui suivent c'est B qui doit faire tout le boulot au travers de dblinkA.
Ce que je voulais faire, c'est virer la table sur A au travers de dblinkA et copier la table de B vers A au travers de dblinkA. ça donnait en gros :
C'est ultra bourrin mais mes besoins de réplication sont trés modeste : virer la table de A et la remplacer par celle de B une fois par jours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 truncate table matable@dblinkA insert into matable@dblinkA select * from matable
Le soucis c'est que
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 truncate table matable@dblinkA ORA-02021: opérations DDL non autorisées pour base de données distante
Alors à votre avis comment procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 insert into matable@dblinkA select * from matable ORA-22804: opérations distantes interdites sur des tables objet ou sur des colonnes de type défini par l'utilisateur
![]()
Partager