SELECT owner, table_name
FROM dba_tables
Dit veronderstelt dat u toegang heeft tot de DBA_TABLES
gegevenswoordenboek bekijken. Als u deze privileges niet hebt maar ze wel nodig hebt, kunt u verzoeken dat de DBA u expliciet privileges toekent voor die tabel, of dat de DBA u de SELECT ANY DICTIONARY
geeft. privilege of de SELECT_CATALOG_ROLE
rol (met beide kunt u een willekeurige datadictionary-tabel doorzoeken). Natuurlijk wilt u misschien bepaalde schema's uitsluiten, zoals SYS
en SYSTEM
die grote aantallen Oracle-tabellen hebben waar u waarschijnlijk niets om geeft.
Als alternatief, als u geen toegang heeft tot DBA_TABLES
, kunt u alle tabellen zien waartoe uw account toegang heeft via de ALL_TABLES
bekijken:
SELECT owner, table_name
FROM all_tables
Hoewel, dat kan een subset zijn van de tabellen die beschikbaar zijn in de database (ALL_TABLES
toont u de informatie voor alle tabellen waartoe uw gebruiker toegang heeft gekregen).
Als u zich alleen bezighoudt met de tabellen waarvan u de eigenaar bent, niet met de tabellen waartoe u toegang heeft, kunt u USER_TABLES
gebruiken :
SELECT table_name
FROM user_tables
Sinds USER_TABLES
heeft alleen informatie over de tafels die je bezit, het heeft geen OWNER
kolom – de eigenaar ben jij per definitie.
Oracle heeft ook een aantal verouderde weergaven van datadictionary-- TAB
, DICT
, TABS
, en CAT
dat zou bijvoorbeeld kunnen worden gebruikt. Over het algemeen raad ik het gebruik van deze verouderde weergaven niet aan, tenzij je je scripts absoluut moet backporten naar Oracle 6. Oracle heeft deze weergaven al heel lang niet gewijzigd, dus ze hebben vaak problemen met nieuwere typen objecten. Bijvoorbeeld de TAB
en CAT
weergaven tonen beide informatie over tabellen die zich in de prullenbak van de gebruiker bevinden, terwijl de [DBA|ALL|USER]_TABLES
weergaven filteren die allemaal eruit. CAT
toont ook informatie over gematerialiseerde weergavelogboeken met een TABLE_TYPE
van "TABEL", wat waarschijnlijk niet is wat u echt wilt. DICT
combineert tabellen en synoniemen en vertelt u niet wie de eigenaar is van het object.