Oracle临时表已经"数据块已损坏"?

时间:2014-04-23 12:55:53

标签: oracle stored-procedures temporary oraoledb

在打包的SP中,我填充了临时表。在程序处理结束时,我将临时表读入参考光标。

当我尝试在SQL Developer中执行该过程时,一切正常。

当我尝试在经典ASP页面(使用OraOLEDB)中执行该过程时,IIS日志显示" ORA-01578:_ORACLE_data_block_corrupted"。

当我第一次看到这个,在我在SQL Developer中尝试之前,我认为表空间文件已损坏,因此我删除了表空间;在另一个磁盘上重新创建它,然后告诉用户新的表空间是新的临时区域。

再次尝试,同样只涉及新的表空间!

我认为我使用Temporary Tables会引起这个问题吗?

如果重要的是我在这里尝试做的是重用一个旧的,复杂的SP,用于返回许多Table(关联数组)对象。我不想对SP做太多改变,所以我已经将之前放入关联数组的数据写入临时表。然后我将TT的内容转储到ref-cursor中。我无法看到其中任何一个会导致数据块损坏"消息,但我希望有人能告诉我。

1 个答案:

答案 0 :(得分:-1)

您的数据库似乎面临着临时文件的一些问题。我建议你在临时表空间中创建另一个临时文件,然后删除旧的临时文件。然后你会看到你的问题是否已经解决。