Oracle non compilerà la tua definizione perché il tipo Item
non è stato ancora compilato. Perché non ci provi:
Compila questo:
CREATE OR REPLACE TYPE Item;
CREATE OR REPLACE TYPE items_table IS TABLE OF REF item;
e poi prova:
CREATE OR REPLACE TYPE item AS OBJECT (
id number,
subitems items_table
)