(ORA-04031)-Oracle内存过少导致分配共享内存失败
现象描述
Oracle分配共享内存失败,Alert日志显示如下错误信息。
说明:
Errors in file /oracle/db/diag/rdbms/ora01/ora01/trace/ora01_reco_233670.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select local_tran_id, global...","sga heap(1,0)","kglsim heap")
Sat Jan 15 09:53:11 2011
DDE: Problem Key 'ORA 4031' was completely flood controlled (0x6)
Further messages for this problem key will be suppressed for up to 10 minutes
Sat Jan 15 10:03:11 2011
DDE: Problem Key 'ORA 4031' was completely flood controlled (0x6)
Further messages for this problem key will be suppressed for up to 10 minutes
Sat Jan 15 10:13:11 2011
DDE: Problem Key 'ORA 4031' was completely flood controlled (0x4)
Further messages for this problem key will be suppressed for up to 10 minutes
Alert日志文件目录为“/$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert__<ORACLE_SID>.log”。
定位思路
检查Oracle内存控制参数配置。
SQL>show parameter memory
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 1000M memory_target big integer 1000M shared_memory_address integer 0如上所示,Oracle数据库内存配置值过少,只有1GB。
处理步骤
- 以oracle用户登录数据库所在机器。
- 以SYSDBA用户连接数据库。
% sqlplus / as sysdba
- 修改“memory_max_target”的值。
请根据实际情况修改。
SQL> alter system set memory_max_target=2147483648scope=spfile;
如上所示,将“memory_max_target”值修改为2GB。
- 修改“memory_target”的值。
SQL> alter system set memory_target=1610612736scope=spfile;
- 重新启动数据库。
SQL> shutdown immediate
SQL> startup
- 检查数据库运行状态。
SQL> select status from v$instance;
系统显示如下信息:STATUS ------------ OPEN
SQL> select open_mode from v$database;
数据库运行正常,系统显示如下信息:OPEN_MODE ---------- READ WRITE
- 检查数据库内存控制参数配置。
SQL>show parameter memory
修改成功,系统显示如下信息:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 2048M memory_target big integer 1536M shared_memory_address integer 0
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




