Oracle Data Dictionaries
Im Gegensatz zu anderen SQL -Datenbanken wie MySQL oder PostgreSQL verfügt Oracle nicht über einen eigenständigen Befehl, mit dem Sie die Tabellen einer bestimmten Datenbank abrufen können.
Um die Tabellen einer bestimmten Datenbank anzuzeigen, müssen wir die Oracle Data Dictionary -Ansichten verwenden.
In Oracle bezieht sich ein Data Dictionary auf eine Sammlung von nur schreibgeschriebenen Ansichten, die Informationen zu einer bestimmten Datenbank speichern, einschließlich Schemas, Benutzerberechtigungen, Ereignissen usw.
Obwohl die Datenwörterbücher schreibgeschützt sind, können wir die darin gespeicherten Informationen einschließlich der Tabellen abfragen.
Lassen Sie uns untersuchen und erfahren, wie wir mit den Datenwörterbüchern arbeiten können.
Oracle Show -Tabellen, die dem aktuellen Benutzer gehören
Die häufigste Verwendung des Befehls der Showtabellen besteht darin, die Tabellen aufzulisten, die dem aktuellen Benutzer gehören.
Wir können eine Abfrage wie unten gezeigt verwenden:
Wählen Sie table_name aus user_tables;Die vorherige Abfrage sollte alle Tabellennamen zurückgeben, die dem aktuellen Benutzer gehören. Nachfolgend finden Sie eine Beispielausgabe:
Oracle Show -Tabellen, die vom aktuellen Benutzer zugegriffen werden können
In einigen Fällen möchten Sie möglicherweise alle vom aktuellen Benutzer zugänglichen Tabellen trotz der zugewiesenen Berechtigungen anzeigen.
In diesem Fall können wir das All_Tables Data Dictionary wie in der folgenden Anweisung gezeigt abfragen:
Wählen Sie table_name, Eigentümer bei All_Tables wobei besitzer = 'hr' bestellen nach Tabelle_Name, Inhaber;Diese Anforderung listet alle vom aktuellen Benutzer zugegriffenen Tabellen auf, wie in der folgenden Ausgabe gezeigt:
Oracle listet alle Tabellen auf
In sehr minimalen Fällen müssen Sie möglicherweise jedes Mal im gesamten System auflisten. Dafür müssen Sie das Datenwörterbuch dba_table abfragen.
Es ist gut, sich daran zu erinnern, dass das Anfordern einer umfangreichen Datenerfassung mit einem Sortierparameter eine kolossale Leistungsstörung haben kann. Verwendung mit Vorsicht.
Wählen Sie table_name, Eigentümer aus dba_tables;Dies sollte alle Tabellen im System fallen lassen, wie in der folgenden Stichprobenausgabe gezeigt:
HINWEIS: In einigen Fällen können Sie einen Fehler erhalten, wenn Sie:
[42000] [942] ora-00942: Tabelle oder Ansicht existiert nichtIn diesem Fall müssen Sie sich möglicherweise an den Datenbankadministrator wenden, um Berechtigungen für das DBA_Tables -Wörterbuch zu erteilen, wählen Sie eine Wörterbuchberechtigung oder die Select_Catalog_Role aus.
Abschluss
In diesem Beitrag haben Sie verschiedene Methoden und Techniken gelernt, um die Tabellen auf dem Oracle -Server aufzulisten. Sie haben beispielsweise gelernt, wie Sie die Tabellen und DBA -Tabellen der Benutzer auflisten können.