【问题标题】:Oracle Temporary Tables has "data block corrupted"?Oracle 临时表有“数据块损坏”?
【发布时间】:2014-04-23 12:55:53
【问题描述】:

在打包的 SP 中,我正在填充一个临时表。在过程处理结束时,我将临时表读入引用游标。

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

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

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

再试一次,同样的事情只是指新的表空间!

我认为是我使用临时表导致了这个问题?

如果我在这里尝试做的事情很重要,那就是重用一个旧的、复杂的 SP,它曾经返回许多 Table(关联数组)对象。我不想对 SP 进行太多更改,因此我已经将之前放置在关联数组中的数据写入临时表中。然后我将 TT 的内容转储到 ref-cursor 中。我看不出这会如何产生“数据块损坏”消息,但我希望有人能告诉我。

【问题讨论】:

    标签: oracle stored-procedures temporary oraoledb


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。正如我在问题中提到的那样,我已经完成了创建新临时空间并删除旧临时空间的过程。不幸的是,新表空间再次出现错误。
    • @stackoverflow.com/users/364088/glaucon 你有没有解决这个问题。我的环境也面临同样的问题。
    • @NeerajSharma - 很抱歉,我真的不记得我是如何解决这个问题的,即使我做到了,我也可能做了一些不同的实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2017-04-20
    • 2017-08-20
    • 2022-11-23
    • 2021-02-01
    相关资源
    最近更新 更多