开发中遇到的问题

一、oracle-04031错误

  1. 没有绑定编量造成shared_pool碎片过多,同时shared_pool_size太小

 

  在风控开发过程中由于没有使用变量绑定,导致oracle共享池溢出。Oracle共 享池一个重要作用就是将解析好的sql语句进行缓存,如果有类似的sql,直接从共享池中获取并执行,不需要再次解析。

服务器开发时,尽量通过变量绑定的方式访问数据库。

 

  2. 过度的开CURSOR而不关闭。

  在埋单服务器中,一条埋单信息对应一个线程,每个线程都调用oracle埋单存储过程来处理数据,这样与数据库交互频繁而且大量并发数据要处理,存数过程中使用了游标,游标定义好后同过

  for r_wt in c_wt

  loop

 

  end loop;

方式来访问数据,这种方式游标是自动打开取数据的,结果存储过程处理完成后忘记了关闭游标了,埋单服务器启动执行过了一段时间后出现 04031错误。

   解决方法:

   关闭游标 

   if c_wt % isopen then

       close c_wt

   end if;

 

  3.Large_pool,Java_pool太小造成的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值