DBMotoには、開発環境で作成したレプリケーションを、スキーマが異なるだけでテーブル構造がまったく一緒の運用環境にコピーできる機能が用意されています。
それが今回の記事で紹介するレプリケーションエクスポート機能です。
この機能では指定したソースデータベースとターゲットデータベース間にあるレプリケーションを、同じインスタンスの別スキーマ、別インスタンス、さらには別種のデータベース間にもコピーが可能です。
設定はもちろん、マッピング、スクリプトも引き継ぐことができます。
特定のレプリケーションをコピーしない選択をすることもできます。
それでは具体的な設定方法を以下に紹介します。
設定例
- 元のソースデータベース/スキーマ:Oracle 11g/OKAMOTO
- 元のターゲットデータベース/スキーマ:SQL Server/(dbo)OKAMOTO
- 先のソースデータベース/スキーマ:Oracle 11g RAC/STUDY
- 先のターゲットデータベース/スキーマ:SQL Server/(dbo)STUDY
※いずれのデータベース/スキーマも、事前にDBMoto上に登録してください。
- Data Replicatorを停止します。
- ソース接続またはターゲット接続の「データベース名」または「スキーマ名」上で右クリックします。
開いたメニューから「レプリケーションをエクスポート」を選択します。 - 以下のウィザードが開きます。「次へ」をクリックします。
- 既存のソース接続で、データベースとスキーマを選択します。
- 既存のターゲット接続で、データベースとスキーマを選択します。
- 新規のソース接続で、エクスポートで作成されるレプリケーションの、ソースとなるデータベースおよびスキーマを選択します。
- 新規のターゲット接続で、エクスポートで作成されるレプリケーションの、ターゲットとなるデータベースおよびスキーマを選択します。
- 「4」と「5」で指定したデータベース・スキーマ間にあるレプリケーションの一覧が表示されます。
この中からエクスポート対象とするレプリケーションを選択します。 - エクスポート先のテーブル名が、オリジナルのテーブル名と異なる場合は「テーブル」欄のボタンから開くウィザードにて、テーブル名を指定できます。
- 最後にサマリーが表示されます。「開始」をクリックするとセットアップが始まります。
- 進捗が表示され、プログレスバーが右端まで進めば終了です。
- エクスポート機能で作成されたレプリケーションには「(オリジナルのレプリケーション名)_EXP」という名前が設定されます。適宜変更を加えることが可能です。
なお、使用時には以下の点にご注意ください。
- データベース側でなく、DBMoto側で定義したPK(擬似PK)の設定は引き継がれません。
これはレプリケーションで指定するのではなく、テーブルで指定する設定のためです。 - フィールドの型やサイズといった、テーブル構造がエクスポート元と先で一致していないと、そのレプリケーションはエクスポートされません。
- エクスポート先のスキーマにテーブルが存在しない場合もエクスポートされません。テーブルを自動的に作成することはありません。
関連したトピックス
- DBMotoのレプリケーションパフォーマンスを向上させる方法
- カスタムリストアを用いて、別サーバにレプリケーション設定を流用: DBMoto
- パフォーマンスを確認するレプリケーションアクティビティビューア【リアルタイムレプリケーションツールDBMoto】
- Log Server Agent for Oracleの設定手順【DBMoto9.x】
- 新規インストール手順【リアルタイムレプリケーションツールDBMoto】
- DBMoto[Syniti]の技術お問合せ時に必要な情報
- DBReplicatorの起動タイミングについて(1)【リアルタイムレプリケーションツールDBMoto】
- DBMotoが使うスレッド数の算出方法【リアルタイムレプリケーションツールDBMoto】
- 管理者が行う作業に付いて【リアルタイムレプリケーションツールDBMoto】