直到最近,我们在Oracle Unix环境中运行了第三方HR数据库。我还设置了各种Web服务,这些服务可以满足存储过程,为我们的用户执行一些定制的流程,并且运行良好多年。 但是,现在我们已经在Windows环境中迁移到Oracle,突然出现了一个大问题 我有一个最好的例子是VB.Net解决方案,它将2000行CSV员工读入数据表,运行几个存储过程以恢复Post Id等,用结果填充数据库表,然后将其全部反馈进入一个新的CSV。这个过程过去需要1-2分钟才能在Unix上完成。它现在需要超过2个小时并杀死服务器! 通过压倒数据库服务器上的CPU来解决问题。任何存储过程调用都会将Oracle.EXE发送到overdrive,完全最大化它使用的CPU核心,这样就不会运行任何其他存储过程,并且一切都会停止。 我们已经运行了Oracle企业管理器,它建议创建一些索引等,但没有什么能改善这个问题。就像我说的那样,SQL运行良好且快速多年,并且它根本没有改变。
有人知道是什么原因引起的吗?我完全不知所措。
我看到它的方式,它必须是: 1. CPU /硬件问题(但我们已经调查过,添加额外的内核等无济于事) 2. Oracle配置问题?要么 3.第三方数据库的问题(据说与Unix上的相同)。
感谢所有读过这篇文章的人。
P.S。我已经有多年的Stack Overflow用户帐户,但无法再登录。回到noobie状态吧!