Lo schema standard per la tua connessione attuale è il nome dell'utente che usi per accedere. Quindi, se il tuo utente è SCOTT devi usare SCOTT per DatabaseMetaData.getTables() .
Puoi ottenere il nome utente tramite DatabaseMetaData.getUserName() .
Ma ricorda che il confronto di schema/nome utente fatto nel driver JDBC fa distinzione tra maiuscole e minuscole e normalmente i nomi utente sono in maiuscolo.
Non sono sicuro al 100% se DatabaseMetaData.getUserName() restituirà il nome nel caso corretto in tutte le situazioni. Per essere sicuro, potresti voler fare un upperCase() prima di usare quel valore.