SELECT owner, table_name
FROM dba_tables
Dies setzt voraus, dass Sie Zugriff auf DBA_TABLES
haben Ansicht des Datenwörterbuchs. Wenn Sie diese Berechtigungen nicht haben, sie aber benötigen, können Sie anfordern, dass der DBA Ihnen explizit Berechtigungen für diese Tabelle erteilt, oder dass der DBA Ihnen das SELECT ANY DICTIONARY
erteilt Privileg oder die SELECT_CATALOG_ROLE
Rolle (mit beiden können Sie jede Datenwörterbuchtabelle abfragen). Natürlich möchten Sie vielleicht bestimmte Schemas wie SYS
ausschließen und SYSTEM
die eine große Anzahl von Oracle-Tabellen haben, die Sie wahrscheinlich nicht interessieren.
Alternativ, wenn Sie keinen Zugriff auf DBA_TABLES
haben , können Sie über ALL_TABLES
alle Tabellen sehen, auf die Ihr Konto Zugriff hat Ansicht:
SELECT owner, table_name
FROM all_tables
Obwohl dies eine Teilmenge der in der Datenbank verfügbaren Tabellen sein kann (ALL_TABLES
zeigt Ihnen die Informationen für alle Tabellen, auf die Ihrem Benutzer Zugriff gewährt wurde).
Wenn Sie nur an den Tabellen interessiert sind, die Ihnen gehören, und nicht denen, auf die Sie Zugriff haben, können Sie USER_TABLES
verwenden :
SELECT table_name
FROM user_tables
Seit USER_TABLES
hat nur Informationen über die Tabellen, die Sie besitzen, es hat keinen OWNER
Spalte – der Eigentümer sind per Definition Sie.
Oracle hat auch eine Reihe von Legacy-Data-Dictionary-Ansichten – TAB
, DICT
, TABS
, und CAT
zum Beispiel - das könnte verwendet werden. Im Allgemeinen würde ich die Verwendung dieser Legacy-Ansichten nicht empfehlen, es sei denn, Sie müssen Ihre Skripte unbedingt auf Oracle 6 zurückportieren. Oracle hat diese Ansichten seit langem nicht geändert, sodass sie häufig Probleme mit neueren Objekttypen haben. Zum Beispiel das TAB
und CAT
Ansichten zeigen beide Informationen über Tabellen, die sich im Papierkorb des Benutzers befinden, während die Ansicht [DBA|ALL|USER]_TABLES
Ansichten alle filtern diese heraus. CAT
zeigt auch Informationen über Materialized View Logs mit einem TABLE_TYPE
von "TABLE", was wahrscheinlich nicht das ist, was Sie wirklich wollen. DICT
kombiniert Tabellen und Synonyme und sagt Ihnen nicht, wem das Objekt gehört.