sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag få den fullständiga definitionen (sql) av systemvyer som user_objects?

+1 för att titta på definitionerna av systemvyerna!

Det första problemet (DBMS_METADATA tomt) är ett privilegieproblem. Enligt dokumentationen , normala användare ser bara sina egna objekt. Du behöver rollen SELECT_CATALOG_ROLE eller EXP_FULL_DATABASE för att se andra användares objekt.

Det andra problemet (SQL är inte komplett) kommer från datatypen LÅNG , som - enligt Oracle - inte ska användas längre. Det används dock fortfarande av Oracle för vydefinitioner, standardinställningar, begränsningstext etc. Eftersom det är så svårt att hantera, vyn ALL_VIEWS har originaltexten i LONG kolumn och en trunkerad text, mestadels de första 4000 tecknen, i kolumnen text_vc , förmodligen för "text i varchar".

EDIT:

Jag tror att du använder Oracle 12 när du nämner kolumnen text_vc , som inte är tillgängligt i Oracle 11. Förmodligen använder du en containeriserad databas. Om så är fallet, ta en titt på Dataordboksarkitektur i en CDB . Tydligen är definitionen av Oracle-levererade saker som vyer och paket endast synliga i rotbehållaren. Suck!!



  1. SQL-syntax för om det finns

  2. Logga in varningar i en tabell

  3. Hitta datum mellan startdatum och slutdatum

  4. Teckenuppsättningskodningar och lagringsstorleksfaktorer