今回は異種データベースレプリケーションでサポートされる RDBMS とバージョンについてご案内させて頂きます。
弊社側にお寄せいただく異種データベースレプリケーションのお問い合わせの多くは相手が Oracle Database のものになります。
その為、本文書では Oracle Database を中心に紹介いたしますが、原則的に確認方法は他の RDBMS も同様です。
この機能自体は非推奨機能ではありますが、対 Oracle Database に関してどのバージョンが現在のサポータブルなのかがわかりにくい為、本文書で補足いたします。
異種パブリケーションの廃止について
Microsoft SQL Server 2012 がリリースされたタイミングで異種データベースレプリケーションは廃止される事が決定しております。
本文書がターゲットとしている Oracle Database と SQL Server を同期させる Oracle Publisher や Oracle Subscriber もその対象であり、以下の様に将来の廃止予定機能として公開されております。
異種データベースレプリケーション
https://msdn.microsoft.com/ja-jp/library/ms151149(v=sql.110).aspx
SQL Server 2012 は、トランザクション レプリケーションとスナップショット レプリケーションに対する次の異種シナリオをサポートします。
・Oracle から SQL Server へのデータのパブリッシュ
・SQL Server から SQL Server 以外のサブスクライバーへのデータのパブリッシュ
SQL Server 以外のサブスクライバーへの異種レプリケーションは推奨されません。 Oracle パブリッシングは推奨されません。
データを移動するには、変更データキャプチャと SSIS を使用してソリューションを作成します。
—-
注意
—-
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。
新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。
ただし、将来的に廃止される事が明記されているものの、現時点(2017年3月時点)ではこの機能自体はまだ残されています。
その為、SQL Server がサポートしている RDBMS のバージョンの範囲内でご利用を頂く事は可能です。
サポート対象となる Oracle Database バージョンについて
上記説明だけをみるとどの Oracle Database バージョンがサポートされるのか、と疑問に思われる事かと思います。
その答えはシステムデータベース内に存在しています。異種データベースレプリケーションがサポート対象とする RDBMS とそのバージョンは msdb 内のシステムテーブルである MSdbms に登録されています。
このリストに合致する RDBMS及び該当バージョンのみがサポート対象となります。以下は SQL Server 2016 上で MSdbms を検索した結果です。
※このクエリの結果は SQL Server 2012 及び SQL Server 2014 も同様です。
上記の結果より、Microsoft SQL Server(現時点のメインストリームサポート期間中の 2012/2014/2016) がサポートしている Oracle Database は Oracle Database 11g までが対象となります。
つまり、現時点(2017年3月時点)で最新のリリースであるOracle Database 12c はその対象になっておらず、サポートされていません。
その為、Oracle Database 12c を接続する異種レプリケーション構成下で起こった問題は不具合の修正や機能の追加は行われません。
異種データベースレプリケーションに代わる機能
異種データベースレプリケーションが廃止された将来のリリースでは SQL Server Integration Services を使い、スナップショットレプリケーションの様なデータフローを作成するか、Change Data Capture Service for Oracle by Attunity (CDC for Oracle) の機能をご利用ください。
[参考情報]
Change Data Capture Service for Oracle by Attunity
なお、上記文書通り、CDC for Oracle がサポートする Oracle Database は 2017年3月時点では以下のものをサポートしています。
こちらは Classic Install(マルチテナントではない) 制限付きではありますが、 Oracle Database 12cをサポートします。
2017年4月時点