El esquema estándar para su conexión actual es el nombre del usuario que usa para iniciar sesión. Entonces, si su usuario es SCOTT tienes que usar SCOTT para DatabaseMetaData.getTables() .
Puede obtener el nombre de usuario a través de DatabaseMetaData.getUserName() .
Pero recuerde que la comparación de esquema/nombre de usuario realizada en el controlador JDBC distingue entre mayúsculas y minúsculas y normalmente los nombres de usuario están en mayúsculas.
No estoy 100% seguro si DatabaseMetaData.getUserName() devolverá el nombre en el caso correcto en todas las situaciones. Para estar seguro, es posible que desee hacer un upperCase() antes de usar ese valor.