【发布时间】:2013-09-27 22:12:38
【问题描述】:
我在 oracle 数据库中有一个视图,该视图似乎已损坏或类似情况。对该视图的一些查询会导致数据库无限期挂起,而这只是在过去一周自发地开始发生,经过多年的平稳运行。
我检查了数据库测试实例的视图,数据库中的数据完全相同,查询运行良好。视图在所有可见的方面都是相同的,所以我决定我应该重新编译视图。每次尝试这样做都会无限期地挂起,所以我决定放弃并重新创建。任何和所有的删除尝试,即使是从 sysdba 删除,也会无限期挂起。从该视图的脚本创建一个视图效果很好,所以我决定创建一个视图的副本,并将同义词更改为指向新视图,但删除现有的同义词 also 会无限期地挂起。看起来我将不得不创建一个新视图,并更改我们代码中查询损坏视图以查询新视图的每个实例。
有没有人知道如何用一个新的、未损坏的视图替换损坏的视图?
【问题讨论】:
-
检查是否有未提交的交易。它们会导致 DDL 语句挂起,等待事务完成。
-
宾果游戏,这似乎是问题所在。您想将此作为答案提交吗?