网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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教程,数据库安全,数据库文摘
本月文章推荐
.Chapter1:Oracle 10g Oracle DAB.
.浅议Oracle中的进制转换.
.带你深入了解管理Oracle实例的相.
.Oracle数据库系统使用经验六则.
.为什么有时Oracle数据库不用索引.
.单机创建物理Oracle9istandby数据.
.打破oracle数据库树立的种种神话.
.监控数据库性能的SQL.
.Oracle 的基础知识.
.性能分析工具的使用.
.ORA-19550问题及ORA-00106问题.
.ORACLE10g的新特性-簡化你的工作.
.我的学习总结: Oracle软件结构.
.Oracle数据库 关于连接池二.
.[转载]Oracle数据库性能终极优化.
.LILO配置简明攻略.
.Enterprise Library-Data Block .
.在SuSE 9.1 professional安装Ora.
.Oracle8 PL/SQL编程风格与系统性.
.ORACLE索引介绍与高性能SQL优化.

Oracle9i的物理内存管理

发表日期:2008-2-9



  在Oracle9i以前的版本中,你只能在启动数据库的时候控制Oracle使用的UNIX内存。Oracle提供了一些INIT.ORA参数来检测系统全局区(system global area,SGA)的RAM大小。一旦启动了数据库,你将不能再改变SGA的大小和配置。
  
  
  
  Oracle向一个24/7数据库迈进的目标,提出了调整UNIX内存区的大小而不必停止和重启数据库的要求。更重要的是,Oracle9i的动态SGA特性答应你监控SGA内的物理内存使用,并根据现有的Oracle数据库的需求调整SGA内存区域。
  
  Oracle9i还加入了一项新的内存治理技术,使得你能够为所有的程序全局区(program global area,PGA)预分配内存,并答应Oracle按照各类连接的不同需求为各连接分配内存。这是对传统Oracle数据库的一项相当激进的更改,而且使得SORT_AREA_SIZE和其他PGA参数被废弃。
  
  不仅要分配SGA,Oracle9i DBA还必须担负为UNIX Oracle服务器分配所有内存的责任,同时还要为UNIX的治理需要预留20%的内存。
  
  在Oracle9i之前的版本中,同时拥有数个INIT.ORA参数文件并不罕见,因为这样可以方便地调整数据库并重新配置SGA以改变运行模式。比如,为在线事务处理(online transaction processing,OLTP)而分配的SGA和Oracle数据仓库处理模式的有很大不同。
  
  Oracle推荐为OLTP数据库和决策支持系统(decision support system,DSS)应用程序——如Oracle数据仓库——使用不同的内存配置方案。OLTP系统应该将UNIX内存的大部分分配给SGA,而数据仓库和DSS应用程序对内存较为敏感,则应分配大部分内存给PGA连接。
  
  当然,假如一个数据库会以两种方式运作,你可以运行一个脚本来动态改变内存分配。例如,假如一个数据库在白天以OLTP模式运行,而在晚上以DSS模式运行,那么你可以运行一个脚本从SGA中拿些内存出来,重新分配到PGA区域。
  
  alter system set sga_memory_max = 3g;
  alter system set pga_aggregate_target = 3g;
  
  在Oracle9i中,Oracle提供了增加或减少SGA内存以下部分大小的能力:
  
  Data buffer size - alter system set db_cache_size=300m;
  Shared pool size - alter system set shared_pool_size=200m;
  Total PGA RAM memory size - alter system set pga_aggregate_target=2000m;
  
  在UNIX上,Oracle通过修改UNIX内存区的物理地址空间来达到动态内存分配的目的。你在UNIX上用malloc()和free()命令就能做到。
  
  新的动态SGA特性使得Oracle SGA可以以一个较小的容量开始,并根据需要逐渐增加。为了便利这个过程还提供了一个新的SGA_MAX_SIZE参数。
上一篇:关于关系数据库主键的讨论 人气:1172
下一篇:谨慎做数据库技术的标准化 人气:604
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