生产库的一个奇怪现象,会话级临时表被锁死。求高手

在生产库发现一个奇怪的问题,我在一个存储过程中使用了一个会话级临时表,用户只要用自己的帐户登陆网站就会调用这个存储过程,
我发现这个会话级的临时表经常容易锁死,导致数据库不停的创建回滚段,然后导致用户无法登陆网站。(目前基本上每天这种情况都会发生一次)
我的操作系统是window2000,oracle是oracle 9.2。请教告诉什么原因。
我的存储过程大致如下:
PROCEDURE GetNewMsgList(P_Userid   NUMBER,
                          p_groupid  NUMBER,
                          p_allcount OUT NUMBER,
                          P_rc       OUT messagesrctype,
                          P_errno    OUT NUMBER,
                          P_errmsg   OUT VARCHAR2) IS
    sqlstr     VARCHAR2(4000);
    v_count    NUMBER;
  BEGIN
    sqlstr     := ' ';
   EXECUTE IMMEDIATE 'TRUNCATE TABLE JSY_NEW_MSG_TEMP';
   sqlstr := 'INSERT INTO JSY_NEW_MSG_TEMP (msgid,userid,topic,length,hits)
   SELECT msgid,userid,topic,length,hits FROM jsy_messages_info;
   EXECUTE IMMEDIATE sqlstr;
   COMMIT;
  SELECT COUNT(msgid)  INTO   p_allcount FROM   JSY_NEW_MSG_TEMP;
  OPEN P_rc FOR SELECT  * FROM   JSY_NEW_MSG_TEMP ;
  p_errno  := 0;
  p_errmsg := '操作成功';
  EXCEPTION
        WHEN OTHERS THEN
        p_errno  := -88;
                p_errmsg := SQLERRM;
        ROLLBACK;   
  END GetNewMsgList;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/89921/viewspace-691527/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/89921/viewspace-691527/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值