DBMotoサイドでPrimary Keyを設定した場合のミラーリング(SQL Server)【リアルタイムレプリケーション】

(Q) PrimaryKeyの設定がされていないテーブルで、DBMotoサイドでPrimaryKeyを
  設定し、ミラーリングを実行する事は可能ですか?

———————————————————
(A) 下記の手順から実行出来ます。(但しデータが一意の場合に限ります)

1.「Source Connection Wizard」から、
  ”Use Transactional Replication”モードを”Triggers”に設定します。

2.Master Tableの設定をします。

3.「Verify」ボタンを押下した後、「Next」で進んでWizardを完了します。

4.Source、Targetに同じプライマリキーを付与します。

注意点として、素のテーブルにプライマリキーが無い時は、
重複したデータの存在を容認している状態にあります。

仮に重複したデータが存在するフィールドにPKを設定し、レプリケーションを実行した場合、
リフレッシュは可能でもミラーリングは出来ません。(重複のエラーが出ます)
実行の際は、上記の点にご注意下さい。

コメントする -->

MySQLでのutf8で文字化けの対応方法【リアルタイムレプリケーションツールDBMoto】

【質問】
Source(SQLServer)、Target(MySQL)ともにutf8を使用しています。
Refreshでデータをレプリケーションすると、日本語の文字化けが発生します。

TargetでUpdate文を流すと正常に登録されるので、カラムの型の問題ではないと思います。
utf8の日本語を正常に取り扱うにはどのような設定を行えばよいでしょうか?

【回答】
DBMotoの文字化けの件ですが、Target側のMySQLの設定を変更する事で
対応可能です。下記の手順をお試し下さい。

——————————————————————-
1.「MySQL Server Instance Config Wizard」を起動します。
2. “Detailed Configuration”を選び、ウィザードを進めます。
3.「Please select the default character set」画面で
  “Best Support For Multilingualism”にチェックを入れるか、または
 ”Manual Selected Default Character Set/Collation”をチェックし、
Character Set:cp932 の値を選択します。

コメントする -->

Insert、Bulk Insertモードについて【リアルタイムレプリケーションツールDBMoto】

“Single Insert”モードで「auto-commit 」モードで実行した時、
全てのレコードは1レコード毎に自動でCommitされます。
“Single Insert”モードはレコード毎にCommitするので、
Rollbackはしません。

DBMotoの”Single Insert”モードは、通常のCommitとRollbackの手法とは
違い、リフレッシュの途中でReplicator を止めたとしても、
既にInsert済みのレコードは、Target Tableに常駐しています。
そしてReplicatorを再開すると、Taget TableにInsertされたレコードを
全てDeleteし、もう一度初めからRefreshし直す、という動作になります。

これに対し、”Bulk Insert”モードと”Simulated Bulk”モードは、
レコードの集まりを一括して、「1ブロック」として処理し、ブロック単位で
Commit、またはRollbackします。

例えば10ブロック中、4ブロックのレプリケーションが終わり、5ブロック目の
レプリケーションを実行途中でReplicatorを止めると、5ブロック目の最初の
データへRollbackします。
再開した場合は5ブロック目の最初からレプリケーションを行います。

ブロックサイズの単位はレコードで、デフォルトが50レコードです。
レコードサイズはbytesで下記の様に計算します。

【1レコード(bytes)=1レコードのフィールド合計】
【1ブロック(bytes)=1レコード × レコード数】

可変長のVARCHAR(200)等のフィールドは、200bytesとして計算するのでは
なく、テーブル全体から見たVARCHAR(200)フィールドの平均値をベースに
計算します。

上記の計算式から算出されるブロックサイズは、通常1ブロックあたり
512kbytesかそれ以上のサイズが目安となりますが、あくまで目安です。
最適なサイズはデータベースの処理能力に依存します。

コメントする -->

リフレッシュモード時のSQL Filter の記載方法【リアルタイムレプリケーションツールDBMoto】

1)リフレッシュモードで通常通りにレプリケーションの定義を作成します。

2)「Replication Properties」を開き、「Preferences」>「Refresh Options」>「Refresh Filter」と進み、右側の「・・・」ボタンを押下します。

3)「Expression Generator」から、SQLの条件入力が可能です。

コメントする -->

DBMotoサイドでPrimaryKeyを設定する方法【リアルタイムレプリケーションツールDBMoto】

(Q) PrimaryKeyの設定がされていないテーブルでレプリケーションをする際の設定で、DBMotoサイドでPrimaryKeyを設定する方法はありますか?

———————————————————
(A) Source/Targetの対象テーブルを右クリックして頂けますと、”Set PrimaryKey”という項目あります。

ここで、DBMotoでのPrimaryKey設定が可能になります。

コメントする -->

