在oracle9i以前的版本中,你只能在启动数据库的时候控制oracle使用的unix内存.oracle提供了一些init.ora参数来检测系统全局区(system global area,sga)的ram大小.一旦启动了数据库,你将不能再改变sga的大小与配置.
oracle9i还加入了一项新的内存管理技术,使得你能够为所有的程序全局区(program global area,pga)预分配内存,并允许oracle按照各类连接的不同需求为各连接分配内存.这是对传统oracle数据库的一项相当激进的更改,而且使得sort_area_size与其他pga参数被废弃. 【程序编程相关:My SQL数据库引擎快速指导】
oracle向一个24/7数据库迈进的目标,提出了调整unix内存区的大小而不必停止与重启数据库的要求.更重要的是,oracle9i的动态sga特性允许你监控sga内的物理内存使用,并根据现有的oracle数据库的需求调整sga内存区域. 【推荐阅读:PHP 和 MySQL 开发的8个技巧】
在oracle9i之前的版本中,同时拥有数个init.ora参数文件并不罕见,因为这样可以方便地调整数据库并重新配置sga以改变运行模式.比如,为在线事务处理(online transaction processing,oltp)而分配的sga与oracle数据仓库处理模式的有很大不同. 【扩展信息:MySQL程序设计介绍】
不仅要分配sga,oracle9i dba还必须担负为unix oracle服务器分配所有内存的责任,同时还要为unix的管理需要预留20%的内存.
oracle推荐为oltp数据库与决策支持系统(decision support system,dss)应用程序——如oracle数据仓库——使用不同的内存配置方案.... 下一页