BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production PL/SQL Release 9.2.0.4.0 - Production CORE 9.2.0.3.0 Production TNS for Linux: Version 9.2.0.4.0 - Production NLSRTL Version 9.2.0.4.0 - Production
[oracle@ocn2 bin]$ cd $ORACLE_HOME/bin [oracle@ocn2 bin]$ file oracle oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped [oracle@ocn2 bin]$
在某些os上,比如AIX上,64bit oracle 会正常显示信息,32bit则不正常显示。
在确认了32bit oracle之后,我们要明白,通常情况下我们的OS进程只能访问4g以下的空间,redhat linux AS 2.1 或者AS3.0版本例外,他们可以提供VLM(Very large memory)功能支持,使得通过转换可以使用36bit来标志内存地址,那么就是2的36次方理论上最大可支持64g内存访问。在oracle中,则是通过将内存当作文件来访问的,虚拟一个 /dev/shm 的文件系统,这个文件系统是完全由内存组成的,这样将突破4g的限制。那回过来我们看看,既然进程可以访问4g以下内存为何通常SGA又是1.7g呢。