ora4031错误原因以及解决方法
2015-04-16 16:01
435 查看
4031错误原因
大量的硬解析或者运行时间过长导致出现大量的小型free chunk,然后突然出现一个大sql语句需要硬解析,找不到合适的freechunk
解决4031错误方法:
1,清除所有sharedpool内容
alter system flush shared_pool;
shared_pool中chunk会被大量释放,回到free解决4031错误,但是治标不治本
2,共享sql
改变sql,降低硬解析,增加软解析次数,加大命中率。
或者改变oracle的cursor_sharing参数,解决因为字面值没有绑定动态变量,强制绑定
alter system set cursor_sharing='force';
3,强制到内存,不会被置换。
4,增加shared pool空间
查看自动分配的大小
select COMPONENT,CURRENT_SIZE from V$SGA_DYNAMIC_COMPONENTS;
修改
alter system set shared_pool_size = 150M scope=both;
5保留区
保留区是专门为大sql语句保留的内存空间
查询保留查询失败的错误次数
select REQUEST_MISSES from v$shared_pool_reserved;
如果大于0,修改share_pool_reserved_size大小
ps:查询内存块个数:
select count(*) from x$ksmsp;
大量的硬解析或者运行时间过长导致出现大量的小型free chunk,然后突然出现一个大sql语句需要硬解析,找不到合适的freechunk
解决4031错误方法:
1,清除所有sharedpool内容
alter system flush shared_pool;
shared_pool中chunk会被大量释放,回到free解决4031错误,但是治标不治本
2,共享sql
改变sql,降低硬解析,增加软解析次数,加大命中率。
或者改变oracle的cursor_sharing参数,解决因为字面值没有绑定动态变量,强制绑定
alter system set cursor_sharing='force';
3,强制到内存,不会被置换。
4,增加shared pool空间
查看自动分配的大小
select COMPONENT,CURRENT_SIZE from V$SGA_DYNAMIC_COMPONENTS;
修改
alter system set shared_pool_size = 150M scope=both;
5保留区
保留区是专门为大sql语句保留的内存空间
查询保留查询失败的错误次数
select REQUEST_MISSES from v$shared_pool_reserved;
如果大于0,修改share_pool_reserved_size大小
ps:查询内存块个数:
select count(*) from x$ksmsp;
相关文章推荐
- C# Maximum request length exceeded. 产生错误的原因,以及解决方法.
- C# Maximum request length exceeded. 产生错误的原因,以及解决方法.
- transformClassesWithJarMergingForDebug错误原因以及解决方法
- undefined reference to symbol xxxxx和undefined symbol:xxxx错误的原因分析以及解决方法
- win8出现蓝屏错误代码0x000007B原因以及解决方法
- 外键约束ORA-02291错误的原因以及解决方法
- javascript中出现identifier starts immediately after numeric literal错误原因以及解决方法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
- c++ std::sort函数调用经常出现的invalidate operator<错误原因以及解决方法
- C# Maximum request length exceeded. 产生错误的原因,以及解决方法.
- Android ANR错误的原因以及解决方法(Application Not Responding)
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- java.lang.IllegalStateException错误原因以及解决方法
- [转]WebService 中Maximum request length exceeded. 产生错误的原因,以及解决方法.
- 爬虫时碰到的socket.error: [Errno 10060]错误的原因以及解决方法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- oracle小技巧,在线看oracle的错误的原因以及解决的方法
- C# Maximum request length exceeded. 产生错误的原因,以及解决方法.
- C# Maximum request length exceeded. 产生错误的原因,以及解决方法.
- 用PB6开发WINCE时常遇到的错误以及解决方法汇总