Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2802782
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2009-04-27 12:02:00

 在不带PAE的处理器上。linux最大支持内存为4GB,那么运行在linux上的oracle数据库分配内存段为(从矮到高):1.0GB为linux kernel,1.0GB为oracle代码段和shared library,1.7GB作为SGA,0.3GB作为stack.这时候还没有最大地挥内存性能,为了能使SGA达到2.7GB,需要对oracle进行重进编译。那我具体操作如下:1,定位到$ORACLe_HOME/rdbms/lib目录下。运行命令"genksms -s ox15000000 > ksms.s,这一条命令主要是让oracle从更矮的地址开始加载ORACLE代码;可以通过more ksms.s来确认是否修改成功。2,对ORACLE进行重新编译链接。执行以下两条命令。"make -f ins_rdbms.mk ksms.o" ;"make -f ins_rdbms.mk ioracle"。总算大功告成。这些命令都是在oracle用户下执行,不要弄错了。
    后来Intel在CPU上增加了4根内存寻址针,使内存寻址位数为36位(32+4),使在原来32位系统可寻址内存空间增加到64GB。在运行在linux上的oracle服务器,为了能够使用高地址内存,进行以下操作:1,创建共享内存段,mount -t shm shmfs -o size=12gb /dev/shm(根用户模式下执行)2.把USE_INDIRECT_DATA_BUFFERS初始化参数设为TRUE。
阅读(3236) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~