现在做作数据迁移的工作,用pl sql完成的代码,在数千条数据的测试环境已测试通过。但是,在实际生产环境中,当数据量超过2、3万,就会出现程序不能退出的问题,但是,查目标表,则显示数据已全部导入。
经过调试后,发现只要是游标嵌套,或是在游标循环内使用了count(*)、sum()等聚合函数,都会导致程序不能退出。初步估计是在大数据量下系统资源不够造成的,但不是很确定。
还有,为了避免在一个游标内部再嵌套调用游标,我将嵌套游标放在一个函数中完成,但还是出现不能退出的问题。
欢迎大家谈谈这方面的经验,特别是大数据量操作要注意的问题。
经过调试后,发现只要是游标嵌套,或是在游标循环内使用了count(*)、sum()等聚合函数,都会导致程序不能退出。初步估计是在大数据量下系统资源不够造成的,但不是很确定。
还有,为了避免在一个游标内部再嵌套调用游标,我将嵌套游标放在一个函数中完成,但还是出现不能退出的问题。
欢迎大家谈谈这方面的经验,特别是大数据量操作要注意的问题。
如果有的耍,即使把内部的游标换乘函数,应该也解决不了问题。
好像和oracle的配置有关系。
看看init.ora里的配置信息。
你是说用trace跟踪吗?
你说的:增大全局内存块和排序缓存的内存大小
是不是修改服务器端的配置啊?这些怎么修改啊?还有,
wyc2000(工人) ( ):
你说的增加pl sql 的内存
应该是增加client端的pl sql 内存吧?怎么改?
我先试试用trace跟踪一下,看能得到什么结果。
再次感谢各位的关注,希望对大家也能有所帮助。