Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak mogę uzyskać pełną definicję (sql) widoków systemowych, takich jak user_objects?

+1 za przeglądanie definicji widoków systemowych!

Pierwszy problem (pusty DBMS_METADATA) to problem z uprawnieniami. Według dokumentacji , zwykli użytkownicy zobaczą tylko własne obiekty. Będziesz potrzebować roli SELECT_CATALOG_ROLE lub EXP_FULL_DATABASE aby zobaczyć obiekty innych użytkowników.

Drugi problem (SQL nie jest kompletny) pochodzi z typu danych DŁUGI , którego - według Oracle - nie powinno się już używać. Jednak nadal jest używany przez Oracle do definicji widoków, wartości domyślnych, tekstu ograniczeń itp. Ponieważ jest tak trudny w obsłudze, widok ALL_VIEWS ma oryginalny tekst w LONG kolumna i obcięty tekst, głównie pierwsze 4000 znaków, w kolumnie text_vc , prawdopodobnie dla "tekstu w varchar".

EDYCJA:

Wierzę, że używasz Oracle 12, gdy wspominasz kolumnę text_vc , który nie jest dostępny w Oracle 11. Przypuszczalnie używasz skonteneryzowanej bazy danych. Jeśli tak, spójrz na Architektura słownika danych w CDB . Najwyraźniej definicja dostarczanych przez Oracle elementów, takich jak widoki i pakiety, jest widoczna tylko w kontenerze głównym. Westchnienie!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zastąpić nową linię w Oracle

  2. Oracle DBMS — Odczytaj tabelę przed przetwarzaniem Aktualizacja w wyzwalaczu PO — tabela mutująca

  3. Schemat Star vs Snowflake w hurtowni danych?

  4. Wydajne sprzężenie ze skorelowanym podzapytaniem

  5. Nieprawidłowy identyfikator w podwójnie zagnieżdżonym zapytaniu z ORDER BY i ROWNUM