加载中…
个人资料
智扬信达
智扬信达
  • 博客等级:
  • 博客积分:0
  • 博客访问:538,353
  • 关注人气:117
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ORA-04031:无法分配4064字节的共享内存报错处理

(2018-10-23 23:00:54)
标签:

java

it

杂谈

分类: JAVA
ORA-04031:无法分配4064字节的共享内存报错处理

RayMond
在开发批量插入外部接口json数据到项目数据库中,程序报错信息如下:ORA-04031:无法分配4064字节的共享内存报错处理
根据分析是由于oracle的shared_pool空间不够的原因,如果通过代码层来解决如下:



int size = list.size()/1000;
if(size>0){
for(int i = 1;i <= size; i ){
testDao.insertData(list.subList((i-1)*1000,i*1000));
}
testDao.insertData(list.subList(size*(1000),list.size()));
}else{
testDao.insertData(list.subList(0,list.size()));
}
上面代码就是分多次批量插入每次插1000条,减少数据库shared_pool压力,如还报错可把1000改的更小。

第二种:操作数据库
ALTER SYSTEM SET SHARED_POOL_SIZE='100M' SCOPE=spfile;
上面这句话必须用dba的身份登录的用户下执行。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有