2010-03-19 6 views
1

Quelqu'un a-t-il une expérience avec des liens de base de données entre 10g et 11g?Liens de base de données Oracle entre 10g et 11g

Est-ce une installation/opération supportée? C'est possible? Y a-t-il des problèmes? Mises en garde? J'ai utilisé des liens de DB de 11g à 10g

+0

Va installer 11g pour tester cette configuration au cours des prochaines semaines. Appréciera encore plus de réponses sur les expériences avec ceci. – JavaRocky

Répondre

4

Pas de gros problèmes. Le seul inconvénient est que 11g peut utiliser des mots de passe à casse mixte et vous pouvez désactiver cette option si vous essayez de vous connecter à partir d'une base de données de 10g à une base de données de 11g.

+0

Merci. Avez-vous envisagé d'utiliser uniquement des mots de passe en majuscules pour la connexion de 10g à 11g afin de toujours autoriser les mots de passe mixtes? – JavaRocky

1

Parfois, il y a des problèmes, quand un lien de 11G à 10.2.0.4.

ID de support Oracle ID 730423.1: Sélectionnez avec la fonction locale et les tables distantes à l'aide d'un lien suspendu en raison de l'ajout de DX.

+0

Merci. Heres quelques refs pour tous. http://www.ora600.be/node/1955 http://surachartopun.com/2008/12/dbink-hangs-enq-dx-contention.html – JavaRocky

1

ORA-01719 peut également être levée si vous avez une requête de jointure externe dans 11g qui utilise également IN ou OR et les tables sont référencées via un lien db_link à 10g.

De 11g à 11g, tout comme 10g à 10g, cela ne fonctionne que si vous avez un lien entre 11g et 10g. En particulier, je vois actuellement ce problème en utilisant 11.2.0.1 à 10.2.0.3; et 11.2.0.2 à 10.2.0.4. Ainsi que la variation des versions O/S: Windows et Solaris.

Exécuter ce dans les 10g cible et bases de données 11g:

Créer db_links (DB10, DB11) dans votre base de données 11g reliant à la fois les bases de données liées 10g et 11g.

exécuter ces requêtes dans votre 11g base de données reliant:

/* this will fail 11g to 10g*/ 
SELECT * 
FROM [email protected] a, 
(SELECT * 
FROM [email protected]0 
WHERE c1 IN (1, 2, 3)) b 
WHERE a.c1 = b.c1(+); 

/* this will work 11g to 11g*/ 
SELECT * 
FROM [email protected] a, 
(SELECT * 
FROM [email protected] 
WHERE c1 IN (1, 2, 3)) b 
WHERE a.c1 = b.c1(+); 
2

Une vue avec dblink dans la liste de sélection ne peut plus être accessible depuis un autre schéma via un synonyme (utilisé pour travailler dans Oracle 10)

La vue

create or replace foo_view as 
select [email protected] id --yes, I know this is stupid... legacy code 
from [email protected] 

Sur un autre utilisateur DB

create synonym foo_synonym for otherdb.foo_view 

select foo_synonym: « Description de la connexion ORA-02019 pour la base de données à distance introuvable »

La solution consiste à supprimer dblinks de la sélection de vue sous-jacente clause (qui ne devrait pas vraiment être là en premier lieu) :

create or replace foo_view as 
select foo.id id 
from [email protected] foo 
Questions connexes