DBMotoでサポートするDBアクセス・プロバイダ【リアルタイムレプリケーションツールDBMoto】

●DBMotoでサポートするデータベース・アクセス・プロバイダ・リスト

Version: DBMoto 5.0 and higher
Topic ID:KBFAQ 1590

コメントする -->

リモートディストリビュータ(SQLServer)【リアルタイムレプリケーションツールDBMoto】

DBMotoがSQLServerのレプリケーション(特にミラーリングとシンクロナイゼーション)を行う時にDBMotoはレプリケーション・システムを経由してデータのフローを管理する「ディストリビュータ(Distributor)」と呼ぶサーバ・オブジェクトを使用します。ディストリビュータにはローカル・ディストリビュータとリモート・ディストリビュータの2種類があります。DBMoto Ver6.1.1以前のバージョンではディストリビュータがソース・データベースとしてのSQLServerにインストールされたのみにしかレプリケーションが利用できませんでした。

Ver6.1.1からディストリビュータがリモートのSQLServerにインストールされていて、ソースデータベースでない場合でもレプリケーションが可能になりました。

●MS ディストリビュータのプロパティを表示および変更する方法情報サイト
http://msdn.microsoft.com/ja-jp/library/ms151704.aspx

コメントする -->

ソースコネクションでのトランザクションログの設定(DB2 UDB)【リアルタイムレプリケーションDBMoto】

「Change」をクリック後:

①マスタテーブルの指定
作成したログテーブル専用のスキーマを選択します。
選択したスキーマには、マスターログテーブル(_DBM_MASTERLOG)、トリガー情報テーブル(_DBM_TRG_OBJS)、トランザクションテーブル(_DBM_LOG_XX)が自動的に作成されます。
スキーマに十分なテーブルスペースを割り当てると、ミラーリングレプリケーションに対する問題、トラブル等を回避することができます。

②テーブルスペース(表スペース)の指定
スキーマのテーブルスペース名を指定します。

③トランザクションログの保管期間の指定
ログテーブルにトランザクション情報を格納する期間をこのフィールドに設定出来ます。デフォルトは72時間となっております。

※トランザクションがログに存在する期間が保管期間を超える場合は、トランザクションはログテーブルから永久に取り除かれます。

コメントする -->

DBMOTOLIBのファイルサイズ【リアルタイムレプリケーションツールDBMoto】

DBMOTOLIBライブラリのファイルサイズは、数キロバイト程の非常に小さなものです。
レプリケーションによるトランザクション処理の間、DBMoto Data Replicatorによって作成された全てのTemporaryファイルはDBMOTOLIBに保存されます。

膨大なデータ量がある場合はDBMOTOLIBのサイズが増減します。
それはレプリケーションの時間間隔で随時クリアされます。
この時間間隔のデフォルト値は60秒です。

又、接続プロパティのダイアログからTemporaryライブラリの名前をDBMOTOLIBから他の名前に変える事で、一時ファイルを別のファイル名で保存出来ます。
これにより、DBMOTOLIBのファイルサイズを小さなまま残すことが可能です。

コメントする -->

SAVFファイルについて【リアルタイムレプリケーションツールDBMoto】

インストール時に作成される、DBMotoのライブラリ・SAVFファイルについてご説明致します。
———————————————————————–
(1)DBMOTOLIBにつきまして

DBMOTOLIBに下記の項目が含まれております。

 ●DBMLIBVER(ファイル)-ライブラリのバージョン情報を持っている。(1つ
のレコードのみ)
 ●JRNSQNM (プログラム)-ジャーナルのトランザクションIDを取得する。
 ●JRNSQNM (ストアドプロシージャ)-SQL文でプログラムを実施する。  
            

なお、DBMOTOLIBは一時(テンポラリ)ライブラリとして動作しております。
ソースDBとして使用する「System i/iSeries/AS400」に
トランザクショナル・レプリケーションを行っている際、
DBReplicatorで作成された一時ファイルをDBMOTOLIBに格納しております。

(2).SAVFにつきまして

.SAVFファイルは、PTFライブラリを含むファイルです。
DBMLIB51.SAVFファイルはSystem i(iSeries/AS400)のOSバージョンV5R1以上を
対象とした、DBMoto用saveファイルです。

こちらはDBMotoをAS/400上でご利用の際、DBRSライブラリを復元し、
ジャーナルコンフィギュレーションのチェックを行うことのみを目的とした
ファイルです。
又、ライブラリを復元する際にも.SAVFファイルが必要となります。

コメントする -->

ユーザーIDとパスワードの変更手順【リアルタイムレプリケーションツールDBMoto】

ソースDBを右クリックし、“Connection Properties”をクリックします。

下図のウィンドウが開きますので、“Connection”の「…」ボタンを押下します。

下図のウィンドウが開きます。こちらからユーザーID/パスワード等を変更出来ます。

