I'm little bit confused about which implementation is better to use on production server? Are there any reason why not pick OpenJDK?
Which version the JDK are you interested in? If it's version 7 and above, then almost all code is shared between Oracle Java and Open JDK.
Check this - Moving to OpenJDK as the official Java SE 7 Reference Implementation. The OpenJDK is the open-source implementation of the Java SE 7 JSR (JSR 336). Now there is very little difference between the Oracle JDK and the OpenJDK.
Also check this Q&A
Q: What is the difference between the source code found in the OpenJDK repository, and the code you use to build the Oracle JDK?
A: It is very close - our build process for Oracle JDK releases builds on OpenJDK 7 by adding just a couple of pieces, like the deployment code, which includes Oracle's implementation of the Java Plugin and Java WebStart, as well as some closed source third party components like a graphics rasterizer, some open source third party components, like Rhino, and a few bits and pieces here and there, like additional documentation or third party fonts. Moving forward, our intent is to open source all pieces of the Oracle JDK except those that we consider commercial features such as JRockit Mission Control (not yet available in Oracle JDK), and replace encumbered third party components with open source alternatives to achieve closer parity between the code bases.OpenJDK 7 above is quite stable. It is the default VM on quite a few Linux distros.
However, why do you not want to use Oracle/Sun JRE/JDK?