[oracle] How to know installed Oracle Client is 32 bit or 64 bit?

OS: Windows 2008 Server R2

Oracle Client: 11.2

Many Thanks

This question is related to oracle 64-bit oracleclient

The answer is


Go to %ORACLE_HOME%\inventory\ContentsXML folder and open comps.xml file

Look for <DEP_LIST> on ~second screen.
If following lines have

  • PLAT="NT_AMD64" then this Oracle Home is 64 bit.
  • PLAT="NT_X86" then - 32 bit.

    You may have both 32-bit and 64-bit Oracle Homes installed.


  • On 64-bit system:

    32-bit Driver: C:\Windows\SysWOW64\odbcad32.exe

    64-bit Driver: C:\Windows\System32\odbcad32.exe

    Go to Drivers Tab
    Version is shown there as well.


    None of the links above about lib and lib32 folder worked for me with Oracle Client 11.2.0 But I found this on the OTN community:

    As far as inspecting a client install to try to tell if it's 32 bit or 64 bit, you can check the registry, a 32 bit home will be located in HKLM>Software>WOW6432Node>Oracle, whereas a 64 bit home will be in HKLM>Software>Oracle.


    One thing that was super easy and worked well for me was doing a TNSPing from a cmd prompt:

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

    For Unix

    grep "ARCHITECTURE" $ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
    

    And the output is:

    <PROPERTY NAME="ARCHITECTURE" VAL="64"/> 
    

    For Windows

    findstr "ARCHITECTURE" %ORACLE_HOME%\inventory\ContentsXML\oraclehomeproperties.xml
    

    And the output can be:

    <PROPERTY NAME="ARCHITECTURE" VAL="64"/>
    

    The following, taken from here, was not mentioned here:

    If the Oracle Client is 32 bit, it will contain a "lib" folder; but if it is a 64 bit Oracle Client it will have both "lib" and "lib32" folders.

    Also, starting in Oracle 11.2.0.1, the client version for 64-bit and the Oracle client for 32-bit are shipped separately, and there is an $ORACLE_HOME/lib64 directory.

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

    Or

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


    In Linux:

    1) find where is sqlplus located,

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

    2) Determine the file type,

    [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-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs). For GNU/Linux 2.6.18, not stripped.


    For the Oracle 12.1 windows client, looking at the output from the TNSPING command seems to work:

    With 32 bit installed on 64 bit OS:

    C:>tnsping

    TNS Ping Utility for 32-bit Windows: Version 12.1.0.2.0 - Production on 02-FEB-2 016 15:44:37

    Copyright (c) 1997, 2014, Oracle. All rights reserved.

    With 64 bit installed on 64 bit OS:

    D:>tnsping

    TNS Ping Utility for 64-bit Windows: Version 12.1.0.1.0 - Production on 02-FEB-2 016 16:00:23

    Copyright (c) 1997, 2013, Oracle. All rights reserved.


    Examples related to oracle

    concat yesterdays date with a specific time ORA-28001: The password has expired how to modify the size of a column How to create a blank/empty column with SELECT query in oracle? Find the number of employees in each department - SQL Oracle Query to display all tablespaces in a database and datafiles When or Why to use a "SET DEFINE OFF" in Oracle Database How to insert date values into table error: ORA-65096: invalid common user or role name in oracle In Oracle SQL: How do you insert the current date + time into a table?

    Examples related to 64-bit

    Android Studio: /dev/kvm device permission denied How to printf a 64-bit integer as hex? Unable to install Android Studio in Ubuntu I cannot start SQL Server browser Class not registered Error Excel VBA Code: Compile Error in x64 Version ('PtrSafe' attribute required) MSOnline can't be imported on PowerShell (Connect-MsolService error) How to know installed Oracle Client is 32 bit or 64 bit? The application was unable to start correctly (0xc000007b) How to specify 64 bit integers in c

    Examples related to oracleclient

    sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory Error System.Data.OracleClient requires Oracle client software version 8.1.7 or greater when installs setup How to know installed Oracle Client is 32 bit or 64 bit? Why do I get java.lang.AbstractMethodError when trying to load a blob in the db? The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception The provider is not compatible with the version of Oracle client