PowerReplication ユーザーズガイド V3.0 - Microsoft(R) Windows(R) 2000, Microsoft(R) Windows Server(TM) 2003 - |
目次
索引
![]() ![]() |
第3章 導入/構築 | > 3.6 Symfoware6000と連携する場合の留意事項 |
ここでは、Symfoware6000と連携する場合、設計や構築を行う前に必要な調査項目を説明します。
レプリケーションに使用できるSymfoware6000の資源を確認してください。
Symfoware6000の資源をレプリケーションで、データファイルとして扱えるかを確認してください。
Symfoware6000の実表、ビュー表および物理ファイルが使用できます。
同期方式や運用形態によって異なります。また、マスタとして使用するか、レプリカとして使用するかによっても異なります。
運用形態 |
同期方式 |
マスタ |
レプリカ |
配布 |
一括方式 |
実表 |
実表 |
差分方式 |
実表 |
実表 |
|
集約 |
一括方式 |
実表 |
実表 |
差分方式 |
実表 |
実表 |
|
共用 |
一括方式 |
− |
− |
差分方式 |
実表 |
実表 |
※)主キーを必要とする同期方式(一括方式の処理モードが追加、更新)の場合は使用できません。
データファイルに使用できる項目のデータ型を、以下の表を参照し確認してください。
分類 |
物理ファイルの項目属性 |
SQL(実表、ビュー表) のデータ型 |
真数 |
外部10進数字項目 |
NUMERIC |
内部10進数字項目 |
DECIMAL |
|
4バイト2進数字項目 |
INTEGER |
|
2バイト2進数字項目 |
SMALLINT |
|
文字列 |
4095文字までの英数字項目 |
CHARACTER |
999文字までの日本語項目 |
NATIONAL CHARACTER |
概数および日時に相当するSymfoware6000のデータ型はありません。
符号なし4バイト2進数字項目および符号なし2バイト2進数字項目は、他のDBMSの項目と関連づけてレプリケーションの構成定義を作成できますが、注意が必要です。
符号なし4バイト2進数字項目および符号なし2バイト2進数字項目を使用した場合、他のDBMSで関連づけた項目に負の値が含まれていると、同期処理がエラーとなります。差分同期でこのような事象が発生すると、復旧のために一括同期の実行が必要となります。
以下の項目は使用できません。
Symfoware6000のデータ型に対応するOracle、SQL ServerおよびPowerRW+のデータ型は、以下の通りです。
Symfoware6000 |
Oracle |
SQL Server |
PowerRW+ |
NUMERIC |
NUMBER |
numeric |
NUMERIC |
DECIMAL |
decimal |
DECIMAL |
|
INTEGER |
int |
INTEGER |
|
SMALLINT |
smallint |
SMALLINT |
|
CHARACTER |
CHAR |
char |
CHARACTER |
※)差分同期を利用する場合、使用できません。
PowerReplicationは、データ型を変換して異なるDBMS間を連携します。データ型を変換する仕組みは、"2.3.1 DBMSの違いによるデータの扱い"および"付録D データ型対応づけの仕組み"を参照してください。
ASP V22以降のSymfoware6000では、NUMERIC型、DECIMAL型、またはCHARACTER型の項目を他DBMSの日時型の項目と関連づけできます。
Symfoware6000 |
Oracle |
SQL Server |
PowerRW+ |
NUMERIC |
DATE |
datetime |
TIMESTAMP |
CHARACTER |
Symfoware6000のデータファイルで扱うデータは、関連づけたDBMSで扱える日時データの範囲内であることが必要です。
たとえば、SQL Serverのdatetime型と関連づけた場合、日付は西暦1753年1月1日から9999年12月31日までの範囲であることが必要です。
扱える日時データの範囲は、DBMSやデータ型によって異なります。各DBMSのマニュアルを参照し確認してください。
レプリケーションで設定することが必要となる主キーを確認してください。
差分同期を行う場合、マスタとレプリカの両方のデータファイルに主キーを設定することが必要です。
一括同期を行う場合、一括方式の処理モードが「追加」または「更新」のとき、マスタとレプリカの両方のデータファイルに主キーを設定することが必要です。
同期方式 |
処理モード |
マスタ/レプリカの主キー |
一括方式 |
創成 |
不要 |
追加 |
必要 |
|
差分方式 |
− |
必要 |
レプリケーションの主キーは、NULL値およびデータの重複を許さないインデックスを設定することが必要です。
データファイルのインデックスが複数の項目で構成される場合は、複数の項目を1つのレプリケーションの主キーとして扱います。
物理ファイルと実表で、以下のインデックスをレプリケーションの主キーとして扱うことができます。
ASPのCRTLFコマンドで作成したデータの重複を許さないインデックス
以下のCREATE TABLE文で作成したインデックス
主キーを構成する項目数は20個までです。
ASPのCRTLFコマンドの詳細は、「ASP システムコマンド集」を参照してください。
SQL文の詳細は、「ASP SQL説明書」を参照してください。
レプリケーションの主キーとして扱うインデックスを構成する項目は、以下のデータ型に関連づけてください。
Symfoware6000 |
Oracle |
SQL Server |
PowerRW+ |
NUMERIC |
NUMBER |
numeric |
NUMERIC |
DECIMAL |
decimal |
DECIMAL |
|
INTEGER |
int |
INTEGER |
|
SMALLINT |
− |
smallint |
SMALLINT |
CHARACTER |
CHAR |
char |
CHARACTER |
NUMERIC※ |
DATE |
datetime |
TIMESTAMP |
−:主キーとして扱うSymfoware6000のSMALLINT型は、Oracleと関連づけできません。
※:日時型として扱う場合(ASP側で関連づける項目に日時変換書式を指定した場合)
日時型のデータと関連づけるための条件、関連づけ方法および同期処理によるデータ変換処理の詳細は、「ASP レプリケーションサービス説明書」を参照してください。
同期対象とするデータファイルに格納しているデータを確認してください。
同期対象とするSymfoware6000のデータファイルに不正データが含まれていないことを確認してください。
ASPのシステムコマンドやCOBOLプログラムは、データファイルのデータ型に従わないデータ(不正データ)を書き込む場合があります。
不正データを含むSymfoware6000のデータファイルを使用し、同期が実行された場合、PowerReplicationは不正データの補正を行いますが、補正できず、同期処理がエラーになることがあります。
Symfoware6000と連携する相手サーバのデータベースにおいて、同期対象とするデータファイルで、1つの項目に全角文字と半角文字が混在するデータの長さを確認してください。
Symfoware6000のデータファイルに対して全角文字と半角文字が混在するデータが反映される場合、全角文字の始端と終端に1バイトずつ制御コード(シフトコード)が付け加えられて反映されます。
このため、関連づける項目の長さは、付加される制御コード(シフトコード)を考慮しておく必要があります。
不正コードおよび全角文字と半角文字の混在によって、差分同期がエラーとなった場合、復旧のために一括同期の実行が必要となります。
データファイルに書き込む文字データを確認してください。
WindowsとASP間で連携するレプリケーションの環境では、文字コード変換が行われて反映されます。文字コード変換の環境は、レプリケーションで扱う文字データに合わせて作成、設定する必要があります。また、外字(利用者定義文字)を含む場合、文字コード変換表をWindowsとASPの両方で一致させる必要があります。
文字コードの環境が正しく作成、設定されていないと、同期の実行によってデータの反映時に代替文字 ‘_’(アンダーバー)に置き換えられます。この場合、ASPのシステムログに警告が通知され、詳細情報が詳細メッセージ情報ファイルに出力されます。
レプリケーションで扱う文字コードと外字(利用者定義文字)の詳細は、"2.2.6 文字コード変換"を参照してください。
レプリケーションの同期で、Symfoware6000に反映されるデータ量を見積もってください。
同期対象のデータファイルへの反映は、Symfoware6000のトランザクションが使用されます。
Symfoware6000のデータファイルに対して、レプリケーションサービスが1回のトランザクションで5000件以上のデータを反映する場合、トランザクションの実行環境(バックアウトファイルなど)を作成することが必要です。
レプリケーションサービスがデータを反映するトランザクションの詳細は、"2.3.3 排他制御とトランザクション"を参照してください。
また、差分同期を利用するレプリケーションの環境を構築する場合、ASPの更新情報ファイルが枯渇しないように、ASP側でも更新情報ファイルのサイズを見積もっておくことが必要です。
ASPの更新情報ファイルの見積り方法は、「ASP レプリケーションサービス説明書」を参照してください。
同期対象のデータファイルを操作する利用者プログラムを点検してください。
"扱えるデータを確認する"で調査した結果から、利用者プログラムを点検してください。データファイルを変更または再作成して使用する場合、および不正データを書き込んでいる場合は、利用者プログラムの見直しを行ってください。
同期対象のデータファイルの更新方法を確認してください。
差分同期を利用してレプリケーションの環境を構築する場合、以下の方法でデータファイルを更新すると、同期の実行で更新データが正しく反映されず、データベース間で整合性が保てない状態となります。
上記の詳細は、「ASP レプリケーションサービス説明書」を参照してください。
Symfoware6000を使用したレプリケーションの運用を円滑に行うため、PRIMERGY 6000/ASPの運用方法を点検してください。
レプリケーションの環境を構築しているPRIMERGY 6000/ASPでは、以下の場合にデータベース間の整合性が保てない状態になることがあります。
レプリケーションサービスの停止中に利用者プログラムでデータ更新を行ってデータベース間の整合性が保てない状態にならないように、レプリケーションの運用開始および停止の作業手順を設計してください。
また、運用の誤りやシステム異常の発生を想定し、復旧方法を定めておいてください。
データファイルのオープン状態は、ASPのREFSYSコマンドで確認できます。
ASPのREFSYSコマンドの詳細は、「ASP システムコマンド集」を参照してください。
目次
索引
![]() ![]() |