手元にあるOracle JDBC ドライバのバージョンはどうやって調べるのか?
Oracle Database JDBC開発者ガイド(12.1)に記載があります。
JDBCドライバのバージョンを確認するには、次のサンプル・コードのように、OracleDatabaseMetaDataクラスのgetDriverVersionメソッドをコールします。
import java.sql.*; import oracle.jdbc.*; import oracle.jdbc.pool.OracleDataSource; class JDBCVersion { public static void main (String args[]) throws SQLException { OracleDataSource ods = new OracleDataSource(); ods.setURL("jdbc:oracle:thin:HR/hr@<host>:<port>:<service>"); Connection conn = ods.getConnection(); // Create Oracle DatabaseMetaData object DatabaseMetaData meta = conn.getMetaData(); // gets driver info: System.out.println("JDBC driver version is " + meta.getDriverVersion()); } }次のコマンドを実行すると、JDBCドライバのバージョンを確認できます。
スタート・ガイド
JDBC ドライバのバージョンを調べるだけであれば、コマンド実行のほうが使いやすいと思います。
OTNサイトの Oracle JDBC ドライバのバージョンはどうやって調べるのか?
現時点でOTN (Oracle Technology Network)の Oracle JDBC ドライバダウンロードページは以下の記載となっています。
Oracle Database 12c Release 1 (12.1.0.2) drivers
Oracle Database 12c Release 1 (12.1.0.1) drivers
Oracle Database 11g Release 2 (11.2.0.4), (11.2.0.3), (11.2.0.2.0), (11.2.0.1.0) drivers
一見すると Oracle Database のバージョン毎にドライバが用意されているようも見えますが、実際には Oracle JDBC ドライバのバージョンと一致していました。例えば、"Oracle Database 12c Release 1 (12.1.0.2) drivers "からダウンロードした Oracle JDBC ドライバのバージョンは"12.1.0.2"です。
念のため、複数の Oracle JDBC ドライバをダウンロードし、バージョンが一致していることを確認しています。
商用/本番環境で利用する Oracle JDBC ドライバはどこから入手すべきか?
OTNのダウンロードページ(ソフトウェア・ダウンロード)からダウンロードしたソフトウェアはOTN開発者ライセンスがつきます。OTN開発者ライセンス付きのソフトウェアはアプリケーションの開発・テストなどに利用できますが、商用または本番利用には使用できません。
正規ライセンス付きの製品は以下のサイトからダウンロードしてください。
Oracle Software Delivery Cloud
パッチに関しては以下のサイトを参照ください。
Oracle Configuration Support Manager
詳細についてはOTNのソフトウェア・ダウンロードページを参照ください。
ソフトウェア・ダウンロード
実際の開発では利用するドライバのバージョンを指定もしくは制約されることがあるかと思います。可能な限り早いタイミングでDBAもしくはインフラ担当者と相談し、正規ライセンス付きのドライバを入手することをお勧めします。
Oracle Database と Oracle JDBC ドライバのバージョンの関係
Oracle Database JDBC開発者ガイド(12.1)に互換性についての記載があります。
Oracle JDBCドライバのバージョン互換性
スタート・ガイド
この項では、一般的なJDBCバージョンの互換性について説明します。
下位互換性
Oracle Database 12cリリース1 (12.1) JDBCドライバは、現在サポートされているOracle Databaseリリース(11.x.0.x)で認定されています。ただし、10.2.x、10.1.x、9.2.xおよび9.0.1.xなどの旧リリースですでにサポート期間が終了しているデータベース・リリースへの接続はサポートしません。
上位互換性
既存のサポートされているJDBCドライバは、Oracle Database 12cリリース1 (12.1)で動作することが確認されています。
Oracleのブログでも Oracle JDBC ドライバの互換性について説明しています。
JDBCドライバの最新機能を利用するためには、JDBCドライバのバージョンが使用中のOracleデータベースのバージョンと常に同じか、またはOracleデータベースよりも高いバージョンにすることをお勧めします。
【Oracle JDBC】Oracle Databaseの対応バージョンと最新機能 (Oracle Technology Network Japan Blog)
Oracle JDBC ドライバのサポート期間
Oracle JDBC ドライバのサポート期間について、Oracle のライフタイム・サポートの説明には明確な記載がありません。
ライフタイム・サポート
恐らくは Oracle JDBC ドライバのバージョンに対応する Oracle Database のサポート期間に従うものと思われます。
Oracle Lifetime Support Policy の資料から Oracle Database のサポート期間を抜粋します。
http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
バージョン | GA | Premier Support 終了 | Extended Support 終了 |
---|---|---|---|
Enterprise Edition 12.1 | 2013/06 | 2018/07 | 2021/07 |
11.2 | 2009/09 | 2015/01 | 2020/12 |
11.1 | 2007/08 | 2012/08 | 2015/08 |
10.2 | 2005/07 | 2010/07 | 2013/07 |
「Oracle Database JDBC開発者ガイド(12.1)」でサポート対象データベースの完全な最新リストとして以下の表を参照するように記載されています。
Oracle JDBC Frequently Asked Questions
Interoperability Matrix Database 12.1.0.x Database 11.2.0.x Database 11.1.0.x JDBC 12.1.0.x Yes Yes Yes JDBC 11.2.0.x Yes Yes Yes JDBC 11.1.0.x Yes Yes Yes
Database / JDBC 10.2.0.x との組み合わせは記載されておらず、サポート対象外となっています。
なお、Oracleのブログではこのような表が掲載されています。
What's New in Oracle JDBC? (OTN DBA/DEV Watercooler)
Interoperability Matrix Database 12.1.0.x Database 11.2.0.x Database 11.1.0.x Database 10.2.0.x JDBC 12.1.0.x Yes Yes Yes Yes JDBC 11.2.0.x Yes Yes Yes Yes JDBC 11.1.0.x Yes Yes Yes Yes JDBC 10.2.0.x Yes Yes Yes Yes
このエントリは2014/07/08にアップされており、Oracle Database 10.2 のサポート期間だったわけではありません。ですが、Database / JDBC 10.2.0.x との組み合わせをInteroperability(相互運用性)Yesとして記載しています。
この記載の違いと「Oracle Database JDBC開発者ガイド(12.1)」の互換性についての記載から推測するに、サポート期間内の Oracle Databse / Oracle JDBC ドライバは同じくサポート期間内の別バージョンに対しても接続を保証する方針のようです。ただし、いずれかのサポート期間終了とともにサポート対象外となることに注意が必要です。
Oracle JDBC ドライバのJDKサポート
Oracle 11.1 から JDK 1.4以前のサポートが打ち切られました。今後もどこかのタイミングでサポートするJDKのバージョン引き上げが行われるものと思われます。
Oracle JDBC ドライバはいつリリースされるのか?
Oracle JDBC ドライバ のリリース(出荷)日に関する明確な記載は見つかりませんでした。
ただ、Oracleのブログの Oracle JDBC ドライバの互換性について説明しているエントリで以下の記載がありました。
JDBCドライバの最新機能を利用するためには、JDBCドライバのバージョンが使用中のOracleデータベースのバージョンと常に同じか、またはOracleデータベースよりも高いバージョンにすることをお勧めします。
【Oracle JDBC】Oracle Databaseの対応バージョンと最新機能 (Oracle Technology Network Japan Blog)
ということは、Oracle Database がリリースされるタイミングではそれに対応した最新のJDBCドライバが用意されている可能性が高く、おそらくは同時リリースされると思われます。