欢迎来到天天文库
浏览记录
ID:50232576
大小:21.50 KB
页数:5页
时间:2020-03-07
《如何动态扩大oracle.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何动态扩大oracle9iSGA区中的内存空间?Oracle9i具有动态SGA的功能,用操作系统命令查看系统内存时,发现系统中还有空闲内存.但为什么有时使用oracle9i的sql>altersystemsetdb_cache_size=xxxxM命令时数据库会报告错--没有足够的内存.这是由操作系统引起的吗?不是,原因在于此时SGA区中没有多余空闲内存。尽管系统中有空闲内存,但未分配给SGA区。在oracle9i中动态SGA的概念是无需经过关闭实例(instance),修改初始化参数文件和重启实例这一过程,就可动态调
2、整buffercache和sharepool的大小。另外,动态SGA允许在实例运行时设置,下次启动时将有多少物理内存分配给SGA这一数据库参数。SGA可用最大物理内存是由SGA_MAX_SIZE参数来决定的。在启动实例时,大小为SGA_MAX_SIZE的内存就分配给了SGA,SGA成员(buffercache,sharepool等)根据参数值也会获得相应的内存。5/5实例启动后SGA的各成员所用内存之和可以小于SGA_MAX_SIZE。数据库管理员通过使用altersystem命令来调整SGA成员间的内存分配。当SGA中
3、有足够多的空闲内存时,增大sharepool或buffercache才能完成,否则会报内存不足。另外Sharepool和buffercache的尺寸也可动态缩小。当实例已启动,SGA已达到SGA_MAX_SIZE值,可通过先减少某一成员的内存,再增加另一成员的内存来完成。SGA成员间是相互独立的,在成员间分配内存时,其和一定不能大于SGA_MAX_SIZE,并且db_cache_size参数不能等于0。在OLAP与OLTP混合型的应用环境中,利用动态SGA的功能,可以根据不同时刻应用的优先级,来动态的调整bufferca
4、che和sharepool的尺寸,以提高系统的性能:a.当OLTP应用优先级高时,缩小buffercache的值,增大sharepool的值;b.当OLAP应用优先级高时,缩小sharepool的值,增大buffercache的值。5/5例如:1.增大buffercache尺寸SQL>showparameterdb_cache_size;显示当前bufferchache的大小NAMETYPEVALUE------------------------------------------------------db_cach
5、e_sizebiginteger4194304SQL>altersystemsetdb_cache_size=8M;增大buffercache到8MB。Systemaltered.SQL>showparameterdb_cache_size;NAMETYPEVALUE------------------------------------------------------5/5db_cache_sizebiginteger83886082.调整参数SGA_MAX_SIZE(需重启实例)SQL>altersystemse
6、tSGA_MAX_SIZE=1000Mscope=spfile;Systemaltered.3.增大shared_pool_size尺寸假设,初始参数值为:SGA_MAX_SIZE=128MDB_CACHE_SIZE=88MSHARED_POOL_SIZE=32MSQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;设置share_pool的内存为64MErrorORA-04033,insufficientmemorySQL>ALTERSYSTEMSETDB_CACHE_SIZE=56M;减少bu
7、ffer5/5cache的大小SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;ErrorORA-04033,insufficientmemory需要等buffercache释放完,才可扩大sharepool的大小SQL>select*fromv$buffer_pool;检查内存释放是否完成。SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;Systemaltered.5/5
此文档下载收益归作者所有