Lo que sucede es que el cliente JDBC envía el ID de zona horaria al servidor. El servidor necesita conocer esa zona. Puedes consultar con
SELECT DISTINCT tzname FROM V$TIMEZONE_NAMES where tzname like 'Etc%';
Tengo algunos servidores de base de datos que conocen 'Etc / UTC' y 'UTC' (tzfile versión 18) pero otros solo conocen 'UTC' (tz versión 11).
SELECT FILENAME,VERSION from V$TIMEZONE_FILE;
También hay un comportamiento diferente en el lado del cliente JDBC. A partir de 11.2, el controlador enviará los ID de zona si es "conocido" por Oracle, mientras que antes enviaba la diferencia horaria. El problema con este "envío de ID conocidos" es que el cliente no comprueba qué versión / contenido de zona horaria está presente en el servidor, pero tiene su propia lista.
Esto se explica en el artículo de soporte de Oracle [ID 1068063.1].
Parece que también depende del sistema operativo del cliente, era más probable que Etc / UTC fallara con Ubuntu que con RHEL o Windows. Supongo que esto se debe a una cierta normalización, pero no he descubierto qué es exactamente.