For an Oracle JDBC driver documenting driver-level SOCKS support, pass these through the existing connection setup:

properties.setProperty("oracle.net.socksProxyHost", "127.0.0.1");
properties.setProperty("oracle.net.socksProxyPort", "1080");

They select the intermediary, not a replacement database host, service or login. Confirm the installed driver supports them and the connection factory actually passes that property source. For a publicly reachable database on a route that permits public intermediaries, the SOCKS proxy list offers candidates to match to that driver's SOCKS support. Confirm access to every actual database or discovered endpoint and port, retaining the database account and TLS settings. Use that public branch only with proxy-account inputs unset; do not carry an existing proxy username or password to the candidate.

FeaturePurpose
SOCKS propertiesA supported network relay path
HTTPS proxy propertiesAnother network-proxy path
Database proxy-user authenticationDatabase identity, not an internet relay

The API also documents oracle.net.socksRemoteDNS; check its availability and behavior for the deployed driver. Generic JVM and Oracle-specific properties are not interchangeable.

Old SOCKS/NIO workarounds need their old driver context. Do not disable transport merely because a historical answer did. After routing works, database protocol, TLS, discovery and authentication still require a compatible connection descriptor and account.

Artiglyn mynjee