author:skatetime:2009/04/14这篇文章不错,记录一下EXP-00008: ORACLE error 4031 encountered ORA-04031: unable to allocate 4096 bytes of shared memory ("s......
author:skate
time:2009/04/14
这篇文章不错,记录一下
EXP-00008: ORACLE error 4031 encountered ORA-04031: unable to allocate 4096 bytes of shared memory ("shared pool","BEGIN :EXEC_STR := SYS.DBMS...","PL/SQL MPCODE","BAMIMA: Bam Buffe 二、错误原因: 共享内存太小,存在一定碎片,没有有效的利用保留区,造成无法分配合适的共享区。 三、解决步骤: 1.查看当前环境 SQL> show sga Total System Global Area 566812832 bytes Fixed Size 73888 bytes Variable Size 28811264 bytes Database Buffers 536870912 bytes Redo Buffers 1056768 bytes show parameter shared_pool NAME TYPE VALUE ------------------------------------ ------- ----- shared_pool_reserved_size string 1048576 shared_pool_size string 20971520 SQL> select sum(free_space) from v$shared_pool_reserved; SUM(FREE_SPACE) --------------- 1048576 我们可以看到没有合理利用保留区 SQL> SELECT SUM(RELOADS)/SUM(PINS) FROM V$LIBRARYCACHE; SUM(RELOADS)/SUM(PINS) ---------------------- .008098188 不算太严重 SQL> SELECT round((B.Value/A.Value)*100,1) hardpaseperc FROM V$SYSSTAT A, V$SYSSTAT B WHERE A.Statistic# = 171 AND B.Statistic# = 172 AND ROWNUM = 1; hardpaseperc ------------------ 26.5 2.查看保留区使用情况 SQL> SELECT FREE_SPACE, FREE_COUNT, REQUEST_FAILURES, REQUEST_MISSES, LAST_FAILURE_SIZE FROM V$SHARED_POOL_RESERVED; FREE_SPACE FREE_COUNT REQUEST_FAILURES REQUEST_MISSES LAST_FAILURE_SIZE ---------- ---------- ---------------- -------------- ----------------- 1048576 1 146 0 4132 最近一次申请共享区失败时该对象需要的共享区大小4132
1/4 1 2 3 4 下一页 尾页 |