server:Window Server 2003 Enterprise Edition SP2
内存12G。
那么32位的oracle能识别多大呢?
与操作系统有关,还是与操作系统的位数有关?

解决方案 »

  1.   


    服务器有12G,32位的oracle才能识别1.7G???会不会太少了吧?
      

  2.   

    一般2G左右。是和操作有系统有关的,系统一般给一个进程分配4G内存,但是操作系统分配自己的东西占用2G,给进程2G,但是这个参数可以修改,如果你的系统确实大于4G,但是最大不能超过4G,
      

  3.   

    这个和操作系统的内存没有太大关系,是oracle版本决定的,可以在oracle官方文档查看这些记录,一般情况下时1.7G。
      

  4.   

    依据你计算机的内存大小、是否是32位系统、以及你使用oracle环境。你要注意的是,为oracle分配内存不可以超过1.5G,若服务器物理内存小于2G时,分配比例为60%;大于2G,根据实际情况调整。例如物理内存4G,为oracle分配30%即可(以上是对32位机器的内存说明,64位计算机oracle分配内存没有1.5G限制,可根据实际内存情况分配)。假如你是自己配制内存,那你按照你的需求合理分配shared pool、 buffor cache、 java pool等大小。
      

  5.   


    系统一般给一个进程分配4G内存:这里的“一个进程”是指随便一个进程还是oracle进程?4G,好多啊??然后你后面又说“操作系统分配自己的东西占用2G,给进程2G”...总感觉这句话逻辑上,不是很明白,是什么意思?原来是可以自己分配的啊...貌似我的操作系统是64位的,oracle确定是32位的,那就是说我完全可以自己分配看要给oracle使用多少内存咯?
      

  6.   

    可以自己分配?那么我64位的操作系统,32位的oracle,12G的内存,完全可以看要给oracle使用多少内存咯?10G,可以么?
      

  7.   

    楼主我看回帖都知道你要64为的oracle才能自己分配啊
      

  8.   

    sorry,菜鸟啊,而且内存方面的一些知识都不是很理解。
    你看出来了,但是我现在还是看不出来。。
      

  9.   

    个人的感觉:
    32位是指用32位2进制来管理的,所以最大是2^32=4G,而操作系统的规定,只会给2G,实际只能用到1.7G不到。
    操作系统如此,数据库应该也是如此。
    而64位则能管理的更多。之前的一台服务器,好像是给oracle分了几个进程,每一个不超过1.7G,但总的是超过10G。系统和oracle都是32位的。