如何知道已安装的Oracle客户端是32位还是64位?

操作系统:Windows 2008 Server R2

Oracle客户端:11.2

非常感谢

在Windows中find这个简单的方法是从Oracle家庭的bin目录运行SQLPlus,然后检查任务pipe理器。 如果它是32位版本的SQLPlus,那么您将在“进程”选项卡上看到如下所示的进程:

sqlplus.exe *32 

如果它是64位的,则过程如下所示:

 sqlplus.exe 

转到%ORACLE_HOME%\inventory\ContentsXML文件夹并打开comps.xml文件

在第二个屏幕上查找<DEP_LIST>。
如果下面的行有

  • PLAT="NT_AMD64"那么这个Oracle Home是64位的。
  • PLAT="NT_X86"然后 – 32位。

    您可能安装了32位和64位Oracle Homes。

  • 有一件超级简单的事情对我来说很好,就是在cmd提示符下执行一个TNSPing命令:

     TNS Ping Utility for 32-bit Windows: Version 11.2.0.3.0 - Production on 13-MAR-2015 16:35:32 

    在Linux中:

    1)findsqlplus所在的位置,

     [oracle@LINUX db_1]$ `which sqlplus` /app/oracle/product/11.2.0/db_1/bin/sqlplus 

    2)确定文件types,

    [oracle @ LINUX db_1] $ file /app/oracle/product/11.2.0/db_1/bin/sqlplus

    /app/oracle/product/11.2.0/db_1/bin/sqlplus:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),dynamic链接(使用共享库)。 对于GNU / Linux 2.6.18,没有剥离。

    以上关于lib和lib32文件夹的链接都不适用于Oracle Client 11.2.0但是我在OTN社区中发现了这一点:

    至于检查客户端安装以确定它是32位还是64位,你可以检查registry,一个32位的home将位于HKLM> Software> WOW6432Node> Oracle,而一个64位的home位于HKLM >软件>甲骨文。

    从这里拿下来, 这里没有提到:

    如果Oracle客户端是32位,它将包含一个“lib”文件夹; 但如果它是一个64位Oracle客户端,它将同时具有“lib”和“lib32”文件夹。

    另外,从Oracle 11.2.0.1开始,64位客户端版本和32位Oracle客户端分开发货,并且有一个$ ORACLE_HOME / lib64目录。

    $ ORACLE_HOME / lib / ==> 32位$ ORACLE_HOME / lib64 ==> 64位

    要么

    $ ORACLE_HOME / lib / ==> 64位$ ORACLE_HOME / lib32 ==> 32位

    对于Oracle 12.1 Windows客户端来说,查看TNSPING命令的输出似乎是可行的:

    在64位操作系统上安装了32位:

    C:> TNSPING

    适用于32位Windows的TNS Ping实用程序:版本12.1.0.2.0 – 在02-FEB-2上制作016 15:44:37

    版权所有(c)1997年,2014年,甲骨文。 版权所有。

    在64位操作系统上安装64位:

    d:> TNSPING

    适用于64位Windows的TNS Ping实用程序:版本12.1.0.1.0 – 在02-FEB-2上生产016 16:00:23

    版权所有(c)1997年,2013年,甲骨文。 版权所有。

    在64位系统上:

    32位驱动程序: C:\Windows\SysWOW64\odbcad32.exe

    64位驱动程序: C:\Windows\System32\odbcad32.exe

    转到驱动程序选项卡
    版本也显示在那里。