主要有以下几种方法可以用来确定Oracle的位数:
1.通过SQLPLUS登录即可看出

a.64位登录时就有显示
$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Nov 16 15:27:28 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production


b.32位的无显示
[oracle@jumper oracle]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Nov 16 15:19:03 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production


c.从v$version获取
SQL> select * from v$version;

BANNER
------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for 32-bit Windows: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production


2.从v$sql视图获取
a.如果输出为8位16进制数,则为32位Oracle
SQL> select address from v$sql where rownum<2;

ADDRESS
--------
578428D8

   b.如果输出为16位16进制数,则为64位Oracle
  
SQL> select address from v$sql where rownum<2;
  
ADDRESS
----------------
000000040DFA01E0

   3.使用系统命令file

   a.如果输出带有32-bit字样为32位Oracle
  
[oracle@jumper oracle]$ file $ORACLE_HOME/bin/oracle
/opt/oracle/product/9.2.0/bin/oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386..

   b.如果输出带有64-bit字样为64位Oracle
 
$ file $ORACLE_HOME/bin/oracle
/opt/oracle/product/9.2.0/bin/oracle:  ELF 64-bit MSB executable SPARCV9 Version 1 ..