zoukankan      html  css  js  c++  java
  • 在32位的linux平台上为Oracle配置>1.7GB的SGA

    在没有任何附加改动的情况下,32位linux上Oracle对SGA的默认配置最大为1.7GB 。在微小改动的情况下,可以分配最大占用2.7GB RAM空间的SGA。如果大小要超过4GB就要做其他改动。 注意{运行hugemem kernel模式时,相应的限制分别是2.7GB和3.7GB。由于hugemem内核存在额外开销,因此只有在系统RAM不低于16GB的情况下才运行hugemem内核。} 为了分配大于1.7GB小于2.8GB的SGA,在Oracle启动时必须减小基地址,称之为映射基地址(mapped base)。可以采取下面的步骤减少基地址的映射: (1)  cd $ORACLE_HOME/rdbms/lib (2)利用genksms命令创建一个汇编文件: genksms  -s 0x15000000 > ksms.s (3)生成对象文件 make -f    ins_rdbms.mk  ksms.o (4)生成Oracle可执行文件: make -f ins_rdbms.mk ioracle 接下来需要做的事把共享内存参数SHMMAX增加到1.7~2.7GB,并用新编译生成的代码启动Oracle。 为了使用大于2.7GB的SGA,采用以下方法。 创建RMAN磁盘,RAM磁盘创建完毕后,使用间接数据缓冲区(indirect data buffer)配置Oracle。它本质是Oracle用于数据库块缓冲区的RAM磁盘文件。使用RAM磁盘可以避开所有的32位限制。 安装了ramfs类型的文件系统可以创建RMAN磁盘。Red Hat ES 3.0之前使用shmfs,在3.0后则用ramfs创建,使用一下语法: umount /dev/shm mount -t ramfs ramfs /dev/shm chown oracle:dba  /dev/shm 将下面内容加入文件/etc/security/limits.conf中: oracle soft  memlock 3145728 oracle soft memlock 3145728 如果用ssh登陆系统,将下面一行加入到/etc/init.d/ssh中: ulimit -l 3145728 在Oracle初始化参数中加入"use_indirect_data_buffer=true"。 为了使用大型内存模型,接下来需要把Linux共享内存设置到足够大。用下面的方法把共享内存最大值设置为8GB: echo 8589934592 > /proc/sys/kernel/shmmax 或者把下面一行加入到/etc/sysctl.conf文中: sys.kernel.shmmax= 8589934592 并执行 sysctl -w 注意: 间接数据缓冲区只能用作Oracle块缓冲区。低端内存仍用于其它内存共享项目,例如共享池或日志缓冲区。
  • 相关阅读:
    [swustoj 1021] Submissions of online judge
    [swustoj 404] 最小代价树
    [swustoj 917] K-lucky-number
    [swustoj 183] 种树
    [LA 3887] Slim Span
    [ahu 1248] NBA Finals
    用js获取当前月份的天数
    WampServer
    jquery checkbox选中、改变状态、change和click事件
    为什么排版引擎解析 CSS 选择器时一定要从右往左解析?
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967335.html
Copyright © 2011-2022 走看看