Does anybody know what object with type 10 means in Oracle?
It is a long story to tell why I am asking about it.
But, in short, we are running Oracle Parallel Server 8.0.5.1.1 on
OSF1 v4.0 and I think that Oracle data dictionary is corrupted.
(sometimes server dumps core with code ORA-0600 -- internal error).
I looked at the source of sys.all_objects view and noticed that
objects with type 10 is just skipped in output of that view:
...
and (o.type# not in (1 /* INDEX - handled below */,
10 /* NON-EXISTENT */)
...
So, there is something in the data dictionary and server don't want
to show it through "official" view.
Anybody knows what that type 10 mean?
Thank you,
Tim Ashepkov
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
Say you have a view
create or replace view v1 as
select * from t1;
but T1 is actually a public synonym to a table in
someone else's schema. The validity of this
view is dependent on the fact that there is
no object named T1 in your schema; so
Oracle creates a 'non-existent' object in
your schema that the view can depend on.
Then, when you create an object called T1 in
your schema, this causes the elimination of
the 'non-existent' object, which automatically
causes the invalidation and recompilation of
the view to use your table.
--
Jonathan Lewis
Yet another Oracle-related web site: www.jlcomp.demon.co.uk
tash...@my-dejanews.com wrote in message <7h7m62$n3o$1...@nnrp1.deja.com>...
Jonathan Lewis wrote in message
<926453356.1892.0...@news.demon.co.uk>...
We have exactly the same problem. ORA600 crashes -- on all snapshot
refreshes
and when I drop and recreate the snaphsot it fails with the "name aleady in
use" erro and its there as a type 10!
We had a crash on Friday recovered and then upgraded to 815 from 805 on the
Saturday and only found the problem on Monday so I am wondering which of the
two events was responsible for this problem.
I was begiining to think it was catlog problem as well.....
Looking at the answers to your post has been a god send.
Why we got the 600 crash in the first place I dont know but I can see that
once I dropped the snapshot the type 10 object was probably created to
handle all the other views or queries that reference this snapshot. As
someone said creating a "real" object ie a view or table is OK as it
replaces the type 10 but it wont allow you to create a snapshot if the type
10 exists (same I guess for whatever yours was).
So I solved it by recreating the snapshots with a "1" appended to there name
ie "DO_IT1" which works then create a synonym with the original snapshot
name ie "DO_IT". This works as a synonym replaces the type 10, and then all
my other views and queries work without a change.
Rob
tash...@my-dejanews.com wrote in message <7h7m62$n3o$1...@nnrp1.deja.com>...
>Hello,
>
>Does anybody know what object with type 10 means in Oracle?
>
>It is a long story to tell why I am asking about it.
>But, in short, we are running Oracle Parallel Server 8.0.5.1.1 on
>OSF1 v4.0 and I think that Oracle data dictionary is corrupted.
>(sometimes server dumps core with code ORA-0600 -- internal error).
>
>I looked at the source of sys.all_objects view and noticed that
>objects with type 10 is just skipped in output of that view:
>
>...
>
> and (o.type# not in (1 /* INDEX - handled below */,
> 10 /* NON-EXISTENT */)
>...
>
So, we know that objects with type 10 (in my schema) is:
1. objects referenced by my objects
and, at the same time
2. have public synonyms
3. even if I drop my object (view v1 in Jonathan's example),
reference to the t1 still remains in the obj$. At least for
some time, until SMON or PMON will purge them.
Tim
In article <926453356.1892.0...@news.demon.co.uk>,
"Jonathan Lewis" <jona...@jlcomp.demon.co.uk> wrote:
> 'Non-existent' objects exist to handle
> 'negative dependency' tracking.
>
> Say you have a view
>
> create or replace view v1 as
> select * from t1;
>
> but T1 is actually a public synonym to a table in
> someone else's schema. The validity of this
> view is dependent on the fact that there is
> no object named T1 in your schema; so
> Oracle creates a 'non-existent' object in
> your schema that the view can depend on.
>
> Then, when you create an object called T1 in
> your schema, this causes the elimination of
> the 'non-existent' object, which automatically
> causes the invalidation and recompilation of
> the view to use your table.
>
> --
>
> Jonathan Lewis
> Yet another Oracle-related web site: www.jlcomp.demon.co.uk
>
> tash...@my-dejanews.com wrote in message
<7h7m62$n3o$1...@nnrp1.deja.com>...
> >Hello,
> >
> >Does anybody know what object with type 10 means in Oracle?
> >
> >It is a long story to tell why I am asking about it.
> >But, in short, we are running Oracle Parallel Server 8.0.5.1.1 on
> >OSF1 v4.0 and I think that Oracle data dictionary is corrupted.
> >(sometimes server dumps core with code ORA-0600 -- internal error).
> >
> >I looked at the source of sys.all_objects view and noticed that
> >objects with type 10 is just skipped in output of that view:
> >
> >...
> >
> > and (o.type# not in (1 /* INDEX - handled below */,
> > 10 /* NON-EXISTENT */)
> >...
> >
>
>