salut à tous,
j'essaye de créer un dblink d'une base Oracle 8.1.7 vers une base 9.2
mais cela ne focntionne pas ?
Savez-vous s'il y a une compatibilité ?
Si cela fonctionne?
Merci
salut à tous,
j'essaye de créer un dblink d'une base Oracle 8.1.7 vers une base 9.2
mais cela ne focntionne pas ?
Savez-vous s'il y a une compatibilité ?
Si cela fonctionne?
Merci
c'est dommage... mais sans code utilisé ni message d'erreur...cela ne fonctionne pas
cependant, il y a compatibilité totale entre les couches clientes et serveurs de 8.1.7.4, 9.2.0.6[7/8] selon l'OS à 10.2.0.2
Donc si je comprend bien ça fonctionne pas, mais tu voudrais savoir si ça fonctonne ?Envoyé par lenoil
![]()
En tout cas moi je l'ai déja vu fonctionner....
De la base 9.2, j'arrive à interroger la base 8.1.7 à travers mon DBLINK mais dans l'autre sens, j'ai un message d'erreur me disant : ORA-02085 : lien de base de données XXXX se connecte à XXXX mais rien se passe.
Est-ce possible ?
Est ce que je dois paramétrer autre chose ?
Merci d'avance
Sur ta base d'arrivée (9.2) tu as le paramètre GLOBAL_NAME à TRUE, c'est une sécurité qui n'autorise la connection par DBLINK que si ce DBLINK porte le meme nom que la base. Ca n'est donc pas lié à la version de ta base mais au nom de ton dblink.
Tu as 3 solutions:
- soit tu conforme ton nom d'instance cible au nom de ton dblink (à priori dangereux car il faut que tu t'assure qu'aucune autre base ne se connecte)
- soit tu nomme ton DBLINK du meme nom que ton nom d'instance cible (c'est précisément à ça que sert la sécurité)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER DATABASE RENAME GLOBAL_NAME TO to_nom_de_dblink
- soit tu sort la sécurité sur ta base cible:
sans oublier de modifier ton pfile ou ton spfile pour que la modif soit conservée au prochain redémarrage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER SYSTEM SET GLOBAL_NAMES = FALSE
Salut,
Merci pour tes explications, mais j'ai donc créé le DBLINK avec le même nom que la base et j'ai la même erreur.
En plus, si je fais SELECT * FROM v$dblink;
Je n'ai aucune donnée, ce qui veut bien dire que le DBLINK n'est pas ouvert.
Y a t il autre chose à paramétrer ?
Ca fait 1 semaine que je BOQUE ..........
En fait pour le nom, c'est facile, il faut que tu mettes ce qu'il te dit dans le message d'erreur ORA-02085. Si il te dit "le lien MACHIN se connecte à BIDULE" alors nomme ton db-link BIDULE.
Attention, il faut que le nom que tu utilises pour ton dblink présent sur ta base 8.1.7, et qui référence ta base 9.2 corresponde au nom que tu as dans le tnsnames.ora 8.1.7 du serveur Unix hébergeant ta base en 8.1.7.
Pour simplifier
Base 8i sur serveur A
Base 8.2 sur sevreur B
Il faut que le nom de ta base (celui que tu utilises pour ton dblink) soit dans le tnsnames 8.1.7 de ton sevreur A pour que tu puisses accéder à ta base 9.2.
Ne le vérifie pas avec ton SQLPLUS, mais en étant connecté sur Unix et en lançant un sqlplus avec un profile 8.1.7 !!!!!
-> Harry Potter:
Non, je crois que la seule chose qui compte est la correspondance entre le nom du DBLINK et le GLOBAL_NAME de la base cible. Le point d'entrée du tnsnames est seulement utilisé à la création du dblink (derrière le USING) mais on peut mettre n'importe quoi....
J'ai essaye vos différentes solutions mais le problème reste entier et je n'ai toujours pas accès à l'autre base dans le sens ORACLE 8 vers ORACLE 9.
Je ne comprends toujours pas pourquoi dans l'autre sens ca marche alors que dans le sens qui m'intéresse, je n'accède pas à l'autre base.
Est-ce que quelqu'un peut me répertorier toutes les étapes necessaires à créer et à vérifier sur les 2 bases pour que je CONTROLE UNE NOUVELLE FOIS TOUT MON PROCESSUS ?
Merci d'avance
Petit récapitulatif du problème
2 serveurs distants Serveur1 et Serveur2.
Sur SERVEUR1 => Base nombase1 oracle 9.2...
Sur SERVEUR2 => Base nombase2 oracle 8.1...
Je veux séléectionner les données de la table XXX de ma base 2 qui n'ont pas certains caracytéristiques de la table YYY de ma base 1.
Pour cela, je pense que la seule solution est de créer un DBLINK entre les 2 bases et de consulter les tables via ce dernier mais j'ai un problème en essayant d'accéder au DBLINK de la base 8 vers 9.
J'ai l'erreur ORA-02085....
J'en ai marre
Le message ORA-02085 est pourtant assez explicite, il te dis:
"lien de base de données YYYY se connecte à XXXX."
ça veux dire qu'il faut que tu renomme ton dblink YYYY en XXXX. Tu as déja essayé ça ?
Malheureusement oui et c'est toujours pareil.
Voila mon dblink
CREATE PUBLIC DATABASE LINK ASTGFP CONNECT TO ????? IDENTIFIED BY ????? USING
'(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = astrdon.cg12.fr)(Port = 1521))
(ADDRESS = (PROTOCOL = TCP)(Host = astrdon.cg12.fr)(Port = 1526))
)
(CONNECT_DATA =
(SERVICE_NAME= ASTGFP)
)
)'
Problème quand je fais mon SELECT COUNT(*) FROM tiers_rib@ASTGFP;
Il me dit ORA-02085 : lien de base de données ASTGFP.CG12.FR se connecte à ASTGFP
Il y a un décalage au niveau des nom de domaine, ta base source en a un et pas ta base cible (au moment ou tu l'as crée en tout cas). Je pense qu'il faudrait que tu vire ton db_domain du fichier de paramétrage de ta base source avant de la redémarrer. (à moins qu'il soit possible de forcer oracle à ne pas rajouter le nom de domaine à la fin du db_link, mais j'avoue que je sais pas faire...)
Tu as une autre solution qui serait de faire sur ta base cible:
MAIS ATTENTION: Il faut que tout tes autres DB_LINK sur les autres bases sources soient nommés au final ASTGFP.CG12.FR.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER DATABASE RENAME GLOBAL_NAME TO ASTGFP.CG12.FR
Je me suis connecté en SYSTEM (pour avoir les privilèges nécessaires) et j'ai fait ALTER DATABASE RENAME GLOBAL NAME...
et ca marche.
Il n'y avait aucun autre dblink sur cette base, est-ce que le fait d'avoir renommer peut avoir d'autres conséquences sur la base ou est-ce que ca ne risque rien ??????
Non c'est juste un nom logique ça ne sert à ma connaissances qu'aux connections externes. Et puis à la limite, si ta base est vraiment sur le domaine "cg12.fr", c'est plus propre qu'elle s'appelle comme ça.Envoyé par jirotype14
Attention, quand je parlais des autres db_link, je voulais bien dire d'autre bases qui se connecte à celle ci par db_link.
Partager