a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 114|回复: 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")
! G  c6 `# t9 Y3 a( R, }, j  错误原因:
2 u( ]: m) Q; n5 T/ i, a) [0 g8 F% z  共享内存太小,分配给共享池的内存不足以知足用户请求,或者存在必然碎片,没有有用的操作保留区,造成无法分配合适的共享区。7 F- [& B" I9 c
  一个ORACLE例程的系统全局区域(SGA)包含几个内存区域(搜罗缓冲高速缓存、共享池、Java 池、年夜型池和重做日志缓冲)
, A1 \: x: B, B  SGA=db_cache+shared_pool+java_pool+large_pool
3 ]! t' S4 ^3 k0 d  c& B  措置体例:& e, Z$ c, D6 y& f2 A" R8 N7 M
  手动调整SGA的巨细,然后年夜头分配四年夜内存区域的巨细。首要增添共享内存缓和冲高速缓存。
* e# a4 @6 L9 L; B1 ~' @  sql> show sga;  //查看SGA的具体巨细信息。: j& [" n9 l, x! I
  sql>show parameter sga_max_size //查看SGA最年夜值- O: D% v: ^; S, Q7 O$ P$ n
  sql> show parameter shared_pool //查看共享内存! Z2 W7 h; v4 q6 q
  sql>show parameter db_cache    //查看数据缓存! [" |" |: [* x; P& f2 Z
  sql> alter system set sga_max_size = 500M scope=spfile;//改削SGA最年夜值' C/ ]' a  `5 U$ L) N5 W
  sql> alter system set shared_pool_size =200M scope=spfile;  //改削共享内存
+ O' L5 p$ f) f2 q  sql> alter system set db_cache_size =250M scope=spfile;    //改削数据缓存
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 07:22 , Processed in 0.286583 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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