64ビットのOracleデータベースサーバー(11.2.0.3)をWindows 2008 R2にインストールしていますが、当然、64ビットのクライアントが自動的にインストールされます。このサーバーには、32ビットで32ビットのOracleクライアントを必要とするアプリケーションをインストールする必要があります。 (質問はありません-このアプリの64ビットバージョンをインストールできません。64ビットクライアントでは動作せず、別のサーバーにインストールすることもできません。)
今、私は32ビットクライアントを別の物理フォルダにインストールしてみて、インストール時にOracleベースとソフトウェアの場所に別の値を選択しましたが、うまくインストールされました。そして、32ビットクライアントインストールのBINフォルダーをPATH statemtnの先頭に配置します。
ただし、32ビットバージョンで「SQLplusシステム/システム」を実行しようとすると、「ORA-12560:TNS:プロトコルアダプターエラー」が表示されます。 64ビットのsqlplus.exeが含まれているフォルダーに移動して(PATHを介さずに)直接実行したところ、「system/system」資格情報は正常に機能しました。
TNSNamesフォルダーをOracleサーバーのNETWORK/adminフォルダーからOracleクライアントのNETWORK/adminフォルダーにコピーし、サーバーを再起動しました。同じ結果。
これは、Oracleのトラブルシューティングに関する知識の範囲です。
32ビットクライアントを64ビットOracleサーバーと同じサーバーで実行するにはどうすればよいですか?私はlinux/Unixで知っています。64ビットクライアントフォルダーにlib32フォルダーを入れて、いくつかの環境変数を設定するだけですが、Windowsではそれほど簡単ではありません。
これを行う方法がある場合は、ステップバイステップの手順が必要になるので、答えを説明するようにしてください。
前もって感謝します。
32ビットと64ビットのOracleクライアントを1台のマシンにインストールする方法を次に示します。指示に従ってください、それで動作するはずです。
前提条件:OracleホームはOraClient11g_home1
と呼ばれ、クライアントバージョンは11gR2です
Oracle _86クライアントをダウンロードして、たとえばC:\Oracle\11.2\Client_x86
にインストールします。
Oracle x64 Clientをダウンロードして、別のフォルダに、たとえばC:\Oracle\11.2\Client_x64
にインストールします。
コマンドラインツールを開き、フォルダー%WINDIR%\ System32に移動します。通常はC:\Windows\System32
で、フォルダーora112
へのシンボリックリンクC:\Oracle\11.2\Client_x64
を作成します(以下のコマンドセクションを参照)。
フォルダー%WINDIR%\ SysWOW64に変更します。通常はC:\Windows\SysWOW64
で、フォルダーora112
へのシンボリックリンクC:\Oracle\11.2\Client_x86
を作成します(下記参照)。
PATH
環境変数を変更し、C:\Oracle\11.2\Client_x86
やC:\Oracle\11.2\Client_x64
などのすべてのエントリをC:\Windows\System32\ora112
で置き換え、それぞれの\bin
サブフォルダーを置き換えます。注:C:\Windows\SysWOW64\ora112
をPATH環境に含めることはできません。
必要に応じて、Oracle_HOME
環境変数をC:\Windows\System32\ora112
に設定します
レジストリエディタを開きます。レジストリ値HKLM\Software\Oracle\KEY_OraClient11g_home1\Oracle_HOME
をC:\Windows\System32\ora112
に設定します。 C:\Oracle\11.2\Client_x64
を使用することもできます。
レジストリ値HKLM\Software\Wow6432Node\Oracle\KEY_OraClient11g_home1\Oracle_HOME
をC:\Windows\System32\ora112
に設定します(C:\Windows\SysWOW64\ora112
ではありません)。 C:\Oracle\11.2\Client_x86
を使用することもできます。
完了です!これで、x86とx64 Oracleクライアントをシームレスに使用できるようになりました。つまり、x86アプリケーションはx86ライブラリをロードし、x64アプリケーションはシステムをさらに変更することなくx64ライブラリをロードします。
おそらく、TNS_ADMIN
環境変数(レジストリのTNS_ADMIN
エントリ)を、TNS_ADMIN=C:\Oracle\Common\network\admin
などの共通の場所に設定するのが賢明です。
シンボリックリンクを作成するコマンド:
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
ノート:
両方のシンボリックリンクは同じ名前である必要があります。 ora112
。
名前にかかわらず、C:\Windows\System32
にはx64ライブラリが含まれていますが、C:\Windows\SysWOW64
にはx86(32ビット)ライブラリが含まれています。混乱しないでください。