Ich habe ein Objekt namens cot_ntn_pi_v
. Mir wurde gesagt, dies sei ein Synonym. Es wird nicht in der Tabelle all_synonyms angezeigt. Es sieht aus wie eine Ansicht oder Tabelle, aber ich kann sie nicht in der Tabelle mit allen Objekten finden. Ich kann daraus auswählen, aber ich kann es nicht löschen, da es "nicht existiert" und ich kann keine neue Tabelle mit demselben Namen erstellen wie "Der Name wird bereits von einem anderen Objekt verwendet".
Werde ich verrückt oder mache ich etwas wirklich Dummes?
oracle
oracle-10g
BON
quelle
quelle
Antworten:
Objekttypen im selben Namespace wie eine Tabelle sind:
Daher ist es wahrscheinlich einer dieser Typen. Wenn Sie daraus auswählen können, werden die ersten fünf ausgeschlossen, sodass es sich entweder um eine Tabelle, eine Ansicht, ein privates Synonym oder eine materialisierte Ansicht handelt.
Bei der Suche
all_objects
usw. haben Sie Großbuchstaben verwendet? Beispielsweise,Wenn Sie ein Tool wie SQL Developer oder Toad verwenden, können Sie das Objekt für sich beschreiben lassen. Markieren Sie den Namen im Tool und klicken Sie
Shift-F4
in Developer oderF4
in Toad. Toad bietet eine Vielzahl von Beschreibungen für das Objekt, während Developer auf der Registerkarte Details eine Zeile mitTABLE_NAME
oderMVIEW_NAME
darin enthält, die Ihnen zeigt, was es ist.Sobald Sie wissen, was es ist, wird es einfacher, zu wissen, wie man es fallen lässt.
quelle
Möglicherweise können Sie das Objekt nicht in den ALL_% -Tabellen sehen, wenn Sie keine Berechtigungen für das Objekt selbst haben. Überprüfen Sie daher die Tabelle DBA_OBJECTS (dazu benötigen Sie Zuschüsse / einen entsprechend gewährten Benutzer):
Wenn dies keine Ausgabe erzeugt, können Sie die Oracle-Datenwörterbuchtabellen mit dieser Abfrage einchecken:
quelle