コメントする -->

保護中: 複数ソーステーブルのレプリケーションの対応方法【リアルタイムレプリケーションツールDBMoto】

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

コメントを読むにはパスワードを入力してください。 -->

DB2 UDBへの接続ドライバー/プロバイダ選択【リアルタイムレプリケーションツールDBMoto】

【質問】
DBMotoからDB2 UDBへの接続ドライバー/プロバイダ選択可能なProvider は「Hit Software .Net Driver (Ritmo/DB2)」だけですが、他のドライバー/プロバイダを選択方法はありますか?

【回答】
(1)「DBMoto Enterprise Manager」を起動し、「Tools」>「Options」を選択します。

(2)「General」タブを選択し、「Use Only Default Providers」にチェックが入っていれば外します。

(3)「OK」ボタンを押下します。

(4)「Source Connection Wizard」を起動し、「Provider」項目を確認します。

コメントする -->

DB2/400→SQLServer リフレッシュレプリケーション手法について【リアルタイムレプリケーションDBMoto】

① ソースDB接続設定 (DB2/400)

●Host Code Page = 1027 (Japanese-Latin-Host SBCS)に設定
「Next>」をクリック

●リフレッシュモードの場合は、「Use Transactional Replication」を設定しません。

テーブルの選択

サマリー表示

②ターゲットDB接続設定(SQL Server)

**警告メッセージ(日本語文)**
”指定された”sa”ユーザはsysadminですので、シンクロナイゼイション・レプリケーションに無効になります。この接続をシンクロナイゼイションに使う場合は、sysadmin以外のユーザを指定する必要です。続けますでしょうか。”

※この後は、ターゲットDB接続設定を最後まで続けてください。

③リフレッシュ・レプリケーション設定

④レプリケーションが終わりましたら、スタートメニューにて、「DBMoto V6」のDBReplicatorを起動させます。

リフレッシュ・レプリケーションが正常に完了されます。

コメントする -->

・フェラーリ・アメリカ:DBMoto導入事例


フェラーリ・アメリカ、DBMotoを使用してSystem iからのキー・データとSQL Serverからのデータの両者を利用したレポート・ソリューションを構築

フェラーリ・アメリカ (www.ferrariusa.com) はイタリアのフェラーリの子会社で北米と南米においてデーラー網経由でフェラーリ車を輸入・販売する会社で、販売後のユーザに対するサービスも提供しています。

バックグラウンド:フェラーリ・アメリカは最初に社内で使用するレポーティング・ツールを調査していました。彼らはそれを実行するにはマイクロソフトのSQL Server、Accessの情報にアクセスすると同様にIBM System i (iSeries, AS/400)にある重要なデータにアクセスする手段が必要でした。

プラットフォーム:フェラーリ・アメリカが使用するSystem iのソースDB2テーブルをマイクロソフト SharPointとレポート・ツールに統合できるようにDBMotoを使用してSQLServer2005とAccessにレプリケーションしています。

問題解決:フェラーリ・アメリカのITチームはレポート・ツールの選定に多くの時間をかけました。そしてそのツールの採用を決めた時に、そのツールには彼らの最も関連するデータが保存されているi5/OS上のDB2から直接データを抽出できないことに気が付きました。そのためにはソースから簡単にレポート・ツールにレプリケーションできるツールが必要でした。しかし、その時点での予算はすでに厳しいものがありました。

ITチームがDBMotoの評価を開始した時に、その使いやすさとレポート・ツールのためのニーズに充分見合うものと判断をしました。DBMotoは特別な外部の手助けを必要とすることなく導入され、フェラーリ・アメリカはそのおかげで、予算内で実行されました。DBMotoはSystem iサーバ上のDB2テーブルから不要なレコードを排除して、周期的にSQL Server 2005と MS Accessにレプリケーションを行います。レポート・ツールはSQL Server 2005と MS Access上のデータを使用します。

DBMotoの利用概要:レプリケーション・プロセスはいくつかのコンポーネントから構成されていて、それらはセールス、サービス等の分野です。ターゲット・データはWindows 2003 / SQL server 2005 serverに蓄積されます。一旦、レプリケーションが構築されれば、DBMotoはほとんどメンテナンスの必要はありません。また、DBMotoのフィルタリング機能を使用して古いレコードのような重要でないデータをフィルタリングしています。これによりレプリケーション処理の効率を向上させ、ターゲット・ファイルを管理可能まサイズに縮小させています。

選択基準:DBMotoのシンプルな使用手法は小さなIT チームにとっては大きな力になりました。またDBMotoコストパフォーマンスと評価期間におけるサポートも大きなファクターとなりました。

フェラーリ・アメリカ担当者: Mr. Sandro Levati, Director of IT, Ferrari & Maserati North America.

コメントする -->