Oracle の各種バージョン毎の接続可否一覧表(support matrix)
今、お仕事で Oracle 10g R1 関連のお仕事をしています。Oracle って下位互換性が完全にあるわけではないので、意外と見落としがちになるのが移行作業。単純に export / import をすれば動作するというものじゃぁないのです。
Oracle が公開している「Oracle 8、8i から Database 10g へのアップグレード」の情報に詳しい手順がかかれていますが、移行手順的にはもう少しパターンが考えられそう。そこで情報をまとめてみました。
- スポンサーリンク -
以下の図は、僕が移行するならこうやるという意味で書いています。
メリット | デメリット | |
DBUA |
|
|
Exp / Imp |
|
|
DB-Link + CTAS / Copy |
|
|
僕的におすすめの移行手順は、
- R8.1.6 → R8.1.7 のようなメンテナンス・リリース番号レベルのバージョンアップであれば、DBUA を使ってデータベースをアップグレードする
- R8.1.6 → R10.1.0 のようなメンテナンス・リリース番号レベルのバージョンアップであれば、Exp/Imp もしくは、データコピー(DB-Link + CTAS/Copy) を使ってデータベース移行する
です。この手順の意味するところは2点。
- 意外とテスト環境の時のようにうまくいかない場合がある。移行に失敗したときを考慮し、即座切り戻しが可能とすること。
- Oracle のデータベース移行するくらい続くサービスであれば、移行時に領域再設計とか断片化の解消を実行する良い機会。
なんてことを考えると、Oracle のデータベース移行のベストソリューションは、Exp/Imp もしくは DB-Link + CTAS / Copy だと思います。
ちなみに、Oracle が公式にサポートしているバージョン間の互換性というか接続可否は下記の通りです(手持ちの R8.1.6 の情報を加えてみました)。各バージョンのターミナルバージョンを使っていない場合、意外と接続できなくてヤバスなんて場合が多いです。
※参考:Oracleシステム製品データベース対応一覧表
接続先データベース | ||||||||
接続元データベース | 7.3.4 | 8.0.6 | 8.1.6 | 8.1.7 | 9.0.1 | 9.2.0 | 10.1.0 | 10.2.0 |
Oracle7 R7.3.4 | ○ | ○ | ○ | ○ | ○ | × | × | × |
Oracle8 R8.0.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
Oracle8i R8.1.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
Oracle8i R8.1.7 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Oracle9i Database Release 1 (9.0.1) | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × |
Oracle9i Database Release 2 (9.2.0) | × | ○ | ○ | ○ | ○ | ◎ | ◎ | ◎(※4) |
Oracle Database 10g Release 1 (10.1.0) | × | × | × | ○(※3) | ○ | ◎ | ◎ | ◎ |
Oracle Database 10g Release 2 (10.2.0) | × | × | × | ○ | × | ◎(※4) | ◎ | ◎ |
接続元 SQL *Net / Net8 / Oracle Net | 7.3.4 | 8.0.6 | 8.1.6 | 8.1.7 | 9.0.1 | 9.2.0 | 10.1.0 | 10.2.0 |
SQL*Net | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
Net8 R8.0.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
Net8 R8.1.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
Net8 R8.1.7 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Oracle Net R9.0.1 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × |
Oracle Net R9.2.0 | × | ○ | ○ | ○ | ○ | ◎ | ◎ | ◎(※4) |
Oracle Net R10.1.0 | × | × | × | ○(※3) | ○ | ◎ | ◎ | ◎ |
Oracle Net R10.2.0 | × | × | × | ○ | × | ◎(※4) | ◎ | ◎ |
接続元 JDBC Thin | 7.3.4 | 8.0.6 | 8.1.6 | 8.1.7 | 9.0.1 | 9.2.0 | 10.1.0 | 10.2.0 |
JDBC Thin R8.0.6 | ○ | ○ | ? | × | × | × | × | × |
JDBC Thin R8.1.6 | ○ | ○ | ○ | ? | × | × | × | × |
JDBC Thin R8.1.7 | ○ | ○ | ? | ○ | ○(※1) | × | ○(※2) | ○(※2) |
JDBC Thin R9.0.1 | ○ | ○ | ? | ○ | ○ | × | × | × |
JDBC Thin R9.2.0 | × | × | ? | ○ | ○ | ◎ | ◎(※2) | ◎(※2) |
JDBC Thin R10.1.0 | × | × | × | ○ | ○ | ◎ | ◎ | ◎ |
JDBC Thin R10.2.0 | × | × | × | ○ | × | ◎(※4) | ◎ | ◎ |
接続元 JDBC OCI | 7.3.4 | 8.0.6 | 8.1.6 | 8.1.7 | 9.0.1 | 9.2.0 | 10.1.0 | 10.2.0 |
JDBC OCI R8.0.6 | ○ | ○ | ? | × | × | × | × | × |
JDBC OCI R8.1.6 | ○ | ○ | ○ | ? | × | × | × | × |
JDBC OCI R8.1.7 | ○ | ○ | ○ | ○ | ○(※1) | × | ○(※2) | ○(※2) |
JDBC OCI R9.0.1 | ○ | ○ | ? | ○ | ○ | × | × | × |
JDBC OCI R9.2.0 | × | × | ? | ○ | ○ | ◎ | ◎(※2) | ◎(※2) |
JDBC OCI R10.1.0 | × | × | × | ○ | ○ | ◎ | ◎ | ◎ |
JDBC OCI R10.2.0 | × | × | × | ○ | × | ◎(※4) | ◎ | ◎ |
接続元 OCI | 7.3.4 | 8.0.6 | 8.1.6 | 8.1.7 | 9.0.1 | 9.2.0 | 10.1.0 | 10.2.0 |
OCI R8.0.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
OCI R8.1.6 | ○ | ○ | ○ | ○ | ○ | ○ | × | × |
OCI R8.1.7 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
OCI/OCCI R9.0.1 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × |
OCI/OCCI R9.2.0 | × | ○ | ○ | ○ | ○ | ◎ | ◎ | ◎(※4) |
OCI/OCCI R10.1.0 | × | × | × | ○(※3) | ○ | ◎ | ◎ | ◎ |
OCI/OCCI R10.2.0 | × | × | × | ○ | × | ◎(※4) | ◎ | ◎ |
備考 ◎:接続可 (推奨される組み合わせ) / ○:接続可 / ×:接続不可 ※1 Oracle JDBC Thin Driverは R8.1.7.2以降、Oracle JDBC OCI DriverはR8.1.7.0から対応します。 ※2 Oracle JDBC Driver R8.1.7.4、Oracle JDBC Driver 9.2.0.4以降でそれぞれOracleDatabase 10g Release 1 (10.1.0)およびOracle Database 10g Release 2 (10.2.0)との接続をサポートします。 ※3 Oracle Net R10.1.0は、Oracle8i R8.1.7以降に対応します。Oracle Net R10.1.0を使用する製品に関してもOracle8iR8.1.7以降に対応します。Oracle Net R10.1.0.2およびOracle Net R10.1.0.2を使用する製品の場合には、Oracle8iR8.1.7.4以降に対応します。 ※4 Oracle Net R9.2.0.4以降で、Oracle Database 10g Release 2 (10.2.0)への接続に対応します。 また、Oracle Net R10.2.0では、Oracle9i Database Release 2 (9.2.0.4)以降への接続に対応します。 |
- スポンサーリンク -