DBMotoはIBM i(AS/400)と
SQL ServerやOracle等とのリアルタイム・レプリケーションに多くの実績を持っています。
こんなご要望にDBMotoがお応えします
- AS/400のデータを他種データベースに対してリアルタイムに同期を取りたい
- AS/400のデータの一部を他部署のシステムで利用したい
- AS/400から他種データベースにすぐには移行できない
- 他社のレプリケーションツールは価格が高い
- 基幹データベースのBCP対策をしたい
- CCSID 5026/5035の日本語文字やCCSID 65535のバイナリ文字をレプリケーションしたい
導入事例
実際にDBMotoを使用してAS/400からのレプリケーションを構築しているユーザ様の声です。
実際に導入されたユーザ様の声を参考に、DBMotoをご検討ください。
IBM i(AS/400)-SQLServer間でのDBMoto活用例
DBMotoを利用することで、IBM i(AS/400)の必要なデータのみをリアルタイムに他種データベースへレプリケーション(転送)可能です。
上の図ではAS/400からレプリケーションされたSQL Serverのデータを、社内システムやWebアプリケーション、レポーティングツールでの活用、更にはWindows用アプリケーションで活用する例です。
AS/400のみの場合は、アプリケーションからのデータの登録・更新・削除・参照がすべてAS/400に対して行われますが、レプリケーションによってアプリケーションのデータの参照はSQL Server側に任せることができるので、不可軽減のメリットもあります。
IBM i(AS/400)と他のDb2(LUWとz/OS)間でのDBMoto活用例
DBMotoを活用することでAS/400で使用しているDb2 for i(Db2/400)と他のDb2(for LUW とz/OS)間でのリアルタイムなデータ・レプリケーションが可能です。これによりデータベース間でのシームレスなデータ連携が可能で、データの移行・連係、負荷分散、障害対策などに活用することができます。
3つのレプリケーションモード
DBMotoは下記の3つのレプリケーションモードに対応しています。
【特徴】
ソース(複製元)のAS/400のすべてのレコードをスキャンして、ターゲットのDBに対して全レコードをレプリケーションします。
バルクインサート方式を採用しており、高速なデータ転送が可能です。
【用途】
差分レプリケーションを行う前の初期レプリケーションとしてまずは実行するケースが多いです。
その他、スケジュール設定によって例えば毎週日曜日にリフレッシュするようなことも可能です。
【特徴】
ソース(複製元)のAS/400のジャーナル・レシーバを定期的(デフォルト:60秒おき)に参照し、更新されたトランザクションがある場合にターゲット(複製先)のDBに対して差分レプリケーションします。
【用途】
定期的に差分のみデータをリアルタイムにレプリケーションする際に使用します。
必要なデータのみを転送することで、ターゲット(複製先)に合わせたアプリケーションからのデータ参照が可能です。
【特徴】
ソース(複製元)のAS/400のジャーナル・レシーバとターゲットDBのトランザクションログやトリガーログを定期的(デフォルト:60秒おき)にを参照し、更新されたトランザクションがある場合に双方向に差分レプリケーションします。
【用途】
定期的に差分のみデータをリアルタイムにレプリケーションする際に使用します。
ソース(複製元)とターゲット(複製先)でリアルタイムな増分アップデートが必要なアプリケーションに最適です。
さらに詳しい内容はこちら
CCSID 5026/5035の日本語文字とCCSID 65535のバイナリ文字に対応
CCSID 5026/5035をサポートしているため、AS/400の日本語文字も他種DBに対して文字化けすることなくレプリケーション可能です。CCSID 290/1027に日本語文字を持つ特殊なテーブルの場合でも、DBMotoの機能でカラム単位でCCSID変換を設定することで文字化けを回避できます。また、CCSID 65535のバイナリ文字を通常の文字列へ変換するオプションが用意されています。
CCSID変換設定画面 CCSID290/1027からの変換で使用
CCSID変換設定画面 CCSID290/1027からの変換で使用
文字コード・データタイプの自動変換
DBMotoは文字コードEBCDICであるAS/400から取得したデータをUnicodeへ変換し、ターゲットの文字コードに合わせて自動変換します。このためDBの文字コードの差異を意識する必要はありません。
IBM i(AS/400)とDB2で対応文字コードが異なります。
IBM i(AS/400)
CCSID | エンコード | 備考 |
00037 | 1100 | 米国、カナダ、オランダ、ポルトガル、ブラジル、ニュージーランド、オーストラリア |
00273 | 1100 | オーストリア、ドイツ |
00277 | 1100 | デンマーク、ノルウェー |
00278 | 1100 | フィンランド、スウェーデン |
00280 | 1100 | イタリア |
00284 | 1100 | スペイン、ラテンアメリカ |
00285 | 1100 | 英国 |
00297 | 1100 | フランス |
00424 | 1100 | ヘブライ語 |
00500 | 1100 | ベルギー、カナダ、スイス、国際 Latin 1 |
00870 | 1100 | Latin 2 多国語 |
00871 | 1100 | アイスランド |
00875 | 1100 | ギリシャ |
01026 | 1100 | トルコ Latin 5 CECP |
00290 | 1100 | 日本カタカナ |
01027 | 1100 | 日本英語 (拡張範囲) |
00933 | 1301 | 韓国語 (拡張範囲)、1880 UDC |
00935 | 1301 | 中国語 (簡体字) (拡張範囲) |
00937 | 1301 | 中国語 (繁体字) (拡張範囲) |
04396 | 1200 | 日本語ホスト DB (1880 を含む) |
05026 | 1301 | 日本語カタカナ (拡張範囲) 1880 UDC |
05035 | 1301 | 日本英語 (拡張範囲) 1880 UDC |
01140 | 1100 | ECECP: 米国、カナダ、オランダ、ポルトガル、ブラジル、オーストラリア、ニュージーランド |
01141 | 1100 | ECECP: 米国、カナダ、オランダ、ポルトガル、ブラジル、オーストラリア、ニュージーランド |
01142 | 1100 | ECECP: デンマーク、ノルウェー |
01143 | 1100 | ECECP: フィンランド、スウェーデン |
01144 | 1100 | ECECP: イタリア |
01145 | 1100 | ECECP: スペイン、ラテンアメリカ (スペイン語) |
01146 | 1100 | ECECP: イギリス |
01147 | 1100 | ECECP: フランス |
01148 | 1100 | ECECP: インターナショナル 1 |
01149 | 1100 | ECECP: アイスランド |
00420 | 1100 | アラビア語圏 |
00838 | 1100 | タイ (拡張範囲) |
全て表示するコード表をたたむ
DB2
CCSID | エンコード | 備考 |
00037 | 1100 | 米国、カナダ、オランダ、ポルトガル、ブラジル、ニュージーランド、オーストラリア |
00273 | 1100 | オーストリア、ドイツ |
00277 | 1100 | デンマーク、ノルウェー |
00278 | 1100 | フィンランド、スウェーデン |
00280 | 1100 | イタリア |
00284 | 1100 | スペイン、ラテンアメリカ |
00285 | 1100 | 英国 |
00297 | 1100 | フランス |
00424 | 1100 | ヘブライ語 |
00500 | 1100 | ベルギー、カナダ、スイス、国際 Latin 1 |
00870 | 1100 | Latin 2 多国語 |
00871 | 1100 | アイスランド |
00875 | 1100 | ギリシャ |
01026 | 1100 | トルコ Latin 5 CECP |
00290 | 1100 | 日本カタカナ |
01027 | 1100 | 日本英語 (拡張範囲) |
00933 | 1301 | 韓国語 (拡張範囲)、1880 UDC |
00935 | 1301 | 中国語 (簡体字) (拡張範囲) |
00937 | 1301 | 中国語 (繁体字) (拡張範囲) |
04396 | 1200 | 日本語ホスト DB (1880 を含む) |
05026 | 1301 | 日本語カタカナ (拡張範囲) 1880 UDC |
05035 | 1301 | 日本英語 (拡張範囲) 1880 UDC |
01140 | 1100 | ECECP: 米国、カナダ、オランダ、ポルトガル、ブラジル、オーストラリア、ニュージーランド |
01141 | 1100 | ECECP: 米国、カナダ、オランダ、ポルトガル、ブラジル、オーストラリア、ニュージーランド |
01142 | 1100 | ECECP: デンマーク、ノルウェー |
01143 | 1100 | ECECP: フィンランド、スウェーデン |
01144 | 1100 | ECECP: イタリア |
01145 | 1100 | ECECP: スペイン、ラテンアメリカ (スペイン語) |
01146 | 1100 | ECECP: イギリス |
01147 | 1100 | ECECP: フランス |
01148 | 1100 | ECECP: インターナショナル 1 |
01149 | 1100 | ECECP: アイスランド |
00420 | 1100 | アラビア語圏 |
00838 | 1100 | タイ (拡張範囲) |
00819 | 4100 | ISO 8859-1、ローマ字アルファベット第 1 |
00932 | 2300 | 日本語 PC データ - 混合 |
00954 | 4403 | 日本語 EUC、G0 - JIS X201 Roman セット (00895)、G1 - JIS X208-1990 セット (00952)、 G2 - JIS X201 カタカナ・セット (04992)、G3 - JIS X212 セット (00953) |
01252 | 4105 | Windows、Latin 1 |
全て表示するコード表をたたむ
高速レプリケーションを実現する.NETドライバ(Ritmo/i)をバンドル済み
DBMotoからAS/400への接続用に.NETドライバのRitmo/iをバンドル済みです。Ritmo/iはAS/400 Db2への高速アクセスを可能とし、高速レプリケーションを実現します。
Ritmo/iの詳細はこちら
AS/400を使用するお客様からよくある質問
どのようにして差分レプリケーションが行われますか?
AS/400のミラーリングではトランザクションログとして「ジャーナル・レシーバ」を参照しますので、予め物理ファイルに対してジャーナルを起動しておく必要があります。
また、DBMotoからジャーナルを参照するためのプロシージャをAS/400のライブラリに対して作成する必要がありますが、DBMotoでAS/400の接続設定を行う際に簡単に作成することができます。
ジャーナルがAS/400側で自動で切り替わった場合、DBMotoが参照するジャーナルも自動で切り替わりますか?
切り替わります。
古いジャーナルは削除しても問題ないですか?
DBMotoから参照しているジャーナルより前のものについては削除して問題ありません。
AS/400にはどのドライバで接続するのでしょうか?
Ritmo/iというドライバを使用します。DBMotoに同梱されております。
ジャーナルレシーバはテーブル単位で作成する必要がありますか?それともまとめて1つでも問題ないですか?
1つにまとめても問題ありません。DBMotoではテーブル単位でレプリケーション定義を作成し、定義ごとにトランザクションIDを管理することが可能なためです。
準備・設定からレプリケーション実行までの流れ
【事前準備】AS/400にジャーナルを作成・起動します。
1. AS/400(複製元)の接続設定を行います。
AS/400への接続設定を行います。
DBMotoからAS/400のジャーナルを参照できるようにプロシージャを作成します。
(DBMotoから1クリックボタンで簡単に作成可能です)
AS/400のレプリケーション対象の物理ファイルを選択します。
2. ターゲット(複製先)DBの設定を行います。
3. レプリケーションの設定を行います。
4. レプリケーションを実行します。
設定・処理の流れの詳細はこちら