主要有以下几种方法可以用来确定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 ..