oracle数据量过大导致死掉的解决方法

CREATE OR REPLACE PROCEDURE CNV_INSERT_LFZK_TT_UKH
AS
  CURSOR C_UKH IS
    SELECT * FROM LFZK_TT_UKH;
  V_COUNT NUMBER :=0;  
BEGIN
  FOR R_UKH IN C_UKH  LOOP
  V_COUNT := V_COUNT + 1;
INSERT INTO LFZK_TT_UKH@LINKSANTOH(
							UKHCUSR,
							UKHUUSR,
							UKHDUSR,
							UKHCRDT,
							UKHUPDT,
							UKHDTDT,
							UKHDTFG,
							UKHLPFG,
							UKHLPDT,
							UKHWSID,
							UKHVSNO,
							UKHCPPK,
							UKHCPCD,
							UKHBUPK,
							UKHBUCD,
							UKHKACD,
							UKHSYPK,
							UKHSYCD,
							UKHKTPK,
							UKHKTCD,
							UKHTRPK,
							UKHTRKB,
							UKHUHNO,
							UKHTRDT,
							UKHSIKI,
							UKHDPNO,
							UKHDGNO,
							UKHPRPK,
							UKHPRCD,
							UKHLTKB,
							UKHLTNO,
							UKHSHNO,
							UKHJNCD,
							UKHZKKB,
							UKHPRKB,
							UKHUITI,
							UKHUITN,
							UKHHDTI,
							UKHHDTN,
							UKHZKTI,
							UKHZKTN,
							UKHHTKB,
							UKHNSCD,
							UKHHIRS,
							UKHHTNI,
							UKHHJU ,
							UKHHTIS,
							UKHHSSI,
							UKHHCTT,
							UKHHCYK,
							UKHHCTK,
							UKHGTNI,
							UKHGIR1,
							UKHGIR2,
							UKHGSJU,
							UKHGSCD,
							UKHGCTT,
							UKHGCYK,
							UKHGCTK,
							UKHGTIS,
							UKHGSSI,
							UKHKTNI,
							UKHKIR1,
							UKHKSJU,
							UKHKSCD,
							UKHKCTT,
							UKHKCYK,
							UKHKCTK,
							UKHKTIS,
							UKHKSSI,
							UKHPSEK,
							UKHPAPT,
							UKHNTRC,
							UKHNWHC,
							UKHNLOC,
							UKHSTRC,
							UKHSWHC,
							UKHSLOC,
							UKHZTR1,
							UKHZWH1,
							UKHZLO1,
							UKHZTR2,
							UKHZWH2,
							UKHZLO2,
							UKHUHSU,
							UKHUHKS,
							UKHUHHS,
							UKHUHBS,
							UKHUHJU,
							UKHUHSI,
							UKHUHTI,
							UKHUPK1,
							UKHUPK2,
							UKHUPK3,
							UKHUPK4,
							UKHUPK5,
							UKHUPK6,
							UKHUPK7,
							UKHUPK8,
							UKHDLKB,
							UKHDLDT,
							UKHMENTE,
							UKHDSNO,
							UKHDSGNO,
							UKHDSDATE,
							UKHDSFLG 
                  )
                 VALUES (
                 trim(R_UKH.UKHUSER),
                 trim(R_UKH.UKHUSER),
                 null,
                 R_UKH.UKHCRDT,
                 R_UKH.UKHUPDT,
                 null,
                 '0',
                 '0',
                 null,
                 trim(R_UKH.UKHWSID),
                 1,
                 '0000000001',
                 '0000000001',   
                 LFMT.GET_BUPK@LINKSANTOH('0000000001',TRIM(R_UKH.UKHBUCD),TRIM(R_UKH.UKHKACD)),
                 TRIM(R_UKH.UKHBUCD),
                 TRIM(R_UKH.UKHKACD), 
                 LFMT.GET_SYPK@LINKSANTOH('0000000001',TRIM(R_UKH.UKHSYCD)),
                 TRIM(R_UKH.UKHSYCD), 
                 LFMT.GET_KTPK@LINKSANTOH('0000000001',TRIM(R_UKH.UKHKTCD)),
                 TRIM(R_UKH.UKHKTCD),  
                 LFMT.GET_TKBPK@LINKSANTOH('0000000001',TRIM(R_UKH.UKHTRKB)),
                 TRIM(R_UKH.UKHTRKB),  
                 TRIM(R_UKH.UKHUHNO),
                 R_UKH.UKHTRDT,
                 TRIM(R_UKH.UKHSIKI),
                 TRIM(R_UKH.UKHDPNO),
                 R_UKH.UKHDGNO,
                 LFMT.GET_PRPK@LINKSANTOH('0000000001',TRIM(R_UKH.UKHKTCD),TRIM(R_UKH.UKHPRCD)), 
                 TRIM(R_UKH.UKHPRCD),
                 R_UKH.UKHLTKB,
                 TRIM(R_UKH.UKHLTNO),
                 TRIM(R_UKH.UKHSHNO),
                 TRIM(R_UKH.UKHJNCD), 
                 R_UKH.UKHZKKB,
                 R_UKH.UKHPRKB, 
                 TRIM(R_UKH.UKHUITI),
                 R_UKH.UKHUITN,
                 TRIM(R_UKH.UKHHDTI),
                 R_UKH.UKHHDTN,
                 TRIM(R_UKH.UKHZKTI),
                 R_UKH.UKHZKTN,
                 R_UKH.UKHHTKB,
                 TRIM(R_UKH.UKHNSCD),
                 R_UKH.UKHHIRS,
                 TRIM(R_UKH.UKHHTNI),
                 R_UKH.UKHHJU ,
                 R_UKH.UKHHTIS,
                 R_UKH.UKHHSSI,
                 R_UKH.UKHHCTT,
                 R_UKH.UKHHCYK,
                 R_UKH.UKHHCTK,
                 TRIM(R_UKH.UKHGTNI),
                 R_UKH.UKHGIR1,
                 R_UKH.UKHGIR2,
                 R_UKH.UKHGSJU,
                 TRIM(R_UKH.UKHGSCD),
                 R_UKH.UKHGCTT,
                 R_UKH.UKHGCYK,
                 R_UKH.UKHGCTK,
                 R_UKH.UKHGTIS,
                 R_UKH.UKHGSSI,
                 TRIM(R_UKH.UKHKTNI),
                 R_UKH.UKHKIR1,
                 R_UKH.UKHKSJU,
                 TRIM(R_UKH.UKHKSCD),
                 R_UKH.UKHKCTT,
                 R_UKH.UKHKCYK,
                 R_UKH.UKHKCTK,
                 R_UKH.UKHKTIS,
                 R_UKH.UKHKSSI,
                 R_UKH.UKHPSEK,
                 TRIM(R_UKH.UKHPAPT),
                 TRIM(R_UKH.UKHNTRC),
                 TRIM(R_UKH.UKHNWHC),
                 TRIM(R_UKH.UKHNLOC),
                 TRIM(R_UKH.UKHSTRC),
                 TRIM(R_UKH.UKHSWHC),
                 TRIM(R_UKH.UKHSLOC),
                 TRIM(R_UKH.UKHZTR1),
                 TRIM(R_UKH.UKHZWH1),
                 TRIM(R_UKH.UKHZLO1),
                 TRIM(R_UKH.UKHZTR2),
                 TRIM(R_UKH.UKHZWH2),
                 TRIM(R_UKH.UKHZLO2), 
                 R_UKH.UKHUHSU,
                 R_UKH.UKHUHKS,
                 R_UKH.UKHUHHS,
                 R_UKH.UKHUHBS,
                 R_UKH.UKHUHJU,
                 R_UKH.UKHUHSI,
                 R_UKH.UKHUHTI,
                 R_UKH.UKHUPK1,
                 R_UKH.UKHUPK2,
                 R_UKH.UKHUPK3,
                 R_UKH.UKHUPK4,
                 R_UKH.UKHUPK5,
                 R_UKH.UKHUPK6,
                 R_UKH.UKHUPK7,
                 R_UKH.UKHUPK8,
                 R_UKH.UKHDLKB,
                 R_UKH.UKHDLDT,
                 R_UKH.UKHMENTE,
                 TRIM(R_UKH.UKHDSNO),
                 R_UKH.UKHDSGNO,
                 R_UKH.UKHDSDATE,
                 R_UKH.UKHDSFLG   
         );
         IF V_COUNT =1000 THEN 
         	commit; 
         	V_COUNT :=0;
         END IF;
END LOOP;
EXCEPTION 
  WHEN OTHERS THEN 
    DELETE  FROM LFZK_TT_UKH;	
	commit;
END;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值