a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 0

[综合] 如何解决ORACLE共享内存不足的方法

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
问题:   ORA-04031: unable to allocate 19204 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","session param values")
- X# ~' x  q3 J" v9 b  错误原因:- ?; N  r# E6 m% k% L2 m* T( [7 p3 A
  共享内存太小,分配给共享池的内存不足以知足用户请求,或者存在必然碎片,没有有用的操作保留区,造成无法分配合适的共享区。  F. G; E% V8 d7 Y" P9 `' A- L
  一个ORACLE例程的系统全局区域(SGA)包含几个内存区域(搜罗缓冲高速缓存、共享池、Java 池、年夜型池和重做日志缓冲)
5 s4 Q1 n& Q( _  SGA=db_cache+shared_pool+java_pool+large_pool
# t  n, D  P  b9 h* }  措置体例:4 @; P) P! T; ^8 |5 A6 t8 L: D1 G
  手动调整SGA的巨细,然后年夜头分配四年夜内存区域的巨细。首要增添共享内存缓和冲高速缓存。
4 i! g  J6 h& w/ e  sql> show sga;  //查看SGA的具体巨细信息。, z: u' h3 B0 D0 Q! V5 I
  sql>show parameter sga_max_size //查看SGA最年夜值& g$ ^: o, X$ m* |
  sql> show parameter shared_pool //查看共享内存
' o8 y1 T6 V/ z! g7 x  v  sql>show parameter db_cache    //查看数据缓存! ^& L8 ~8 `  Q$ h- Y( b: b3 a( [% @  @* Z
  sql> alter system set sga_max_size = 500M scope=spfile;//改削SGA最年夜值
( k/ E' d) J; ?& H: }1 B  sql> alter system set shared_pool_size =200M scope=spfile;  //改削共享内存5 ?. y: k, w: W( l
  sql> alter system set db_cache_size =250M scope=spfile;    //改削数据缓存
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-27 00:50 , Processed in 0.206388 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表