网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.如何解决JOB的Interval输入参数过.
.Data Mining Technologies, Tech.
.Oracle数据库逻辑备份的SH文件.
.顺利开发数据仓库的七个步骤.
.Oracle8分区功能研究与应用.
.直接挖掘数据文件的数据.
.关于裸设备及Oracle的20个实用问.
.TestKing Oracle 1Z0-033 Edt19.0.
.监控数据库性能的常用的SQL.
.在Oracle上构建 .NET 应用程序(1).
.IE登录Linux上的10g解决em出现乱.
.关于Oracle 对 Linux 的策略的FAQ.
.利用vmware体验Oracle10g的ASM数.
.Linux中给Python2.2加DCOracle模.
.详细介绍:安装0racle 10g 的艰难.
.Oracle8i在GNU/Linux上的安装笔记.
.Oracle PL/SQL语言入门.
.Oracle中,现在保护每一行的安全介.
.SQLServer和Oracle的常用函数对比.
.ORACLE优化器.

各个平台上调整最大SGA区的方法

发表日期:2008-2-9



  在32bit或者64bit的平台上跑32bit的Oracle的时候,SGA总是受到限制,导致大内存的机器不能完全发挥作用,最近就专门找了一些关于调整最大SGA区的文档,看了看,感觉收获蛮大的,总结了一下几个平台的,但是不全,欢迎大家探讨补全。
  
  我先把我总结的几个平台贴出来大家讨论讨论。
  
  在REDHAT ADVANCED SERVER2.1上扩展SGA(1.7G以上)
  
  一. 目标:
  1. 在一个4G以上的内存的机器上将SGA从1.7G增至2.7G
  2. 兼容8.1.7,9.0.1,9.2.0版本的数据库
  3. 整个SGA都能够被提高
  
  二. 限制:
  1. 只答应在本地启动和关闭数据库
  2. 假如为PGA保存的虚拟内存太少就会导致ORA-4030的错误
  
  三. 基本步骤:
  1. 查看启动oracle用户的shel的进程号PID
  ps -ef或者echo $$
  2. 以root用户单独开一个进程,执行:
  echo 268435456 > /proc/$PID/mapped_base
  这个要对server上所有产生oracle进程的shell
  3. 修改shmmax的值。用root用户执行
  echo 3000000000 > /proc/sys/shmmax
  4. 重新分配SGA
  shutdown immediate所有的oracle实例
  cd $ORACLE_HOME/lib
  cp –a libserver9.a libserver9.a.org(备份liberver9.a文件)
  cd $ORACLE_HOME/bin
  cp –a oracle oracle.org(备份oracle文件)
  cd $ORACLE_HOME/rdbms/lib
  genksms –s 0x15000000 > ksms.s
  make –f ins_rdbms.mk ksms.o(编译新的sga地址)
  make –f ins_rdbms.mk ioracle(重新链接)
  这样改过以后就可以支持到2.65G的sga,从而可以提高db_cache_size或者db_block_buffers去提高数据库的缓冲区了。
  
  True64 Unix上使SGA大于2G
  
  1. 检查是否有足够的内存能够分配给SGA
  userf –r 300 grep –i mem
  2. 配置核心
  vm:
  vm-maxvas=实际物理内存
  vm-mapentries=400
  ubc-minpercent=1
  ubc-maXPercent=2
  ipc:
  shm-max=物理内存或者大于SGA
  shm-mni=128
  shm-seg=32
  proc:
  max-per-proc-data-size=物理内存
  per-proc-data-size=物理内存
  max-per-proc-address-space=物理内存
  per-proc-address-space=物理内存
  不要修改/etc/sysconfigtab文件中的参数位置。
  /sbin/sysconfig –q vm
  /sbin/sysconfig –q ipc
  /sbin/sysconfig –q proc
  3. 设置环境
  对于C Shell,修改.login文件
  limit datasize unlimited
  limit stacksize unlimited
  limit memoryuse unlimited
  limit addressspace unlimited
  对于Korn或者Bourn Shell,修改.login文件
  ulimit –d unlimited
  ulimit –s unlimited
  ulimit –m unlimited
  ulimit –v unlimited
  4. 重新分配SGA
  设置init文件中参数vlm_sga_base_address参数
  例如:超过了3G,设置vlm_sga_base_address=0x400000000
  5. SWAP区的设置
  建议设置成2-3倍的物理内存
上一篇:Windows下常见Oracle服务介绍 人气:764
下一篇:在*.SQL文件里获取并使用变量 人气:657
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