Oracle Data Dictionaries
W przeciwieństwie do innych baz danych SQL, takich jak MySQL lub PostgreSQL, Oracle nie ma samodzielnego polecenia, które pozwala odzyskać tabele danej bazy danych.
Aby pokazać tabele danej bazy danych, musimy użyć widoków słownika Oracle Data.
W Oracle słownik danych odnosi się do zbioru widoków tylko do odczytu, które przechowują informacje o danej bazie danych, w tym schematy, uprawnienia użytkownika, zdarzenia itp.
Chociaż słowniki danych są tylko do odczytu, możemy zapytać o przechowywane w nich informacje, w tym tabele.
Pozwól nam zbadać i dowiedzieć się, w jaki sposób możemy pracować ze słownikami danych.
Oracle pokazują tabele należące do bieżącego użytkownika
Najczęstszym użyciem polecenia TABLE TABLES jest wymienienie tabel należących do bieżącego użytkownika.
Możemy użyć zapytania, jak pokazano poniżej:
Wybierz nazwę Table_name z user_tables;Poprzednie zapytanie powinno zwrócić wszystkie nazwy tabel należących do bieżącego użytkownika. Przykładowe dane wyjściowe podano poniżej:
Oracle pokazują tabele dostępne przez bieżącego użytkownika
W niektórych przypadkach możesz chcieć pokazać wszystkie tabele dostępne przez obecnego użytkownika pomimo przydzielonych uprawnień.
W takim przypadku możemy zapytać o słownik danych All_Tables, jak pokazano w następującym instrukcji:
Wybierz nazwę Table_name, właściciel z all_tables, gdzie właściciel = „hr” zamówienie według nazwy_bolity, właściciel;To żądanie zawiera listę wszystkich tabel dostępnych przez bieżącego użytkownika, jak pokazano przy następujących wyjściach:
Oracle Lista wszystkich tabel
W bardzo minimalnych przypadkach może być konieczne listę listy za każdym razem w całym systemie. W tym celu musisz zapytać o słownik danych DBA_TABLES.
Dobrze jest pamiętać, że żądanie szerokiego zbioru danych o parametrze sortowania może mieć kolosalną wydajność. Używaj ostrożnie.
Wybierz nazwę Table_name, właściciel z dba_tables;Powinno to zrzucić wszystkie tabele w systemie, jak pokazano przy następnym wyjściu przykładowym:
Uwaga: W niektórych przypadkach możesz uzyskać błąd jako:
[42000] [942] ORA-00942: Tabela lub widok nie istniejeJeśli tak się stanie, może być konieczne skontaktowanie się z administratorem bazy danych, aby udzielić uprawnień na słowniku DBA_TABLES, wybierz dowolne uprawnienia do słownika lub Select_Catalog_Role.
Wniosek
W tym poście nauczyłeś się różnych metod i technik, aby wymienić tabele na serwerze Oracle. Na przykład nauczyłeś się wymieniać tabele użytkowników i tabele DBA.