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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
truncate table matable@dblinkA
insert into matable@dblinkA select * from matable
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.

Le soucis c'est que
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
et

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
Alors à votre avis comment procéder ?