刚回到家,有人发我一个问题。
莫名其妙啊,创建索引为什么出这个错?还涉及到包和存储过程。干了10几年第一次见。关键是网上是找不到类似的解决方案,什么升级等方案有点坑爹了。还是靠自己吧。
那就顺着提示到所谓的schema下看看。结果是这样的,看到左边有个红叉。那就是这个包不能用了。我重新编译一下,不能编译。
这时候也有点懵。看来还有连带更深层次的问题。
要不要去解决这个KU$_DDLS的问题? 那一片好多无效的对象。我这个时候没去处理。
我最终是处理了这两个。当时这个drop的是红叉失效,create是好的(但是里面实际其实有问题的)。重新编译了create以后,drop的这个刷新一下也好了。当这两个重新编译以后。
我推断,至少索引可以了。果然不出所料。一切正常。
想起另外一个,这个白天也不能用的,现在也好了。(在执行之前特意去刷新了一下对象,果然红叉消失了,Oracle自动刷新,这个不错)
事后还是想知道为什么?虽然问题我解决了,最好还是知道一下发生原因。 查了一下,官方说有可能是11.2.0.2中recyclebin回收站导致的一个bug,在11.2.0.3的某个patch 中有修正。我估计这个古董数据库一定没有。现在都19C了,这个是11哎。官方都不支持的东西。
结论:1.什么数据库都跟着官方走。2 胆大心细 一点点分析 3 有时候也需要点运气,这么多方向,我第一个怀疑点就找对了。
