一个操作执行了10多个小时还没有完?不知为什么。 你可能是你update的东西太多,要么是你有一些子查询也要处理。不过1000000也不要这么长时间,除非你的机子性能差,要么你贴出来看看好吗?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前我碰到过,不过我是修改的!我的数据有几百万!首先我要知道,你在执行这过程的时候,是不是还在进行其他任何对数据库数据进行操作?如果进行了其他操作,查看一下:select * from v$locked_object,是不是有锁!如果看了没有锁,那么你可以在提取游标的时候每次取100条语句看看,或者1000条,看看这样执行是不是可以!如果不可以我们继续讨论! 肯定没有锁,因为没有影响其它的操作。我刚才想到一个问题,是不是这个进程停止响应了,就是ORACLE挂起了它,可能他实际并没有做任何操作。我觉得如果是个死循环的话,肯定会影响其它的操作,或者性能下降对吧。是不是我可以将这个进程KILL掉,然后重新执行。游标大约是从100万条记录中提取1000条左右的,不会太多。 kill掉进程是可以的!我的想法和你的有点不一样,如果你在执行你的过程的时候,有一条记录是在操作的,那么就可能造成不能整个过程顺利的执行!但是,对其它的记录是不会有任何反应,也不会不能操作的!所以,你可以找个没有对数据库进行任何操作的时候去执行一下(包括程序的运行),你的过程!当然如果死循环,我觉得是不太可能的!简单的就是,你取游标的时候,先取10条来看看,很快,就可以知道,是不是存在这可能了! 临时表空间-续集2 关于数据库开发,怎么确定指标? 求助,一条sql语句 一个关于日期自动变化的问题? 安装好的.net oracle client 突然就不见了 看看这个JOb出现什么问题? 一个看似简单的小问题 请帮助我解决一个长期困扰我的问题 高手求援!!谢谢,关于oracle数据库中如何存储单引号, oracle自表关联求优化 如何做到查询过程在得到第一条记录后返回? 有索引为什么还是全表扫描呢?请高手相助!!
首先我要知道,你在执行这过程的时候,是不是还在进行其他任何对数据库数据进行操作?
如果进行了其他操作,查看一下:select * from v$locked_object,是不是有锁!
如果看了没有锁,那么你可以在提取游标的时候每次取100条语句看看,或者1000条,看看这样执行是不是可以!
如果不可以我们继续讨论!
我的想法和你的有点不一样,如果你在执行你的过程的时候,有一条记录是在操作的,那么就可能造成不能整个过程顺利的执行!但是,对其它的记录是不会有任何反应,也不会不能操作的!
所以,你可以找个没有对数据库进行任何操作的时候去执行一下(包括程序的运行),你的过程!
当然如果死循环,我觉得是不太可能的!简单的就是,你取游标的时候,先取10条来看看,很快,就可以知道,是不是存在这可能了!