Bonjour à tous,
voici mon problème:
je dois faire la jointure entre une table qui est sur une instance ORACLE locale, et une table qui est sur une instance ORACLE distante. (300km)
J'ai mis un HINT pour préciser à ORACLE que je voulais travailler sur l'instance distante:
Ca marche plutôt pas mal: ORACLE "envoie" ma table locale sur l'instance distante, fait la requête, puis rapartie les résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sqlplus xxx/xxx@INSTANCE_LOCALE; select /*+DRIVING_SITE(TABLE_DISTANTE)*/ TABLE_DISTANTE.* , TABLE_LOCALE.* from TABLE_LOCALE, TABLE_DISTANTE@INSTANCE_DISTANTE where critère_de_jointures ;
Mais un problème se pose lorsque je fais CREATE TABLE as select...
Le HINT semble pertubé car la requête se passe alors en local: ORACLE commence de rapatrier la table distante, pour exécuter la requête en local.
Quelqu'un a -t-il déjà eu ce problème ou a-t-il une idée pour le résoudre ou le contourner ?
J'ajoute que j'ai quelques contraintes forts gênantes:
-je dispose d'un DBLINK depuis mon instance locale pour accéder à l'instance distante, mais pas l'inverse...
-Je n'ai pas la possibilité de créer d'objets (vues, tables, ...) sur l'instance distante.
-Je ne peux pas copier en local les données de la table distante (trop volumineux).
Merci d'avance de votre aide.
Amicalement à tous. Patrick.
Partager