Oracle connection compression? Oracle connection compression? oracle oracle

Oracle connection compression?


I don't know specifics about Oracle's thin and OCI drivers. But you could use SSH tunnels to achieve compression.

  1. So, in your Oracle machine, you setup a SSH daemon. If your Oracle server is running under RedHat Linux, you're done
  2. On your client machine (the one that hosts your application that connects through JDBC) setup a SSH connection, enabling a compressed tunnel. You can use command line SSH or Putty (if you are under windows) to do that.

Setup the connection to something like this:

$ ssh -L1521:localhost:1521 username@oracleserver_ip

Then, in your application, use localhost:1521 as Oracle's address.


In my experience, high latency harms performance using the Oracle JDBC drivers far more than low bandwidth. (at least in the application I work on). You say you aren't worried about latency, but could you give an estimate on the latency of your low-bandwidth environment?

How big is the data you're sending? Are there BLOB columns? Are there other technologies involved, like a connection pool, or Hibernate? There are a lot of potential factors, not just if your data is being compressed.

Have you done any WAN emulation to try to isolate what is degrading your performance most? WANem is pretty easy to setup.

I've spent weeks on this problem, and 100-200ms latency hurt us much more than a 1Mbit bandwidth limitation. Hopefully you are in a different boat - compression an easier problem to solve.


To directly answer the question, the drivers (thin or OCI) have no such mechanism for compression. And since the data sent is likely in some funky binary format I'm not sure that it will compress well over SSL. Some other mechanism for improving network performance will need to be employed.