J'ai un serveur de base de données Oracle 64 bits (11.2.0.3) installé sur Windows 2008 R2, et naturellement, il installe automatiquement le client 64 bits. Je dois installer sur ce serveur une application 32 bits qui requiert le client Oracle 32 bits. (Ne demandez pas - je ne peux pas installer la version 64 bits de cette application, elle ne fonctionnera pas avec le client 64 bits et je ne peux pas l'installer sur un autre serveur.)
Maintenant, j'ai essayé d'installer le client 32 bits dans un dossier physique différent et j'ai sélectionné une valeur différente pour la base Oracle et l'emplacement du logiciel lors de l'installation et il s'est très bien installé. Et il a placé le dossier BIN de l'installation du client 32 bits en tête de l'état PATH.
Cependant, lorsque j'ai essayé d'exécuter "système/système SQLplus" avec la version 32 bits, cela me donne "ORA-12560: TNS: erreur d'adaptateur de protocole". Lorsque je vais dans le dossier avec sqlplus.exe 64 bits et que je l'exécute (directement et non via PATH), les informations d'identification "système/système" fonctionnent correctement.
J'ai copié le dossier TNSNames du dossier NETWORK/admin du serveur Oracle vers le dossier NETWORK/admin du client Oracle et redémarré le serveur. Mêmes résultats.
C'est l'étendue de mes connaissances en dépannage pour Oracle.
Comment puis-je faire fonctionner le client 32 bits sur le même serveur que le serveur Oracle 64 bits? Je sais que sous linux/Unix, vous mettez simplement le dossier lib32 dans le dossier client 64 bits et définissez quelques variables d'environnement, mais je suis sûr que ce n'est pas si simple sous Windows.
S'il existe un moyen de le faire, veuillez être descriptif dans votre réponse car j'aurai besoin d'instructions étape par étape.
Merci d'avance.
Voici une instruction pour installer le client Oracle 32 bits et 64 bits sur une machine. Suivez les instructions, alors cela devrait fonctionner.
Hypothèses: Oracle Home s'appelle OraClient11g_home1
, La version client est 11gR2
Téléchargez et installez Oracle x86 Client, par exemple dans C:\Oracle\11.2\Client_x86
Téléchargez et installez Oracle x64 Client dans un dossier différent, par exemple dans C:\Oracle\11.2\Client_x64
Ouvrez l'outil de ligne de commande, accédez au dossier% WINDIR%\System32, généralement C:\Windows\System32
et créez un lien symbolique ora112
dans le dossier C:\Oracle\11.2\Client_x64
(voir la section des commandes ci-dessous)
Accédez au dossier% WINDIR%\SysWOW64, généralement C:\Windows\SysWOW64
et créez un lien symbolique ora112
dans le dossier C:\Oracle\11.2\Client_x86
, (voir ci-dessous)
Modifiez la variable d'environnement PATH
, remplacez toutes les entrées comme C:\Oracle\11.2\Client_x86
et C:\Oracle\11.2\Client_x64
par C:\Windows\System32\ora112
, respectif leur \bin
sous-dossier. Remarque: C:\Windows\SysWOW64\ora112
ne doit pas être dans l'environnement PATH.
Si nécessaire, définissez votre Oracle_HOME
variable d'environnement à C:\Windows\System32\ora112
Ouvrez votre éditeur de registre. Définir la valeur de registre HKLM\Software\Oracle\KEY_OraClient11g_home1\Oracle_HOME
à C:\Windows\System32\ora112
. En utilisant C:\Oracle\11.2\Client_x64
devrait également fonctionner.
Définir la valeur de registre HKLM\Software\Wow6432Node\Oracle\KEY_OraClient11g_home1\Oracle_HOME
à C:\Windows\System32\ora112
(ne pas C:\Windows\SysWOW64\ora112
). En utilisant C:\Oracle\11.2\Client_x86
devrait également fonctionner.
Vous avez terminé! Vous pouvez maintenant utiliser le client Oracle x86 et x64 de manière transparente, c'est-à-dire qu'une application x86 chargera les bibliothèques x86, une application x64 chargera les bibliothèques x64 sans aucune autre modification sur votre système.
C'est probablement une bonne idée de définir votre TNS_ADMIN
variable d'environnement (resp. TNS_ADMIN
entrées du Registre) vers un emplacement commun, par exemple TNS_ADMIN=C:\Oracle\Common\network\admin
Commandes pour créer des liens symboliques:
cd C:\Windows\System32 mklink /d ora112 C:\Oracle\11.2\Client_x64 cd C:\Windows\SysWOW64 mklink /d ora112 C:\Oracle\11.2\Client_x86
Remarques:
Les deux liens symboliques doivent avoir le même nom, par ex. ora112
.
Malgré leur dossier de noms C:\Windows\System32
contient les bibliothèques x64, tandis que C:\Windows\SysWOW64
contient les bibliothèques x86 (32 bits). Ne sois pas confus.