Per visualizzare tutte le tabelle in un altro schema, devi disporre di uno o più dei seguenti privilegi di sistema:
SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE
o il martello grosso, il ruolo di DBA.
Con uno di questi, puoi selezionare:
SELECT DISTINCT OWNER, OBJECT_NAME
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
Senza quei privilegi di sistema, puoi vedere solo le tabelle a cui ti è stato concesso un certo livello di accesso, direttamente o tramite un ruolo.
SELECT DISTINCT OWNER, OBJECT_NAME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
Infine, puoi sempre interrogare il dizionario dei dati per le tue tabelle, poiché i tuoi diritti sulle tue tabelle non possono essere revocati (a partire da 10 g):
SELECT DISTINCT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'