Sometimes when I browse views or packages in Oracle SQL Developer they have a red icon next to them, indicating that there was a compile error. This seems to randomly happen to objects that compile without any errors or warnings.
They continue to work even with the red icon, but it's confusing and makes me wonder if I'm missing something. What can I开发者_JS百科 do to find out why these objects are being marked as having problems?
I have seen the same; most of the time when a sub procedure was modified and required compilation.
Oracle SQL Developer is not the finest bit of SW engineering. In general i think oracle should just do what they can do good, that is databases ;) Only saying this to indicate that i would not worry to much about such glitches.
I have not seen that problem myself, but i could imagine that this happens when a database object (e.q a table) this package is using has been altered. Even through the package still compiles, oracle somehow marks them. In jdbc, you would get an 'existing state of package has been discarded' message on the first call to the package. Just a guess, it might just be an error, i would not wonder to much, looking at the quality of their java products in general ;)
Oracle will recompile invalid packages on the fly - that's why invalid packages will often work properly.
As others have pointed out, packages will become invalid if any referenced object is altered. The package may or may not compile cleanly - it depends on how the object is altered.
精彩评论