web-dev-qa-db-fra.com

Installation du client Oracle 32 bits sur Windows Server exécutant déjà le serveur de base de données Oracle 64 bits

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.

8
BeekerC

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.

24
Wernfried Domscheit