Po wczorajszych badaniach stwierdziłem, że rozwiązaniem jest użycie uwierzytelniania Oracle Proxy. To rozwiązanie wykracza poza specyfikację JDBC. Jednak Oracle zapewnia hak do wdrożenia takiego rozwiązania. Otwarcie połączenia proxy wyglądałoby następująco:
import oracle.jdbc.OracleConnection;
//Declare variables
String url = "...";
String username = "...";
String password = "...";
//Create the Connection
Connection conn = DriverManager.getConnection(url, username, password);
//Set the proxy properties
java.util.Properties prop = new java.util.Properties();
prop.put(OracleConnection.PROXY_USER_NAME, "BILL");
prop.put(OracleConnection.PROXY_USER_PASSWORD, "password");
//Cast the Connection to an OracleConnection and create the proxy session
((OracleConnection)conn).openProxySession(OracleConnection.PROXYTYPE_USER_NAME, prop);
/* The Connection credentials have now been changed */
Nie zdziwiłbym się, gdyby były z tym związane inne niuanse, ale to dobry początek. Dziękuję wszystkim za pomoc!