I have seen someone asking this question few times, there is the Oracle binary bits and the database bits. Following are the three methods can be used to identify this:
According to the V$VERSION view, for 64 bits version, it will print out, else 32 bits:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
PL/SQL Release 9.2.0.5.0 - Production
CORE 9.2.0.6.0 Production
TNS for Solaris: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - Production
According to the column type of address column of some V$ views:
SQL> desc v$sqltext
Name Null? Type
-------------------------------- -------- --------------
ADDRESS RAW(8)
HASH_VALUE NUMBER
COMMAND_TYPE NUMBER
PIECE NUMBER
SQL_TEXT VARCHAR2(64)
Using "file oracle" command on Unix/Linux:
$> file oracle
oracle: ELF 64-bit MSB executable SPARCV9 Version 1, ...
There are another easy way but I cannot remember it.