Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: what is obj$.type#=10?
Your original post about type# = 10 was correct - I did post something a long time ago about Oracle keeping obj# rows intact as type# = 10.
I think, at the time, that it was keeping two or three types, including tables. At present though it may only be keeping only synonyms (including private ones for objects in your own schema) and the only way that you can re-use those object numbers is to create a new synonym of the same name (which can reference a different object).
In this case, the type# = 10 really is the row for the object you have dropped, and not a previously existing "non-existent" object.
I don't have any idea at present why Oracle does this.
Regards
Jonathan Lewis
http://www.jlcomp.demon.co.uk/faq/ind_faq.html The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/seminar.html Optimising Oracle Seminar - schedule updated May 1st
-----Original Message-----
Jonathan Lewis
Once again I learn something from the list. (I wrote a sample script = below to show what Mr. Lewis is talking about.) I have a question = though. In an Oracle 9.2 database, I create public synonym X for = some_table. Then I drop public synonym X. No one has ever used public = synonym X, there are no dependencies on it, so why does a row remain in = SYS.OBJ$ for X with type# 10? That row will remain until I restart the = database.
![]() |
![]() |