HiRDB データ連動拡張機能　HiRDB Datareplicator Extension Version 10

解説・手引・操作書

3020-6-574

前書き

対象製品

●適用OS：Red Hat Enterprise Linux 6 (64-bit x86_64)，Red Hat Enterprise Linux 7 (64-bit x86_64)

P-8462-1LA1 HiRDB Datareplicator Extension Version 10 10-00

これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，HiRDB，Cosminexus，HAモニタ，OpenTP1，TPBroker，uCosminexus，VOS3/LS，VOS3/US，VOS3/XS，XDMは，株式会社 日立製作所の商標または登録商標です。

Accessは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

ActiveXは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

AMDは，Advanced Micro Devices, Inc.の商標です。

Excelは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

IBM，DataStage, MetaBroker, MetaStageおよびQualityStageは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

IBM， DB2は，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

IBM，HACMPは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

IBM，OS/390は，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

IBM，PowerHAは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Itaniumは，アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。

Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標もしくは商標です。

SQL Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

UNIXは，The Open Groupの米国ならびに他の国における登録商標です。

Visual C++は，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Visual Studioは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows NTは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2018年10月　3020-6-574

著作権

All Rights Reserved. Copyright (C) 2018, Hitachi, Ltd.

変更内容

変更内容（3020-6-574）　HiRDB Datareplicator Extension Version 10 10-00

追加・変更内容

変更個所

マニュアルの体裁を変更しました。

−

単なる誤字・脱字などはお断りなく訂正しました。

変更内容（3020-6-361-50）　HiRDB Datareplicator Extension Version 8　08-06

追加・変更内容

次のOSに対応しました。

AIX V7.1

Red Hat Enterprise Linux AS 4(x86)

Red Hat Enterprise Linux ES 4(x86)

Red Hat Enterprise Linux AS 4(AMD64 & Intel EM64T)

Red Hat Enterprise Linux ES 4(AMD64 & Intel EM64T)

Red Hat Enterprise Linux 5 Advanced Platform (x86)

Red Hat Enterprise Linux 5 (x86)

Red Hat Enterprise Linux 5 Advanced Platform (AMD/Intel 64)

Red Hat Enterprise Linux 5(AMD/Intel 64)

Windows 7

変更内容（3020-6-361-40）　HiRDB Datareplicator Extension Version 8　08-04

追加・変更内容

Windows Vistaに対応しました。

抽出側Datareplicator Extensionが通信障害を検知した際，障害内容に関係なく無条件にコネクションリトライできるようになりました。

これに伴い，cm_errno_checkオペランドを追加しました。

データ連動回復機能に，システムログファイルによる回復方法を追加しました。

これに伴い，次のオペランドを追加しました。

recover_info_sendオペランド

recover_info_send_intervalオペランド

コネクションリトライ時のリトライ間隔を指定できるようになりました。

これに伴い，retry_intervalオペランドを追加しました。

Oracle Database 11gに対応しました。

変更内容（3020-6-361-30）　HiRDB Datareplicator Extension Version 8　08-03

追加・変更内容

Datareplicatorの稼働プラットフォームにWindows Server 2008を追加しました。

DECIMAL型の精度を拡張し，38けたまで定義できるようになりました。

これに伴い，decimal_max_precisionオペランドを追加しました。

監査証跡の取得対象になる操作（監査対象イベント）が発生した場合に，監査証跡を取得するかどうかを指定できるようになりました。

これに伴い，hirdb_audit_trailオペランドを追加しました。

Datareplicatorで使用するファイルのチェックを初期化時又は起動時に実施できるようになりました。

これに伴い，resource_chk_errオペランドを追加しました。

参照制約動作にCASCADEが指定された表をデータ連動できるようになりました。

これに伴い，次のオペランドを追加しました。

check_pendingオペランド

control_reference_triggerオペランド

はじめに

このマニュアルは，HiRDB Datareplicator Extension Version 10（以降，このマニュアルでは，「Datareplicator Extension」と表記します）の機能と使い方について説明したものです。

Datareplicator Extensionを使用するためには，次に示すプログラムプロダクトが必要です。

HiRDB Datareplicator Version 10

以降，このマニュアルでは，上記の製品を「Datareplicator」と表記します。

対象読者

Datareplicator Extensionを使ってデータ連動システムを構築／運用するシステム管理者，システム設計者，プログラマ，及びオペレータの方々を対象としています。

このマニュアルの記述は，適用OSの基礎的な知識，抽出側DBMS及び反映側DBMSの知識があることを前提としています。

また，このマニュアルは，「HiRDB データ連動機能　HiRDB Datareplicator Version 10」のマニュアルを理解されていることを前提としています。

関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

HiRDB（UNIX用マニュアル）

HiRDB Version 10 システム導入・設計ガイド（UNIX(R)用）（3020-6-552）

HiRDB Version 10 システム定義（UNIX(R)用）（3020-6-554）

HiRDB Version 10 システム運用ガイド（UNIX(R)用）（3020-6-556）

HiRDB Version 10 コマンドリファレンス（UNIX(R)用）（3020-6-558）

インナレプリカ機能 HiRDB Staticizer Option Version 10（3020-6-563）

HiRDB Version 10 ディザスタリカバリシステム　構築・運用ガイド（3020-6-564）

HiRDB（Windows用マニュアル）

HiRDB Version 10 システム導入・設計ガイド（Windows(R)用）（3020-6-553）

HiRDB Version 10 システム定義（Windows(R)用）（3020-6-555）

HiRDB Version 10 システム運用ガイド（Windows(R)用）（3020-6-557）

HiRDB Version 10 コマンドリファレンス（Windows(R)用）（3020-6-559）

HiRDB（Windows，UNIX共通マニュアル）

HiRDB Version 10 解説（3020-6-551）

HiRDB Version 10 UAP開発ガイド（3020-6-560）

HiRDB Version 10 SQLリファレンス（3020-6-561）

HiRDB Version 10 メッセージ（3020-6-562）

HiRDB Version 10 XDM/RD E2接続機能（3020-6-565）

HiRDB Version 10 バッチ高速化機能（3020-6-567）

HHiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 9（3020-6-481-30）

HiRDB XML拡張機能 HiRDB XML Extension Version 9（3020-6-480-30）

HiRDB データ連動機能 HiRDB Datareplicator Version 10（3020-6-573）

なお，本文中で使用しているHiRDB Version 10のマニュアル名は，Version 10，（UNIX(R)用），（Windows(R)用）を省略して表記しています。使用しているプラットフォームに応じてUNIX用またはWindows用のマニュアルを参照してください。

利用者ごとの関連マニュアル

HiRDBのマニュアルをご利用になる場合，利用者ごとに次のようにお読みください。

また，より理解を深めるために，左側のマニュアルから順にお読みいただくことをお勧めします。

このマニュアルでの表記

このマニュアルでは製品名称及び名称について次のように表記しています。ただし，それぞれのプログラムについての表記が必要な場合はそのまま表記しています。

製品名称または名称

表記

HiRDB Server Version 10

HiRDB/シングルサーバ

HiRDB又はHiRDBサーバ

HiRDB/パラレルサーバ

HiRDB/Developer's Kit Version 10

HiRDB/Developer's Kit

HiRDBクライアント

HiRDB/Developer's Kit Version 10(64)

HiRDB/Run Time Version 10

HiRDB/Run Time

HiRDB/Run Time Version 10(64)

HiRDB Datareplicator Version 10

HiRDB Datareplicator

HiRDB Dataextractor Version 10

HiRDB Dataextractor

HiRDB Advanced High Availability Version 10

HiRDB Advanced High Availability

HiRDB Accelerator Version 10

HiRDB Accelerator

HiRDB Non Recover Front End Server Version 10

HiRDB Non Recover FES

HiRDB Staticizer Option Version 10

HiRDB Staticizer Option

HiRDB Text Search Plug-in Version 9

HiRDB Text Search Plug-in

HiRDB XML Extension Version 9

HiRDB XML Extension

Microsoft(R) SQL Server

SQL Server

HP-UX 11i V3 (IPF)

HP-UXまたはHP-UX (IPF)

AIX V7.1

AIX

AIX V7.2

Linux(R)

Linux

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux 6

Linux

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Linux 7

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux (EM64T)

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux 6 (64-bit x86_64)

Linux 6

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Linux 7 (64-bit x86_64)

Linux 7

Microsoft(R) Windows Server(R) 2012 Standard

Windows Server 2012

Microsoft(R) Windows Server(R) 2012 Datacenter

Microsoft(R) Windows Server(R) 2012 R2 Standard

Windows Server 2012 R2

Microsoft(R) Windows Server(R) 2012 R2 Datacenter

Microsoft(R) Windows Server(R) 2016 Standard

Windows Server 2016 Standard

Windows Server 2016

Microsoft(R) Windows Server(R) 2016 Datacenter

Windows Server 2016 Datacenter

Microsoft(R) Windows(R) 7 Professional

Windows 7 Professional

Windows 7

Microsoft(R) Windows(R) 7 Enterprise

Windows 7 Enterprise

Microsoft(R) Windows(R) 7 Ultimate

Windows 7 Ultimate

Microsoft(R) Windows(R) 7 Professional (x64)

Windows 7 (x64)

Microsoft(R) Windows(R) 7 Enterprise (x64)

Microsoft(R) Windows(R) 7 Ultimate (x64)

Microsoft(R) Windows(R) 7 Professional (x64)

Windows 7 Professional (x64)

Microsoft(R) Windows(R) 7 Enterprise (x64)

Windows 7 Enterprise (x64)

Microsoft(R) Windows(R) 7 Ultimate (x64)

Windows 7 Ultimate (x64)

Windows(R) 8.1 (Core Edition)

Windows 8.1 (Core Edition)

Windows 8.1

Windows(R) 8.1 Pro

Windows 8.1 Pro

Windows(R) 8.1 Enterprise

Windows 8.1 Enterprise

Windows(R) 8.1 (Core Edition) (x64)

Windows 8.1 (Core Edition) (x64)

Windows(R) 8.1 Pro (x64)

Windows 8.1 Pro (x64)

Windows(R) 8.1 Enterprise (x64)

Windows 8.1 Enterprise (x64)

Windows(R) 10 Home

Windows 10 Home

Windows 10

Windows(R) 10 Pro

Windows 10 Pro

Windows(R) 10 Enterprise

Windows 10 Enterprise

Windows(R) 10 Home (x64)

Windows 10 Home (x64)

Windows(R) 10 Pro (x64)

Windows 10 Pro (x64)

Windows(R) 10 Enterprise (x64)

Windows 10 Enterprise (x64)

Oracle9i

Oracle

Oracle 10g

Oracle Database 11g

VOS3/XS，VOS3/US，VOS3/LS，VOS3/FS，VOS3/AS，VOS3/ES1及びこれらのOSが稼働するシステム

VOS3

VOS1/LS，VOS1/FS，VOS1/ES2及びこれらのOSが稼働するシステム

VOS1

Windows Server 2012，およびWindows Server 2016を総称してWindows Serverと表記します。また，Windows Server，Windows 7，Windows 8.1，およびWindows 10を総称してWindowsと表記します。

HP-UX，AIX，及びLinuxを総称してUNIXと表記します。

このマニュアルで使用する略語

このマニュアルで使う英略語の一覧を次に示します。

英略語

英字の表記

AP

Application Program

BLOB

Binary Large Object

CD-ROM

Compact Disc - Read Only Memory

DB

Database

DBMS

Database Management System

EBCDIC

Extended Binary Coded Decimal Interchange Code

EBCDIK

Extended Binary Coded Decimal Interchange Kana code

EUC

Extended UNIX Code

IPF

Itanium(R) Processor Family

JIS

Japanese Industrial Standard

LAN

Local Area Network

OS

Operating System

PC

Personal Computer

PP

Program Product

TCP/IP

Transmission Control Protocol / Internet Protocol

UAP

User Application Program

UOC

User Own Coding

WS

Workstation

XML

Extensible Markup Language

パス名の表記

パス名の区切りは「/」で表記しています。Windows版Datareplicator Extensionを使用している場合はマニュアル中の「/」を「¥」に置き換えてください。ただし，Windows版とUNIX版でパス名が異なる場合は，それぞれのパス名を表記しています。

HiRDB運用ディレクトリのパスを$PDDIRと表記します。ただし，Windows版とUNIX版でパス名が異なるため，それぞれを表記する場合，Windows版は%PDDIR%と表記します。例を次に示します。

　　　UNIX版：$PDDIR/client/lib/

　　　Windows版：%PDDIR%¥CLIENT¥UTL¥

ログの表記

●Windows版の場合

Windowsのイベントビューアで表示されるアプリケーションログをイベントログと表記します。イベントログは，次の方法で参照できます。

〈手順〉

1.［スタート］−［プログラム］−［管理ツール（共通）］−［イベントビューア］を選択します。

2.［ログ］−［アプリケーション］を選択します。

アプリケーションログが表示されます。「ソース」の列が「HiRDB Datareplicator」になっているのがHiRDB Datareplicatorが出力したメッセージです。

●UNIX版の場合

OSのログをsyslogfileと表記します。syslogfileは，/etc/syslog.confでログ出力先に指定しているファイルです。一般的には，次のファイルがsyslogfileとなります。

OS

ファイル

HP-UX

/var/adm/syslog/syslog.log

AIX

/var/adm/ras/syslog

Linux

/var/log/messages

Windowsの操作説明で使う表記

Windowsの操作説明で使う記号を次に示します。

記　号

意　味

［　］

ボタンやテキストボックスなど，画面に表示されている要素を示します。

［　］−［　］

画面に表示されるメニューやアイコンなどを選択する操作を示します。

Windowsの用語「ディレクトリ」と「フォルダ」は，「ディレクトリ」に統一して表記します。

図中で使用する記号

このマニュアルの図中で使用する記号を，次のように定義します。

このマニュアルで使用する記号

形式及び説明で使用する記号を次に示します。ここで説明する文法記述記号は，説明のための記号なので実際には記述しないでください。

文法記述記号

意　味

〔　〕

この記号で囲んでいる項目は省略できることを示します。

（例）set　hirdbusr = HiRDB接続認可識別子〔/パスワード〕

これは，hirdbusrオペランドで，/パスワードを省略できることを示します。

｜

この記号で区切られた項目は，選択できることを示します。

（例）set　keepalive = true｜false

これは，keepaliveオペランドの設定値として，true又はfalseのどちらかを選択できることを示します。

｛　｝

この記号で囲まれている複数の項目のうち，一つを選択できることを示します。

（例）set　startmode =｛ trn｜tbl｜spd ｝

これは，startmodeオペランドの設定値として，trn，tbl，又はspdのどれかを選択できることを示します。

　（下線）

この下線記号で示す項目は，省略したときに仮定される値であることを示します。

（例）set　keepalive = true｜false

これは，keepaliveオペランドを省略すると，set keepalive = falseと仮定されることを示します。

{{　}}…

この記号で囲まれた項目を一つの単位として，繰り返して指定できることを示します。

（例）{{ name　フィールド名称〔 const　初期値 〕}}…

これは，"name　フィールド名称〔 const　初期値 〕" を複数回繰り返して指定できることを示します。

〜

この記号の後に指定する値の属性を示します。

〈　〉

指定する値の構文要素記号を示します。

《　》

値を指定しなかったときにDatareplicator Extensionが仮定する値（省略時仮定値）を示します。

((　))

指定できる値の範囲を示します。

このマニュアルで使用する構文要素記号

指定する値の説明で使う記号です。指定する文字列には，基本的に半角文字を使ってください。全角文字を使う場合は，半角文字数で換算してください。

構文要素記号

意　味

<英字>

アルファベット（A〜Z，a〜z），　（下線），−（ハイフン）

<英字記号>

アルファベット（A〜Z，a〜z），#，@，¥

<英数字>

<英字>，数字（0〜9）

<英数字記号>

<英字記号>，数字（0〜9）

<符号なし整数>

数字（0〜9）

<16進数字>

数字（0〜9），A〜F，a〜f

<識別子>

先頭がアルファベット（A〜Z，a〜z）の<英数字>

<記号名称>

先頭が<英字記号>の<英数字記号>

<文字列>

任意の文字の配列

<パス名>

記号名称，¥又は/，及び ．（ピリオド）

<ファイル名>

アルファベット（A〜Z，a〜z），数字（0〜9），．（ピリオド），　（下線），−（ハイフン），及び@で構成される文字列（最大30文字）

注　すべて半角文字で指定してください。UNIXの場合は，英字の大文字と小文字は区別されます。パス名は，Datareplicator ExtensionをインストールするOSの規則に依存します。

このマニュアルで使用する計算式の記号

このマニュアルで使用する計算式の記号の意味を次に示します。

記 号

意　味

↑ ↑

計算結果の値を小数点以下で切り上げることを示します。

（例）↑34÷3↑の計算結果は「12」になります。

↓ ↓

計算結果の値を小数点以下で切り下げることを示します。

（例）↓34÷3↓の計算結果は「11」になります。

MAX

計算結果の最も大きい値を選ぶことを示します。

（例）MAX（3×6，4＋7）の計算結果は「18」になります。

MIN

計算結果の最も小さい値を選ぶことを示します。

（例）MIN（3×6，4＋7）の計算結果は「11」になります。

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

HiRDB Version 9とHiRDB Version 10の製品体系の違い

HiRDB Version 10では，製品体系を次のように変更しました。

HiRDB Server with Additional Functionを廃止し，HiRDB Server with Additional Functionの機能をHiRDB Serverに統合しました。

HiRDB Version 9とHiRDB Version 10の製品体系の違いを次に示します。

1　概要

この章では，Datareplicator Extensionの特長，データ連動の概要，ソフトウェア構成，及びデータ連動システムの構築手順について説明します。

1.1　特長

Datareplicator Extensionは，他社DBMSとHiRDBシステムのデータを自動的に連動できるようにする製品です。

1.1.1　Datareplicator Extensionの目的

今まで，HiRDBシステム同士，及びメインフレームとHiRDBシステムがデータ連動するための製品として，Datareplicatorがありました。

しかし，近年システムのマルチベンダ化が進み，上記のようなデータ連動だけではなく，他ベンダのDBとデータ連動したいという意向が高まってきました。

その意向を受けたのが，Datareplicatorの拡張機能であるDatareplicator Extensionです。Datareplicator Extensionを使うと，他社DBMS（Oracle及びSQL Server）とHiRDBシステムとのデータ連動ができます。

(1)　データ連動を適用できる業務システム

他社DBMSからの更新内容の抽出は，トリガ及びキューテーブルを使用します。そのため，HiRDBシステム同士のデータ連動に比べて，次の点で性能が低下する可能性があります。キューテーブルについては，「3.1.1　抽出処理の概要」を参照してください。

更新APに，従来のHiRDBシステム同士のデータ連動にかかる更新オーバヘッドに加えて，トリガ内で実行する処理オーバヘッドが加わります。

HiRDBシステムからの抽出時のように，ブロッキングされた複数の更新データを一括して取り出すことはできないので，更新データを一件ずつ取り出す必要があります。

したがって，他社DBMSとのデータ連動は，バッチなどの大量更新をするシステムではなく，オンライン系システムへの適用をお勧めします。

(2)　データ連動できるシステム

Datareplicator Extensionを使用すると，次に示す組み合わせでデータ連動できます。

HiRDBのデータ連動システムとOracle※1のDBとのデータ連動

HiRDBのデータ連動システムとSQL Server※2のDBとのデータ連動

注※1

Windows版Oracleを反映側DBにする場合はODBCドライバを使用します。

注※2

SQL Serverとデータ連動する場合はODBCドライバを使用します。

データ連動システムの組み合わせについては，「1.2.1　データ連動システムの組み合わせ」を参照してください。

(3)　データ連動システムの用語

データ連動システムのうち，更新されるデータベースがあるシステムを抽出側システム，抽出側システムのDatareplicator Extensionを抽出側Datareplicator Extensionといいます。

抽出側システムのデータベースを抽出側DBといい，このうち，HiRDBをHiRDB又は抽出側HiRDBといいます。

また，抽出側システムから自動的に更新内容が反映されるシステムを反映側システム，反映側システムのDatareplicator Extensionを反映側Datareplicator Extensionといいます。

反映側システムのデータベースを反映側DBといい，このうち，HiRDBを反映側HiRDBといいます。

1.2　データ連動について

1.2.1　データ連動システムの組み合わせ

Datareplicator Extensionを使うと，HiRDBとOracle又はHiRDBとSQL Serverとがデータ連動できます。抽出側DB及び反映側DBとして使用できるDBMSを次の表に示します。これらのDBMSはどの組み合わせでも使用できます。ただし，抽出側DBも反映側DBもHiRDBの場合，Datareplicator Extensionは必要ありません。

表1‒1　抽出側DB，反映側DBに使用できるDBMS

システム

DBMS（適用OS）

抽出側DB

HiRDB（UNIX，Windows）

Oracle（UNIX，Windows）

SQL Server（Windows）

反映側DB

HiRDB（UNIX，Windows）

Oracle（UNIX，Windows※）

SQL Server（Windows）

注※

データ連動にODBCを使用します。

データ連動するときに必要な関連製品については，「2.1　Datareplicator Extensionに関連する製品」を参照してください。

1.3　ソフトウェア構成

データ連動システムのシステム構成には，「1.2.1　データ連動システムの組み合わせ」で示したDBの組み合わせの分だけの種類があります。ここでは，代表的なシステム構成のデータ連動システムのソフトウェア構成について説明します。説明するシステム構成は次のとおりです。

OracleからHiRDBへデータ連動するシステム構成

SQL ServerからHiRDBへデータ連動するシステム構成

HiRDBからOracleへデータ連動するシステム構成

HiRDBからODBCドライバを使用してSQL Serverへデータ連動するシステム構成

それぞれのシステム構成によって，必要なソフトウェアが異なります。システム構成と必要なソフトウェアについては，「2.1　Datareplicator Extensionに関連する製品」を参照してください。

ここに示すDatareplicator Extension側のシステム構成は，UNIXとWindowsで共通です。

1.3.1　OracleからHiRDBへデータ連動する場合のソフトウェア構成

OracleからHiRDBへデータ連動する場合のソフトウェア構成を次の図に示します。

図1‒1　OracleからHiRDBへデータ連動する場合のソフトウェア構成

(1)　抽出対象のOracleと抽出側Datareplicator Extensionの対応

OracleからHiRDBへデータ連動する場合の，抽出対象のOracleと抽出側Datareplicator Extensionの対応を次に示します。

Oracleと抽出側Datareplicator Extensionとの対応

Oracle：抽出側Datareplicator Extension＝1：1

UNIX版Datareplicator Extensionの場合は，ほかのHiRDBから更新内容を抽出するシステムとOracleから更新内容を抽出するシステムを，同一マシン上で構築できます。

Windows版Datareplicator Extensionの場合は，抽出側Datareplicatorの運用ディレクトリを指定する環境変数HDEPATHをシステム環境変数として設定するため，ほかのHiRDBから更新内容を抽出するシステムとOracleから更新内容を抽出するシステムを，同一マシン上では構築できません。

1.3.2　SQL ServerからODBCドライバを使用してHiRDBへデータ連動する場合のソフトウェア構成

SQL ServerからODBCドライバを使用してHiRDBへデータ連動する場合のソフトウェア構成を次の図に示します。

図1‒2　SQL ServerからODBCドライバを使用してHiRDBへデータ連動する場合のソフトウェア構成

(1)　抽出対象のSQL Serverと抽出側Datareplicator Extensionの対応

SQL ServerからODBCドライバを使用してHiRDBへデータ連動する場合の，抽出対象のSQL Serverと抽出側Datareplicator Extensionの対応を次に示します。

SQL Serverと抽出側Datareplicator Extensionとの対応

SQL Server：抽出側Datareplicator Extension＝1：1

UNIX版Datareplicator Extensionの場合は，ほかのHiRDBから更新内容を抽出するシステムとSQL Serverから更新内容を抽出するシステムを，同一マシン上で構築できます。

Windows版Datareplicator Extensionの場合は，抽出側Datareplicatorの運用ディレクトリを指定する環境変数HDEPATHをシステム環境変数として設定するため，ほかのHiRDBから更新内容を抽出するシステムとSQL Serverから更新内容を抽出するシステムを，同一マシン上では構築できません。

1.3.3　HiRDBからOracleへデータ連動する場合のソフトウェア構成

HiRDBからOracleへデータ連動する場合のソフトウェア構成を次の図に示します。

図1‒3　HiRDBからOracleへデータ連動する場合のソフトウェア構成

注※

Windows版Oracleの場合は，ODBCドライバが必要です。

(1)　反映対象のOracleと反映側Datareplicator Extensionの対応

HiRDBからOracleにデータ連動する場合の，反映対象のOracleと反映側Datareplicator Extensionの対応を次に示します。

Oracleと反映側Datareplicator Extensionとの対応

Oracle：反映側Datareplicator Extension＝1：1

UNIX版Datareplicator Extensionの場合は，ほかのHiRDBへ更新内容を反映するシステムとOracleへ更新内容を反映するシステムを，同一マシン上で構築できます。

Windows版Datareplicator Extensionの場合は，反映側Datareplicatorの運用ディレクトリを指定する環境変数HDSPATHをシステム環境変数として設定するため，ほかのHiRDBへ更新内容を反映するシステムとOracleへ更新内容を反映するシステムを，同一マシン上では構築できません。

(2)　抽出側HiRDBの形態

HiRDBからOracleへデータ連動する場合は，HiRDBシステム同士のデータ連動と同様に，抽出側HiRDBがシングルサーバの場合とパラレルサーバの場合とでソフトウェア構成が異なります。

抽出側HiRDBがシングルサーバの場合の形態，及び抽出側HiRDBがパラレルサーバの場合の形態については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

1.3.4　HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合のソフトウェア構成

HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合のソフトウェア構成を次の図に示します。

図1‒4　HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合のソフトウェア構成

(1)　反映対象のSQL Serverと反映側Datareplicator Extensionの対応

HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合の，反映対象のSQL Serverと反映側Datareplicator Extensionの対応を次に示します。

SQL Serverと反映側Datareplicator Extensionとの対応

SQL Server：反映側Datareplicator Extension＝1：1

UNIX版Datareplicator Extensionの場合は，ほかのHiRDBへ更新内容を反映するシステムとSQL Serverへ更新内容を反映するシステムを，同一マシン上で構築できます。

Windows版Datareplicator Extensionの場合は，反映側Datareplicatorの運用ディレクトリを指定する環境変数HDSPATHをシステム環境変数として設定するため，ほかのHiRDBへ更新内容を反映するシステムとSQL Serverへ更新内容を反映するシステムを，同一マシン上では構築できません。

(2)　抽出側HiRDBの形態

HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合は，HiRDBシステム同士のデータ連動と同様に，抽出側HiRDBがシングルサーバの場合とパラレルサーバの場合とでソフトウェア構成が異なります。

抽出側HiRDBがシングルサーバの場合の形態及び抽出側HiRDBがパラレルサーバの場合の形態については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

1.4　データ連動システムの構築手順

Datareplicator Extensionを導入してから，データ連動するまでに必要なシステム構築手順を次の図に示します。HiRDBシステムの構築手順と運用方法については，次に示すマニュアルを参照してください。

「HiRDB システム導入・設計ガイド」

「HiRDB システム運用ガイド」

図1‒5　データ連動するまでに必要なシステム構築手順

注

このマニュアルでは，各構築手順でOracle及びSQL Serverとのデータ連動時に差異がある項目についてだけ記載しています。

各構築手順の基本的な項目及びHiRDBとのデータ連動時と差異がない項目については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※

UOC及びメッセージについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

2　環境の設定

この章では，Datareplicator Extensionに関連する製品，Datareplicatorのインストール手順と作成されるディレクトリ，環境変数の設定，及び通信環境の設定について説明します。環境を設定する方法は，UNIX版Datareplicator Extension（2.2〜2.8）とWindows版Datareplicator Extension（2.9〜2.15）に分けて説明します。

2.1　Datareplicator Extensionに関連する製品

Datareplicator Extensionを使うときに必要なソフトウェアについて説明します。

抽出側システムに必要な製品

反映側システムに必要な製品

2.1.1　抽出側システムに必要な製品

抽出側システムに必要な製品の一覧を表2-1と表2-2に示します。

表2‒1　抽出側システムに必要な製品の一覧（UNIX）

抽出側DB

製品名

備 考

OS

HP-UX，Solaris，AIX，又はLinux

どれか一つが必要です。

前提PP

Datareplicator

データ連動するときに必要です。

Oracle

Oracle

抽出側DBがOracleの場合に必要です。

表2‒2　抽出側システムに必要な製品の一覧（Windows）

抽出側DB

製品名

備 考

OS

Windows 2000，Windows Server 2003，Windows XP，Windows Server 2008，又はWindows Vista

どれか一つが必要です。

前提PP

Datareplicator

データ連動するときに必要です。

SQL Server

Microsoft SQL Server 7.0

抽出側DBがSQL Serverの場合に必要です。

Microsoft SQL Server 2000

SQL Server（ODBCドライバ）

ODBCドライバを使用してデータ連動する場合に必要です。

Oracle

Oracle

抽出側DBがOracleの場合に必要です。

2.1.2　反映側システムに必要な製品

反映側システムに必要な製品の一覧を表2-3と表2-4に示します。

表2‒3　反映側システムに必要な製品の一覧（UNIX）

反映側DB

製品名

備 考

OS

HP-UX，Solaris，又はAIX

どれか一つが必要です。

前提PP

Datareplicator

データ連動するときに必要です。

Oracle

Oracle

反映側DBがOracleの場合に必要です。

表2‒4　反映側システムに必要な製品の一覧（Windows）

反映側DB

製品名

備 考

OS

Windows 2000，Windows Server 2003，Windows XP，Windows Server 2008，又はWindows Vista

どれか一つが必要です。

前提PP

Datareplicator

データ連動するときに必要です。

周辺PP

Visual C++ 4.2，Visual C++ 5.x，又はVisual C++ 6.0

反映情報編集UOCを使用するときに必要です。

SQL Server

Microsoft SQL Server 7.0

反映側DBがSQL Serverの場合に必要です。

Microsoft SQL Server 2000

SQL Server（ODBCドライバ）

ODBCドライバを使用してデータ連動する場合に必要です。

Oracle

Oracle

反映側DBがOracleの場合に必要です。

Oracle ODBC driver

ODBCドライバを使用してデータ連動する場合に必要です。

2.2　Datareplicator Extensionのインストール（UNIX）

UNIX版Datareplicator Extensionをインストールする方法について説明します。

2.2.1　インストール前の準備

Datareplicator Extensionをインストールする前に，次に示す作業が必要になります。

稼働環境の確認

ユーザ権限の確認

(1)　稼働環境の確認

次に示す内容を確認してください。

Datareplicator Extensionをインストールするマシンのディスクの空き容量が十分にあることを確認してください。

Datareplicator Extensionが動作するのに必要な製品がインストールされていることを確認してください。

(2)　ユーザ権限の確認

インストールを実行する利用者がスーパユーザであることを確認してください。

2.2.2　インストールの実行

UNIX版Datareplicator Extensionをインストールする前に，あらかじめUNIX版Datareplicatorをインストールしておく必要があります。

「2.1　Datareplicator Extensionに関連する製品」を参照して，UNIX版Datareplicator Extensionを使うために必要な製品をインストールしてください。UNIX版Datareplicator Extensionのインストールは，日立PPインストーラで行います。

2.2.3　Datareplicator Extensionのアンインストール

UNIX版Datareplicator Extensionのアンインストールは，日立PPインストーラで実施してください。

2.3　ディレクトリ構成（UNIX）

Datareplicator Extensionは，Datareplicatorのインストールディレクトリにインストールされます。Datareplicatorのインストールディレクトリについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

2.4　環境変数の設定（UNIX）

製品をインストール後，Datareplicator Extensionを実行する前に環境変数を設定する必要があります。ここでは，設定する環境変数を抽出側Datareplicator Extensionと反映側Datareplicator Extensionに分けて説明します。

2.4.1　抽出側Datareplicator Extensionの環境変数の設定（UNIX）

Oracleとデータ連動する場合は，Datareplicatorの環境変数及びOracleのアプリケーションを使用するのに必要な環境変数を設定してください。Oracleとデータ連動する場合の環境変数の設定内容を次の表に示します。

表2‒5　Oracleとデータ連動する場合の環境変数の設定内容（抽出側Datareplicator（UNIX））

環境変数

設定内容

PATH

Datareplicatorのコマンドライブラリの名称を指定します。※1

HDEPATH

抽出側Datareplicatorの運用ディレクトリを指定します。※2

Oracle用環境変数※3

OracleのOCIアプリケーション実行に必要な環境変数を設定します。

注※1

コマンドライブラリの名称は，/opt/hirdbds/bin/ です。Datareplicatorのコマンドライブラリについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※2

Datareplicatorの運用ディレクトリの指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※3

Oracle用環境変数の設定内容については，Oracleのマニュアルを参照してください。

なお，ライブラリパスを指定する環境変数に256バイト以上の値を指定した場合，抽出側Datareplicator Extensionは指定値不正エラーとなります。256バイト以上の値を指定する必要がある場合には，node_shlibpathオペランドを指定してください。node_shlibpathオペランドの詳細については，「5.1.1　抽出システム定義」のnode_shlibpathオペランドを参照してください。

なお，次の場合は，Oracle用環境変数のNLS_LANGの設定を必ずしてください。

抽出対象表名及び列名が2バイト文字コードの場合

抽出対象列属性にCHAR，VARCHAR，NCHAR又はNVARCHAR2型がある場合

NLS_LANGの設定をしない場合は，抽出データが文字化けする場合があり，データ連動の動作を保証できません。

2.4.2　反映側Datareplicator Extensionの環境変数の設定（UNIX）

Oracleとデータ連動する場合は，Datareplicatorの環境変数及びOracleのアプリケーションを使用するのに必要な環境変数を設定してください。Oracleとデータ連動する場合の環境変数の設定内容を次の表に示します。

表2‒6　Oracleとデータ連動する場合の環境変数の設定内容（反映側Datareplicator（UNIX））

環境変数

設定内容

PATH

Datareplicatorのコマンドライブラリの名称を指定します。※1

HDSPATH

反映側Datareplicatorの運用ディレクトリを指定します。※2

Oracle用環境変数※3

OracleのOCIアプリケーション実行に必要な環境変数を設定します。

注※1

コマンドライブラリの名称は，「opt/hirdbds/bin/」です。Datareplicatorのコマンドライブラリについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※2

Datareplicatorの運用ディレクトリの指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※3

Oracle用環境変数の設定内容については，Oracleのマニュアルを参照してください。

なお，次の場合は，Oracle用環境変数のNLS_LANGの設定を必ずしてください。

抽出対象表名及び列名が2バイト文字コードの場合

抽出対象列属性にCHAR，VARCHAR，NCHAR又はNVARCHAR2型がある場合

NLS_LANGの設定をしない場合は，抽出データが文字化けする場合があり，データ連動の動作を保証できません。

2.5　通信環境の設定（UNIX）

Datareplicator Extensionを実行する前に，通信環境を設定する必要があります。

通信環境の設定については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

2.6　プロセスファイルの作成（UNIX）

Oracleとデータ連動する場合，インストール時に作成されたアーカイブライブラリを基に，Oracleを稼働させるユーザ環境下でプロセスファイルを作成する必要があります。プロセスファイルは，次のタイミングで必ず作成してください。

Datareplicator Extensionのインストール又はバージョンアップ後

Datareplicatorのバージョンアップ後

データ連動の対象となるOracleのバージョンアップ後又はパッチ対策後

上記のタイミングでプロセスファイルを作成しなかった場合は，動作を保証できません。

インストール時に作成されるアーカイブライブラリ及びアーカイブライブラリを基にして作成するプロセスファイルを表2-7と表2-8に示します。

表2‒7　インストール時に作成されるアーカイブライブラリ及びアーカイブライブラリを基にして作成するプロセスファイル（抽出側Datareplicator Extension）

アーカイブライブラリ

プロセスファイル

プロセスファイル名

libhdemasterO.a

hdemasterO

抽出マスタプロセスファイル

libhdecaptureO.a

hdecaptureO

抽出プロセスファイル

libhdeprepO.a

hdeprepO

抽出定義プリプロセスコマンド

libhdeeventO.a

hdeeventO

イベント発行コマンド

libhderesstateO.a

hderesstateO

データ連動リソース状態表示コマンド

表2‒8　インストール時に作成されるアーカイブライブラリ及びアーカイブライブラリを基にして作成するプロセスファイル（反映側Datareplicator Extension）

アーカイブライブラリ

プロセスファイル

プロセスファイル名

libhdsdefservO.a

hdsdefservO

反映定義サーバプロセスファイル

libhdssqleO.a

hdssqleO

反映SQLプロセスファイル

プロセスファイルは，Oracleが提供するサンプルメイクファイルを使用して作成します。

プロセスファイルの作成手順及び作成例については，「付録B　プロセスファイルの作成手順及び作成例」を参照してください。

2.7　データ連動リソース管理ユーザの登録（UNIX）

OracleからHiRDBへデータ連動する場合，Oracleに対してDatareplicatorが割り当てるリソース（データ連動リソース）を管理するためのユーザを事前に登録しておく必要があります。

データ連動リソースの作成については「3.1.7　データ連動リソースの作成」を参照してください。

2.7.1　データ連動リソース管理ユーザに対する権限付与

データ連動リソース管理ユーザに対しては，次に示す権限を与えておく必要があります。

権限種別

説明

権限を与えていない場合

DBA権限

任意のユーザが所有する抽出対象表に対するトリガの定義を可能とするための権限です。

権限付与例

CONNECT system/manager；

GRANT DBA TO 管理ユーザ名；

hdeprepOコマンド実行時のトリガ作成処理でエラーとなります。

権限を与えた後，hdeprepOを再実行してください。

キューテーブル管理者権限

キューテーブル管理者としてキューテーブルを作成するための権限です。

権限付与例

CONNECT system/manager；

GRANT AQ_ADMINISTRATOR_ROLE TO 管理ユーザ名；

hdestartOコマンド（-ｉオプションを指定）実行時のキューテーブル作成処理でエラーとなります。

権限を与えた後，hdestartOコマンド（-ｉオプションを指定）を再実行してください。

キューテーブルパッケージ実行権限

キューテーブル操作用パッケージを実行するための権限です。

権限付与例

CONNECT system/manager；

GRANT EXECUTE ON DBMS_AQADM TO 管理ユーザ名；

GRANT EXECUTE ON DBMS_AQ TO 管理ユーザ名；

hdeprepOコマンド実行時のトリガ作成処理でエラーとなります。

権限を与えた後，hdeprepOを再実行してください。

2.7.2　キューモニタプロセスの起動

Datareplicatorでは，DEQUEUE済みメッセージ（更新データ）を一定時間経過後に削除する指定をOracleに対して発行しています。このため，キューメッセージに対して時間監視を行うキューモニタープロセスを起動しておく必要があります。キューモニタープロセスの起動方法を次に示します。

方法1：Oracle初期化パラメタファイルへのパラメタ追加による起動

Oracle初期化パラメタファイルに次のパラメタを追加します。

aq_tm_processes=1            （設定値は1以上を指定してください）

パラメタ追加後，Oracleを再起動してください。再起動後にSQL*Plusで"show parameters aq_tm_processes"を実行して，パラメタ設定値が1以上になっていることを確認するか，OracleのログからQMUx（xは0〜9の数字）のプロセスが起動されたことを確認してください。

方法2：SQL * Plusによるパラメタの追加による起動

SQL * Plusを起動し，"ALTER SYSTEM"コマンドを使用してパラメタを追加します。

ALTER SYSTEM SET aq_tm_processes=1  （設定値は1以上を指定してください）

パラメタ追加後，SQL*Plusを再起動してください。再起動後にSQL*Plusで"show parameters aq_tm_processes"を実行して，パラメタ設定値が1以上になっていることを確認するか，OracleのログからQMUx（xは0〜9の数字）のプロセスが起動されたことを確認してください。

キューモニタープロセスが起動されなかった場合，DEQUEUE済みメッセージがキューテーブルから削除されません。そして，キューテーブルが満杯になってアプリケーションにエラーが返されます。パラメタの詳細についてはOracleのマニュアルを参照してください。

2.7.3　データ連動リソース管理ユーザの名称制限

OracleからHiRDBへデータ連動する場合は，抽出システム定義のoracleusrオペランドでデータ連動リソース管理ユーザ名及びパスワードを指定します。

データ連動リソース管理ユーザ名及びパスワードの長さは，1〜8文字にしてください。

データ連動リソース管理ユーザ名及びパスワードの長さが1〜8文字でない場合は，抽出環境初期化時にオペランドエラーとなります。

2.7.4　その他

Oracle上のすべてのデータ連動リソースをユーザごと削除できるようにするために，データ連動リソース管理ユーザは次のようにすることをお勧めします。

既存のユーザを使用するのではなく，新規に登録する。

データ連動リソース以外のオブジェクトを割り当てない。

2.8　Datareplicator管理者の登録（UNIX）

抽出側Datareplicatorが$HDEPATH下に割り当てるリソースの管理やDatareplicatorに対するコマンドを実行するための管理者をOSに対して登録します。

HiRDBシステム同士のデータ連動の場合は，抽出側Datareplicatorの管理者はHiRDBの実行ユーザと同じユーザグループに属していなければなりませんが，他社DBMSとデータ連動する場合は，特に制約はありません。

2.9　Datareplicator Extensionのインストール（Windows）

Windows版Datareplicator Extensionをインストールする方法について説明します。

2.9.1　インストール前の準備

Datareplicator Extensionをインストールする前に，次に示す作業が必要になります。

稼働環境の確認

ユーザ権限の確認

(1)　稼働環境の確認

次に示す内容を確認してください。

Datareplicator Extensionをインストールするマシンのディスクの空き容量が十分にあることを確認してください。

Datareplicator Extensionが動作するのに必要な製品がインストールされていることを確認してください。

(2)　ユーザ権限の確認

インストールを実行するユーザにAdministratorの権限があることを確認してください。

2.9.2　インストールの実行

「2.1　Datareplicator Extensionに関連する製品」を参照して，Windows版Datareplicator Extensionを使うために必要な製品をインストールしてください。

DatareplicatorとDatareplicator Extensionのどちらを先にインストールしてもかまいませんが，必ず同じディレクトリにインストールしてください。

また，Datareplicator Extensionのインストール完了後，Windowsを再起動する必要があります。

(1)　インストールの実行手順

インストール用の統合CD-ROMからインストールする手順を次に示します。インストールを実行する前に，DatareplicatorとすべてのWindowsアプリケーションを終了させてください。

HiRDBの統合CD-ROMを挿入して，hcd_inst.exeを実行します。

日立総合インストーラが起動します。

インストールプログラムが起動されます。画面の指示に従って［次へ>］ボタンをクリックします。

名前と会社名を入力して，［次へ>］ボタンをクリックします。

表示されている名前と会社名をそのまま使う場合は，入力は不要です。［次へ>］ボタンをクリックします。

インストール先ディレクトリを指定し，［次へ>］ボタンをクリックします。標準のインストール先は，次に示すディレクトリです。

Datareplicatorがインストール済みの場合

Datareplicatorをインストールしたディレクトリ

Datareplicatorがインストールされていない場合

Windowsのインストール先ドライブ：¥Program Files¥HITACHI¥hirdbds

上記のディレクトリ以外にインストールする場合は，［参照...］ボタンをクリックして，インストール先のディレクトリ※1を指定します。指定したディレクトリが存在しない場合，作成するかどうかを確認するメッセージが表示されます。

コンポーネントを選択して，［次へ>］ボタンをクリックします。

［Oracle抽出機能］を選択すると，OracleからHiRDBへデータ連動する場合の抽出側Datareplicator Extensionがインストールされます。※2

［SQL Server抽出機能］を選択すると，SQL ServerからHiRDBへデータ連動する場合の抽出側Datareplicator Extensionがインストールされます。※2

［ODBC反映機能］を選択すると，HiRDBからODBCドライバを使用してOracle又はSQL Serverへデータ連動する場合の反映側Datareplicator Extensionがインストールされます。※3

登録するプログラムフォルダ名又はグループ名として［HiRDB Datareplicator］が表示されるので，［次へ>］ボタンをクリックします。

表示されている名前以外のグループを登録する場合は，名前を指定します。また，既存のグループに登録する場合は，既存のグループの中から選択します。

ファイルのコピーを開始する前に 現在の設定が表示されるので，［次へ>］ボタンをクリックします。

Datareplicator Extensionのインストールが開始します。

Datareplicator Extensionのインストールが完了したら，いったんWindowsを再起動します。

注※1

必ずDatareplicatorと同じディレクトリへインストールしてください。Datareplicatorと異なるディレクトリへインストールした場合，プロセスの起動時にエラーとなります。

注※2

抽出側Datareplicator Extensionを使用する場合，Datareplicatorのインストールで抽出側Datareplicatorがインストールされている必要があります。

注※3

反映側Datareplicator Extensionを使用する場合，Datareplicatorのインストールで反映側Datareplicatorがインストールされている必要があります。

2.9.3　インストール時に登録される内容

インストール時に登録される内容を次に示します。

(1)　サービス

コンポーネントの選択で［Oracle抽出機能］又は［SQL Server抽出機能］を選択した場合，インストール時にサービスが登録されます。

インストール時に登録されるサービスの種類，及び［コントロールパネル］の［サービス］アイコンを開いたときに表示される名称とスタートアップの設定を次の表に示します。

表2‒9　インストール時に登録されるサービス

種　類

表示される名称

スタートアップの種類※

ログオン※

Oracle抽出サービス

HiRDB Datareplicator

（Source Site Oracle）

手動

システムアカウント

SQL Server抽出サービス

HiRDB Datareplicator

（Source Site SQL Server）

手動

システムアカウント

注※

インストール後にコントロールパネルの［サービス］アイコンを開いて変更できます。システムアカウントからAdministrators権限を持つユーザのアカウントに変更できます。

これらのサービスが登録されると，Datareplicatorのインストール時に登録される「HiRDB Datareplicator（Source site）」は，スタートアップの種類が「無効」になります。

(2)　アイコン

［HiRDB Datareplicator］フォルダに，はじめにお読みいただくファイル（Datareplicatorのインストール先ディレクトリ下の¥Extension Readme.txt）のアイコンが登録されます。

アンインストールには［コントロールパネル］の［アプリケーションの追加と削除］アイコンを使うため，アンインストールプログラムのアイコンは登録されません。

2.9.4　Datareplicator Extensionのアンインストール

Windows版Datareplicator Extensionをアンインストールする手順を次に示します。

アンインストールを実行する前に，Datareplicatorを必ず停止させてください。

［コントロールパネル］にある［アプリケーションの追加と削除］アイコンを開きます。

［インストールと削除］タブを選択します。

インストールされているアプリケーションの一覧から［HiRDB Datareplicator Extension］を選択して，［追加と削除...］ボタンをクリックします。

画面の指示に従って，［はい］ボタンをクリックします。

アンインストールが終了したら，［OK］ボタンをクリックします。

2.10　ディレクトリ構成（Windows）

Datareplicator Extensionは，Datareplicatorのインストールディレクトリにインストールされます。Datareplicatorのインストールディレクトリについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

2.11　環境変数の設定（Windows）

製品をインストール後，Datareplicator Extensionを実行する前に環境変数を設定する必要があります。ここでは，設定する環境変数を抽出側Datareplicator Extensionと反映側Datareplicator Extensionに分けて説明します。

2.11.1　抽出側Datareplicator Extensionの環境変数の設定（Windows）

他社DBMSとデータ連動する場合は，Datareplicatorの環境変数及び他社DBMSのアプリケーションを使用するのに必要な環境変数を，システム環境変数として設定してください。ユーザ環境変数として設定しても無効となります。

他社DBMSとデータ連動する場合の環境変数の設定内容を次の表に示します。

表2‒10　他社DBMSとデータ連動する場合の環境変数の設定内容（抽出側Datareplicator（Windows））

環境変数

設定内容

PATH

Datareplicatorのコマンドライブラリの名称を指定します。※1

HDEPATH

抽出側Datareplicatorの運用ディレクトリを指定します。※2

Oracle用環境変数※3

OracleのOCIアプリケーション実行に必要な環境変数を設定します。

SQL Server用環境変数※4

SQL Serverのアプリケーション実行に必要な環境変数を設定します。

注※1

コマンドライブラリの名称は，インストール時に設定されます。詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※2

Datareplicatorの運用ディレクトリの指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※3

Oracle用環境変数の設定内容については，Oracleのマニュアルを参照してください。

注※4

SQL Server用環境変数の設定内容については，SQL Serverのマニュアルを参照してください。

2.11.2　反映側Datareplicator Extensionの環境変数の設定（Windows）

ODBCドライバを使用してデータ連動する場合は，Datareplicatorの環境変数及びODBCドライバを使用するのに必要な環境変数を設定してください。また，Datareplicatorの環境変数は，システム環境変数として設定してください。ユーザ環境変数として設定しても無効となります。

ODBCドライバを使用してデータ連動する場合の環境変数の設定内容を次の表に示します。

表2‒11　ODBCドライバを使用してデータ連動する場合の環境変数の設定内容（反映側Datareplicator（Windows））

環境変数

設定内容

PATH

Datareplicatorのコマンドライブラリの名称を指定します。※1

HDSPATH

反映側Datareplicatorの運用ディレクトリを指定します。※2

SQL Server用環境変数※3

SQL Serverのアプリケーション実行に必要な環境変数を設定します。

注※1

コマンドライブラリの名称は，インストール時に設定されます。詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※2

Datareplicatorの運用ディレクトリの指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

注※3

SQL Server用環境変数の設定内容については，SQL Serverのマニュアルを参照してください。

2.12　通信環境の設定（Windows）

Datareplicator Extensionを実行する前に，通信環境を設定してください。

Datareplicator Extensionでは，Windows Terminal Serviceを使用してDatareplicator Extensionの運用・操作ができます。これによって，遠隔地のマシンや，コンソールがないマシンに対してもDatareplicator Extensionの運用・操作が可能となります。

通信環境の設定の詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

2.13　ODBC環境の設定（Windows）

ODBCドライバを使用してデータ連動する場合，Datareplicator Extensionを実行する前に，ODBC環境を設定する必要があります。

ここでは，ODBCドライバの設定内容について説明します。

2.13.1　ODBCデータソースの作成

ODBCデータソースの作成手順を次に示します。

ODBCデータソースアドミニストレータを実行します。

「コントロールパネル」から［管理ツール］−［データソース(ODBC)］の順に選択します。

［システムDSN］タブを選択し，［追加...］ボタンをクリックします。

Datareplicator Extensionで使うデータソース名称（DSN）を，システムDSNとして作成します。

使用するODBCドライバ（Oracle ODBC driver又はSQL Server）を選択し，［完了］ボタンをクリックします。

これ以降は，使用するODBCドライバごとの作成手順に従って作成します。

2.13.2　各ODBCドライバの注意点

(1)　Oracle ODBC driverを使用する場合の注意点

特にありません。

(2)　SQL Serverを使用する場合の注意点

ODBCデータソースを作成するときは，次の点に注意してください。

［SQL Serverが，ログインIDの権限の確認を行う方法は？］で，次の各項目を選択した場合の処理を次に示します。

［ネットワークへのログインIDで，Windowsの認証メカニズムを使う］を選択した場合

抽出システム定義のsql_usrオペランド，又は反映システム定義のodbcuserオペランドで指定したODBC接続認可識別子及びパスワードは無視されます。ただし，何も指定しないとDatareplicatorの定義解析でエラーとなるため，ダミーの文字列を指定してください。

［ユーザーが入力するSQL Server用のログインIDとパスワードを使う］を選択した場合

抽出システム定義のsql_usrオペランド，又は反映システム定義のodbcuserオペランドで指定したODBC接続認可識別子及びパスワードを使用してSQL Serverにアクセスします。

反映対象にできるのは，［規定のデータベースを以下のものに変更する］で選択したデータベースに作成した表だけです。

2.14　データ連動リソース管理ユーザの登録（Windows）

他社DBMSからHiRDBへデータ連動する場合，他社DBMSに対してDatareplicatorが割り当てるリソース（データ連動リソース）を管理するためのユーザを事前に登録しておく必要があります。

2.14.1　データ連動リソース管理ユーザに対する権限付与

データ連動リソース管理ユーザに対しては，次に示す権限を与えておく必要があります。

Oracleの場合

権限種別

説明

権限を与えていない場合

DBA権限

任意のユーザが所有する抽出対象表に対するトリガの定義を可能とするための権限です。

権限付与例

CONNECT system/manager；

GRANT DBA TO 管理ユーザ名；

hdeprepXコマンド実行時のトリガ作成処理でエラーとなります。

権限を与えた後，hdeprepOを再実行してください。

キューテーブル管理者権限

キューテーブル管理者としてキューテーブルを作成するための権限です。

権限付与例

CONNECT system/manager；

GRANT AQ_ADMINISTRATOR_ROLE TO 管理ユーザ名；

hdestartXコマンド（-ｉオプションを指定）実行時のキューテーブル作成処理でエラーとなります。

権限を与えた後，hdestartOコマンド（-ｉオプションを指定）を再実行してください。

キューテーブルパッケージ実行権限

キューテーブル操作用パッケージを実行するための権限です。

権限付与例

CONNECT system/manager；

GRANT EXECUTE ON DBMS_AQADM TO 管理ユーザ名；

GRANT EXECUTE ON DBMS_AQ TO 管理ユーザ名；

hdeprepXコマンド実行時のトリガ作成処理でエラーとなります。

権限を与えた後，hdeprepOを再実行してください。

SQL Serverの場合

ユーザ

ロール種別

ロール

ログインアカウント

固定サーバロール

制限なし

ユーザアカウント

固定データベースロール

db_ddladmin，db_datareader，db_datawrite

注　権限は，SQL Server管理コンソールから与えてください。

2.14.2　キューモニタプロセスの起動（Oracleの場合）

Datareplicatorでは，DEQUEUE済みメッセージ（更新データ）を一定時間経過後に削除する指定をOracleに対して発行しています。このため，キューメッセージに対して時間監視を行うキューモニタープロセスを起動しておく必要があります。キューモニタープロセスの起動方法を次に幾つか示します。

方法1：Oracle初期化パラメタファイルへのパラメタ追加による起動

Oracle初期化パラメタファイルに次のパラメタを追加します。

aq_tm_processes=1            （設定値は1以上を指定してください）

パラメタ追加後，Oracleを再起動してください。再起動後にSQL*Plusで"show parameters aq_tm_processes"を実行して，パラメタ設定値が1以上になっていることを確認するか，OracleのログからQMUx（xは0〜9の数字）のプロセスが起動されたことを確認してください。

方法2：SQL * Plusによるパラメタの追加による起動

SQL * Plusを起動し，"ALTER SYSTEM"コマンドを使用してパラメタを追加します。

ALTER SYSTEM SET aq_tm_processes=1  （設定値は1以上を指定してください）

パラメタ追加後，Oracleを再起動してください。再起動後にSQL*Plusで"show parameters aq_tm_processes"を実行して，パラメタ設定値が1以上になっていることを確認するか，OracleのログからQMUx（xは0〜9の数字）のプロセスが起動されたことを確認してください。

キューモニタープロセスが起動されなかった場合，DEQUEUE済みメッセージがキューテーブルから削除されません。そして，キューテーブルが満杯になってアプリケーションにエラーが返されます。パラメタの詳細についてはOracleのマニュアルを参照してください。

2.14.3　データ連動リソース管理ユーザの名称制限

他社DBMSからHiRDBへデータ連動する場合は，抽出システム定義のoracleusrオペランド（Oracleの場合），又はsqls_usrオペランド（SQL Serverの場合）でデータ連動リソース管理ユーザ名及びパスワードを指定します。

データ連動リソース管理ユーザ名及びパスワードの長さは，1〜8文字にしてください。

データ連動リソース管理ユーザ名及びパスワードの長さが1〜8文字でない場合は，抽出環境初期化時にオペランドエラーとなります。

2.14.4　その他

他社DBMS上のすべてのデータ連動リソースをユーザごと削除できるようにするために，データ連動リソース管理ユーザは次のようにすることをお勧めします。

既存のユーザを使用するのではなく，新規に登録する。

データ連動リソース以外のオブジェクトを割り当てない。

2.15　Datareplicator管理者の登録（Windows）

抽出側Datareplicatorが$HDEPATH下に割り当てるリソースの管理やDatareplicatorに対するコマンドを実行するための管理者をOSに対して登録します。

Datareplicator管理者の登録については，「2.8　Datareplicator管理者の登録（UNIX）」を参照してください。

3　データ連動機能

この章では，Datareplicator Extensionで実現できるデータ連動の，抽出処理及び反映処理の各機能について説明します。

3.1　抽出側Datareplicator Extensionの抽出処理

抽出側Datareplicator Extensionの抽出処理について説明します。

3.1.1　抽出処理の概要

他社DBMS（Oracle又はSQL Server）からの更新情報の抽出には，トリガ及びキューテーブルを使用します。

DBMSによって抽出に使用するキューテーブルは異なります。DBMSごとに使用するキューテーブルを次の表に示します。

表3‒1　各DBMSが使用するキューテーブル

DBMS

キューテーブル

Oracle

アドバンストキュー（Oracle機能）

SQL Server

データベースキュー（Datareplicator Extension機能）

抽出処理の概要を次の図に示します。

図3‒1　抽出処理の概要

注※1

hdeprepXコマンドを実行して，抽出定義プリプロセスファイルを作成

注※2

トリガを実行して，キューテーブルへ更新情報を格納

注※3

キューテーブルに格納されている更新情報の取り出し（DEQUEUE）

注※4

抽出情報キューファイルへ更新情報を格納（ENQUEUE）

(1)　抽出

抽出の手順を次に示します。

APなどによる更新処理の延長でトリガを実行して更新情報を抽出し，キューテーブルへ格納します（この操作をENQUEUEといいます）。

キューテーブルに格納されている更新情報を取り出し，取り出した更新情報を抽出情報キューファイルへ格納します（この操作をDEQUEUEといいます）。

(2)　送信

抽出情報キューファイルに格納されている更新情報を読み出し，指定された送信先の反映側システムに送信します。

3.1.2　抽出処理のタイミング

抽出処理の開始タイミングと停止タイミングについて説明します。

説明中のコマンド名のXは，使用するDBMSによって変わることを意味します。例えば，hdeprepXは，使用するDBMSがOracleの場合はhdeprepO，SQL Serverの場合はhdeprepSとなります。

(1)　抽出処理の開始タイミング

(a)　キューテーブルへの更新情報の格納

hdeprepXコマンドの実行が完了した時点から開始します。

(b)　キューテーブルから抽出情報キューファイルへの更新情報の格納

hdestartXコマンド（オプション指定なし，又は-eオプションを指定）の実行が完了した時点から開始します。

(2)　抽出処理の停止タイミング

抽出側Datareplicator Extensionは，hdestopXコマンド（オプション指定なし，又は-eオプションを指定）を実行して終了します。

他社DBMSからHiRDBへデータ連動する場合は，HiRDBシステム同士のデータ連動時のような抽出対象DBMSの動作と連動した抽出処理の停止（抽出システム定義のsynctermオペランド及びtermlevelオペランドによる同期停止や，Datareplicatorのpdrplstopコマンドによる強制停止など）はできません。

3.1.3　更新情報の取り出し

キューテーブルに入っている更新情報の取り出しには，DEQUEUEを使用します。

(1)　更新情報の有効性

DEQUEUEは，更新元トランザクションが有効（COMMIT完了済み）となっている更新情報だけを取り出します。

このため，抽出側Datareplicator Extensionが抽出する更新情報はすべて有効トランザクションについてのものだけとなります。

(2)　更新情報の取り出し順序

キューテーブルに入っている更新情報は，DEQUEUEを実行した時点で有効となっているすべてのトランザクションを対象として，更新処理の実行順に取り出されます（DEQUEUEのうちの格納順取り出し方法を使用）。

この方法は，DEQUEUEを実行するタイミングによって抽出対象となるトランザクションが異なるため，取り出される更新情報の順序が異なる可能性がありますが，抽出する更新情報は有効トランザクションについてのものだけなので，同一行に対しての更新順序は保証されます。

3.1.4　データ型の変換

抽出側DBから抽出された更新データのデータ型は，抽出側Datareplicator Extensionによって反映側DBに反映できるデータ型に変換され，抽出情報キューファイルに格納されます。

データ型の対応については，「4.1.2　データ型の対応の設計」を参照してください。

なお，抽出側DBが他社DBMSの場合，変換ができるデータ型であっても抽出情報キューファイルに格納できないデータがあります。これらのデータを例外データといいます。

例外データを検出した場合は，これらを抽出情報キューファイルに格納できるデータに置換することで，抽出処理を続行できます。

Oracleの場合の例外データを次に示します。

データ型

抽出情報キューファイルに格納できないデータ

理由

NUMBER型

「表4-3　SQL Serverから抽出するデータのデータ型対応」の注※1に従ってデータ型を変換した列に対する，各数値型の表現範囲外のデータ。

抽出情報キューファイルに格納するためには，各数値型に相当する形式に変換する必要がありますが，表現範囲外であるため変換できません。

DATE型

紀元前の日付データ。

抽出情報キューファイルに格納するためには，日付データは4バイトのパック形式に変換する必要がありますが，紀元前の日付データは変換できません。

次にSQL Serverの場合の例外データを次に示します。

データ型

抽出情報キューファイルに格納できないデータ

理由

CHAR（n）型

時間又は日付用の情報を格納しているCHAR型データ（n≠8，10）。

時間及び日付のデータ形式が，'HH:MM:SS'及び'YYYY-MM-DD'のため，n＝8，10以外では変換できません。

(1)　例外データを検出したときの抽出側Datareplicator Extensionの動作

例外データを検出したときの抽出側Datareplicator Extensionの動作は，次に示すどちらかを選択できます。

例外データを検出したときの抽出側Datareplicator Extensionの動作

出力メッセージ

抽出処理を停止します。

KFRB05028-E

例外データを置換して，抽出処理を続行します。

KFRB05029-W

例外データを検出したときの抽出側Datareplicator Extensionの動作は，抽出環境定義のexterrlevelオペランドで指定します。

また，例外データを置換して抽出処理を続行する場合，どの値に置換するかは，抽出環境定義のcvt_datakindオペランドで指定します。

各オペランドの詳細については，「5.1.2　抽出環境定義」を参照してください。

(2)　例外データを置換する場合の置換値

Oracleの場合の例外データを置換する場合の置換値を次に示します。

データ型

置換値

ナル値

最大値

最小値

NUMBER型

ナル値

各数値型の表現範囲の最大値

0

DATE型

ナル値

9999/12/31 23:59:59

0001/01/01 00:00:00

SQL Serverの場合の例外データを置換する場合の置換値を次に示します。

データ型

置換値

ナル値

最大値

最小値

CHAR（n）型

ナル値

9999/12/31

0001/01/01

23:59:59

00:00:00

3.1.5　更新情報及びトランザクション情報の出力

抽出情報キューファイルに対しては，更新情報だけではなく，送信プロセスで実行するトランザクション管理処理に使用する更新トランザクションの開始／終了情報を出力する必要があります。

しかし，データ連動用トリガで取得できる更新情報は更新差分情報だけであり，トランザクションの開始／終了についての情報は取得できないため，他社DBMSからの更新情報の抽出時は，抽出側Datareplicator Extensionが更新トランザクションの開始／終了情報を付け加えます。

(1)　トランザクション情報を付け加えるタイミング

抽出側Datareplicator Extensionは，次に示すタイミングで更新トランザクションの開始／終了情報を付け加えます。

抽出側Datareplicator Extensionが付け加えるトランザクション情報

トランザクション情報を付け加えるタイミング

更新トランザクションの開始情報

次のどちらかのタイミング。

抽出処理を開始した直後の，最初の更新情報を取り出したとき

更新トランザクションの終了情報を付け加えた後，次の更新情報を取り出したとき

更新トランザクションの終了情報

次のどれかのタイミング。

抽出処理の同期制御が実行されていない更新情報の数が，トランザクションの最大更新情報数に達したとき

抽出処理の同期制御が実行されていない更新情報がある時点で，EOQが検知されたとき

抽出処理の同期制御が実行されていない更新情報がある時点で，抽出処理の停止要求を受け付けたとき

抽出側Datareplicator Extensionは，実際に他社DBMSに対して実行した更新トランザクションとは異なるタイミングで，更新トランザクションの開始／終了情報を付け加えます。したがって，他社DBMSからHiRDBへのデータ連動は，データ連動が完了した時点でだけ抽出側と反映側の整合性が保証されていれば問題がないような業務に対して適用してください。

なお，データ連動中に反映側DBを参照する場合の留意点を次に示します。

抽出側で実行したトランザクション単位とは異なる単位で反映処理が有効となります。したがって，実際のトランザクション以上に排他範囲が大きくなる可能性があるため，NOWAIT検索をお勧めします。

更新順序は，同一行に対しては保証されますが，表間又は行間に対しては保証されません。

(2)　トランザクションの最大更新情報数の調整

1トランザクション当たりの最大更新情報数を抽出環境定義のtran_datanumオペランドで指定できます。

オペランドの詳細については，「5.1.2　抽出環境定義」を参照してください。

3.1.6　抽出間隔の制御

DEQUEUEを実行してもキューテーブルに取得ができるデータがなかった場合，次のDEQUEUEを実行するまでの間隔を抽出環境定義のext_wait_intervalオペランドで指定できます。

オペランドの詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の抽出環境定義を参照してください。

3.1.7　データ連動リソースの作成

他社DBMSからHiRDBへデータ連動する場合，データ連動リソース管理ユーザに対してデータ連動に必要なリソースを作成する必要があります。

データ連動リソース管理ユーザについては，「2.7　データ連動リソース管理ユーザの登録（UNIX）」又は「2.14　データ連動リソース管理ユーザの登録（Windows）」を参照してください。

(1)　データ連動リソースの一覧

Oracleの場合のデータ連動リソースの一覧を次の表に示します。

表3‒2　Oracleの場合のデータ連動リソースの一覧

リソース種別

リソース名

使用目的

割り当て数

初期作成／再作成のタイミング

オブジェクト型

RPL_EXT_MSGTYPE

キューテーブルに格納するメッセージのデータ型

1

抽出環境初期化時

（hdestartOコマンド（-ｉオプションを指定）の延長）

キューテーブル

RPL_EXT_QUEUE

各抽出表トリガからの更新情報格納用キュー

キューテーブル表

（アドバンストキューテーブル）

RPL_EXT_QUEUETBL

各抽出表トリガからの更新情報格納用キュー表

抽出同期管理テーブル

RPL_EXT_SYNCTBL

抽出同期処理異常終了時の回復情報格納

抽出順序管理テーブル

RPL_EXT_SORTTBL

同一行に対する更新順序保証のためのソート情報格納

抽出順序管理テーブル用インデクス

RPL_EXT_SORTIDX

DEQUEUE性能向上のための抽出順序管理テーブルに対するインデクス

シーケンス番号

RPL_EXT_SEQ

更新順序保証のためのシーケンス番号

データ連動用トリガ

RPL_EXT_TRGxxxx

（xxxx：1〜4096）

抽出表からの更新情報取得及びキュー格納

抽出表と同数

抽出定義プリプロセスファイルの作成時

（hdeprepOコマンドの延長）

注

削除のタイミングは，どのリソースも，DROP USER…CASCADEを実行してデータ連動リソース管理ユーザを削除したときです。

SQL Serverの場合のデータ連動リソースの一覧を次の表に示します。

表3‒3　SQL Serverの場合のデータ連動リソースの一覧

リソース種別

リソース名

使用目的

割り当て数

初期作成／再作成のタイミング

キューテーブル

RPL_EXT_QUEUETBL

各抽出表トリガからの更新情報格納用キュー

1

抽出環境初期化時(hdestartSコマンド（-iオプションを指定）の延長)

抽出同期管理テーブル

RPL_EXT_SYNCTBL

抽出同期処理異常終了時の回復情報格納

1

リソースオペランドテーブル

RPL_EXT_RESOPDTBL

抽出システム定義のsqls_msgkeeptimeの値保証のため

1

データ連動用トリガ

RPL_EXT_TRGnnnn_XXX※

抽出表からの更新情報取得及びキューテーブル格納

抽出表の数×3

抽出定義プリプロセスファイルの作成時（hdeprepSコマンドの延長）

注※

nnnn及びXXXには，次に示す値が入ります。

変数

値

備考

nnnn

1〜4096

−

XXX

INS

INSERT用トリガを意味します。

UPD

UPDATE用トリガを意味します。

DEL

DELETE用トリガを意味します。

(2)　更新情報の保存

抽出データ不正などの障害が発生した時に，他社DBMSと抽出側Datareplicator Extensionのどちらに問題があるかを判断できるように，キューテーブルから更新情報を取り出した後もキューテーブル内に更新情報を保存できます。保存期間は，抽出システム定義のoracle_msgkeeptime（Oracleの場合）オペランド，又はsqls_msgkeeptime（SQL Serverの場合）で指定できます。

oracle_msgkeeptimeオペランドの詳細については「5.1.1　抽出システム定義」を，sqls_msgkeeptimeオペランドの詳細については「5.2.1　抽出システム定義」を参照してください。

(3)　データ連動リソースについての注意

次の場合は，データ連動の動作及び抽出側と反映側の整合性を基本的に保証できません。

「表3-2　Oracleの場合のデータ連動リソースの一覧」に示したデータ連動リソースを，Datareplicator Extensionが提供するコマンドを使用しないでユーザ自身が作成した場合

コマンドを使用して作成したリソースに対して，ユーザが独自に定義内容を変更したりリソースを削除したりした場合

ただし，トリガについては，抽出対象表の運用の一環として，ユーザ責任でトリガを削除できます。抽出対象表の運用については，Oracleの場合は「6.2.1　抽出対象表の運用」を，SQL Serverの場合は「6.4.1　抽出対象表の運用」参照してください。

(4)　トリガの作成

トランザクション処理中にトリガを再作成することでトランザクションの一貫性が不正となるのを防ぐため，データ連動用トリガの作成は，抽出対象表に対する共用排他を取得し，排他取得が成功した場合にだけ実行します。排他取得に失敗した場合は，抽出定義プリプロセスファイルを作成するコマンド（hdeprepX）をエラー停止します。

また，トリガを作成していない状態で抽出処理が起動するのを防ぐため，トリガ作成中にエラーが発生した場合は，エラーが発生するまでに作成したすべてのデータ連動用トリガを削除するとともに，抽出定義プリプロセスファイルを使用できないようにします。

(5)　エラー処理

データ連動リソースの作成時に起こるエラー内容及びエラーに対する対処方法を次に示します。

エラー内容

対処方法

オブジェクト型作成エラー

エラーの原因を取り除いた後，再度，抽出環境を初期化してください。

キューテーブル作成エラー

抽出同期管理テーブル作成エラー

トリガ作成エラー※

エラーの原因を取り除いた後，再度，抽出定義プリプロセスファイルを作成してください。

その他の他社DBMS操作エラー

エラーの原因を取り除いた後，再度，抽出環境を初期化するか抽出定義プリプロセスファイルを作成してください。

注

上記のエラーが発生した場合，KFRB00060-Eメッセージが出力され，抽出処理はエラー終了します。

注※

エラー処理の過程で，エラーが発生するまでに作成したすべてのデータ連動用トリガを削除するとともに，抽出定義プリプロセスファイルを使用できないようにします。

3.2　反映側Datareplicator Extensionの反映処理

反映側Datareplicator Extensionの反映処理について説明します。

3.2.1　反映処理の概要

反映処理は，HiRDBシステム同士のデータ連動時と差異はありません。

反映処理の概要については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

3.2.2　反映処理の方式

反映側Datareplicatorでは，反映処理の方式を次の二つから選べます。どちらの方式にするかは，反映環境定義で指定します。

トランザクション単位反映方式

表単位反映方式

ただし，マルチFES機能に対応した反映方式は指定できません。

3.2.3　反映処理のタイミング

反映処理の開始タイミングと停止タイミングについて説明します。

(1)　反映処理の開始タイミング

反映処理の開始タイミングは，反映側Datareplicator Extensionの起動時には反映処理を開始しないで，何らかの方式で開始が要求された時点で反映処理を開始する遅延開始です。

反映処理の開始を要求する方式を次に示します。

HiRDBからOracleへデータ連動する場合

hdsstartコマンドを実行して，反映側Datareplicatorを起動します。

ただし，システム起動時のstartmodeパラメタの指定がspdの場合は反映処理を開始しません。

hdsrfctlコマンドを実行して，反映処理を再開始します。

HiRDBからODBCドライバを使用してデータ連動する場合

hdsstartコマンドを実行します。又は，Datareplicator（Target Site）サービスを開始します。

ただし，システム起動時のstartmodeパラメタの指定がspdの場合は反映処理を起動しません。

hdsrfctlコマンドを実行して，反映処理を再開始します。

(2)　反映処理の停止タイミング

反映側Datareplicator Extensionは，次のどちらかで終了します。

HiRDBからOracleへデータ連動する場合

hdsstopコマンドを実行して，反映側Datareplicatorを終了します。

hdsrfctlコマンドを実行して，反映側Datareplicatorをイベント待ち状態にします。

HiRDBからODBCドライバを使用してデータ連動する場合

Datareplicator（Target Site）サービスを終了します。

hdsrfctlコマンドを実行して，反映側Datareplicatorをイベント待ち状態にします。

3.2.4　時系列情報の取得

反映定義に時系列情報を取得する指定をすると，反映処理の実行時に反映側システムに対する更新情報を時系列情報表に蓄積できます。

時系列情報の取得については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

ただし，時系列情報表の作成については，「4.1.4　時系列情報表の作成」を参照してください。

3.3　Oracle，SQLServerから抽出を行う場合の滞留監視機能

滞留監視機能とは，更新データの滞留時間を監視する機能です。滞留時間とは，抽出プロセスがキューテーブルから更新情報を抽出した時刻と，任意のデータ連動処理が完了した時刻との差のことです。滞留監視機能の概念を次の図に，滞留監視する項目を次の表に示します。

図3‒2　滞留監視機能の概念

表3‒4　滞留監視する項目

監視項目

説明

監視プロセス

送信滞留時間

抽出プロセスがキューテーブルから更新情報を抽出した時刻と，その更新情報が送信されて反映側DBMSで受信が完了した時刻との差のことです。

送信プロセスの送信間隔ごとに監視します。複数の更新情報が一度に送信される場合は，それらのうち，最初に送信された更新情報の受信が完了した時刻との差が，送信滞留時間になります。

送信プロセス

反映滞留時間

抽出プロセスがキューテーブルから更新情報を抽出した時刻と，反映側DBでその更新情報が反映された時刻との差のことです。

反映側DBでのコミット間隔ごとに監視します。

反映プロセス

Datareplicatorの滞留監視機能と異なる点

Datareplicatorの滞留監視機能では上記以外に「抽出滞留時間」を監視できますが，Datareplicator Extensionではサポートしていません。抽出滞留時間を監視するオペランド（extract_delay_limit_time）を指定しても無効になります。また，Datareplicatorでは送信滞留時間及び反映滞留時間は，「更新情報がシステムログファイルに格納された時刻」を起点とした滞留時間となるので，注意してください。

Oracle，SQLServerへ反映する場合の滞留監視機能については，Datareplicatorの滞留監視機能を参照してください。

3.4　イベント機能

イベント機能とは，抽出側システムで発行したイベントに従って，反映処理の動作を切り替える機能です。イベント機能を使用すると，反映処理の停止，反映処理の再開始，及び稼働中の反映処理の反映方式の切り替えができます。

イベント機能の詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

抽出側DBがHiRDBの場合はイベント制御用テーブルにFIX属性を指定しますが，FIX属性の指定はHiRDB独自の指定のため，抽出側DBが他社DBMSのときはFIX属性を指定する必要はありません。

イベント制御用テーブルを作成するSQL文の例を次に示します。

　　　　　CREATE TABLE "hde_dtbl"("KEY" INTEGER,"EVNO" INTEGER,"SNDID" CHAR(10));
　　　　　COMMIT;
　　　　　INSERT INTO "hde_dtbl" VALUES (1, 0, '0');
　　　　　COMMIT;

4　システム設計

この章では，Datareplicator Extensionを使用したデータ連動システムを設計する方法について説明します。

4.1　抽出側DBと反映側DBとの対応の設計

抽出側DBと反映側DBを対応させたシステム設計について説明します。

4.1.1　抽出側DBの条件

他社DBMSのデータベースからデータを抽出する場合の条件について説明します。

(1)　抽出対象表

抽出対象表の種別は実表だけです。

抽出対象表の運用については，「6.2.1　抽出対象表の運用」を参照してください。

(2)　抽出対象のSQL文

他社DBMSからの更新情報は，抽出対象表に対して定義したトリガによって抽出されます。抽出の対象となるSQL文の操作は，トリガを定義するときに指定したトリガイベントに従います。

抽出対象表に対してDatareplicatorが定義するトリガイベントを次に示します。

INSERT

UPDATE

DELETE

したがって，上記のSQL文の操作が抽出の対象となります。

ただし，APからの抽出対象表に対する更新だけでなく，ほかの表の更新を契機とした自動的な更新やユティリティの実行などで，内部的にトリガが実行される場合があります。内部的にトリガが実行される契機については，他社DBMSの仕様に従います。

4.1.2　データ型の対応の設計

抽出処理で抽出側DBから抽出された更新データのデータ型は，抽出側Datareplicator Extensionによって反映側DBに反映できるデータ型に変換され，抽出情報キューファイルに格納されます。

このとき，抽出側DBから抽出されたデータは，まずHiRDBデータ型に変換されます。そして，HiRDBデータ型から反映側DBに合ったデータ型に変換されて，抽出情報キューファイルに格納されるという流れになります。

図4‒1　データ型の変換

Datareplicator Extensionが対応している抽出側DBMSと反映側DBMSの組み合わせを次の表に示します。

表4‒1　Datareplicator Extensionが対応している抽出側DBMSと反映側DBMSの組み合わせ

抽出側DB

反映側DB

HiRDB（UNIX，Windows）

Oracle（UNIX，Windows※2）

SQL Server（Windows）

HiRDB（UNIX，Windows）

○※1

○

○

Oracle（UNIX，Windows）

○

×

×

SQL Server（Windows）

○

×

×

（凡例）

○：データ連動可能

×：データ連動不可

注※1

Datareplicator Extensionは不要です。

注※2

データ連動にODBCを使用します。

以降では，各DBMSのデータ型とHiRDBデータ型との対応について説明します。抽出側DBで使用するデータ型が反映側でどのデータ型に変換されるかは，「(1)抽出側DBのデータ型の対応」及び「(2)反映側DBのデータ型の対応」を比較して調べてください。

(1)　抽出側DBのデータ型の対応

ここでは，抽出側DBのデータ型とHiRDBデータ型との対応について説明します。

(a)　Oracleデータ型からHiRDBデータ型への変換

Oracleからデータを抽出した場合，HiRDBデータ型には次の表のように変換されます。

抽出対象外のデータを抽出対象として抽出定義に指定した場合は，抽出定義プリプロセスファイルの作成処理でエラーとなります。

表4‒2　Oracleから抽出するデータのデータ型対応

Oracleデータ型

対応するHiRDBデータ型

データ属性

データの長さ

VARCHAR2（n）

1≦n≦4000

MVARCHAR（n）

NVARCHAR2（n）

1≦n≦4000

NVARCHAR（n）

NUMBER（p，s）

1≦p≦38

−84≦s≦127

SMALLINT，INTEGER，DECIMAL，又はFLOAT※1

LONG

−

抽出対象外

ROWID

−

抽出対象外

DATE

固定長の日付＋時間データ。

DATE，TIME，又はCHAR（19）※2

RAW（n）

1≦n≦2000

BLOB（n）

LONG RAW

−

抽出対象外

CHAR（n）

1≦n≦2000

MCHAR（n），DATE，又はTIME※2

NCHAR（n）

1≦n≦2000

NCHAR（n）

CLOB

−

抽出対象外

NCLOB

−

抽出対象外

BLOB

−

抽出対象外

BFILE

−

抽出対象外

UROWID

−

抽出対象外

ユーザ定義型

−

抽出対象外

（凡例）

−：該当しません。

注1

抽出対象のデータのnは，データ長（バイト数）を表します。ただし，NCHAR及びNVARCHARについては文字数を表します。

また，pは精度，sは位取りを表します。

注2

反映対象表のデータ型のnは，データ長（バイト数）を表します。

ただし，NCHAR及びNVARCHARについては文字数を表します。

注※1

精度及び位取りを基に，次の表に従ってデータ型を決定します。

指定分類

Oracleのデータ

decimal_max_precisionオペランド指定値

条件

HiRDBデータ型

精度及び位取りの指定なし

NUMBER

REAL

DOUBLE PRECISION

−

なし

FLOAT

INTEGER

SMALLINT

DECIMAL

NUMERIC

−

なし

INTEGER

精度だけ指定

NUMBER（p）

DECIMAL（p）

NUMERIC（p）

m≧p

p≦4

SMALLINT

5≦p≦9

INTEGER

10≦p≦m

［LARGE］ DECIMAL（p）

m＜p

−

FLOAT

FLOAT（p）

−

−

FLOAT

精度及び位取りを指定

NUMBER（p，s）

DECIMAL（p，s）

NUMERIC（p，s）

m≧p

p≧m+1，

s≧m+1，

又はp−s≧m+1

FLOAT

p＜s

かつp＜m+1

かつs＜m+1

かつp−s＜m+1

［LARGE］ DECIMAL（s，s）

s＜0

かつp＜m+1

かつp−s＜m+1

［LARGE］ DECIMAL（p−s，0）

上記以外

［LARGE］ DECIMAL（p，s）

m＜p

−

FLOAT

（凡例）

−：依存しません。

m：抽出システム定義decimal_max_precisionオペランドの指定値です。省略した場合は，29が仮定されます。mの範囲は，29から38です。

注※2

どのデータ型で抽出するかは，抽出定義でユーザが指定します。

抽出定義の詳細については，「5.1.4　抽出定義」を参照してください。

(b)　SQL Serverデータ型からHiRDBデータ型への変換

SQL Serverからデータを抽出した場合，HiRDBデータ型には次の表のように変換されます。

抽出対象外のデータを抽出対象として抽出定義に指定した場合は，抽出定義プリプロセスファイルの作成処理でエラーとなります。

表4‒3　SQL Serverから抽出するデータのデータ型対応

SQL Serverデータ型

対応するHiRDBデータ型

データ属性

データの長さ

BIGINT

−

LARGE DECIMAL（19，0）

p＝19，s＝0

INT

−

INTEGER

SMALLINT

−

SMALLINT

TINYINT

−

SMALLINT

BIT

−

CHAR（1）

DECIMAL（p，s）

0＜p＜m

0≦s≦p

p≦mの場合，LARGE DECIMAL（p，s）

pとsは抽出対象表定義に指定したものと同じです。

p＞mの場合，FLOAT

NUMERIC（p，s）

MONEY

−

LARGE DECIMAL（19，4）

SMALLMONEY

−

DECIMAL（10，4）

FLOAT

−

FLOAT

REAL

−

SMALLFLT

DATETIME

−

DATE，TIME，又はCHAR（19）※1

SMALLDATETIME

CHAR（n）

−

CHAR（n）※1

VARCHAR（n）

−

VARCHAR（n）

TEXT

−

抽出対象外

NCHAR（n）

−※2

NCHAR（n）

NVARCHAR（n）

−※2

NVARCHAR（n）

NTEXT

−

抽出対象外

BINARY

−

BLOB，又はVARCHAR※1※3

VARBINARY

IMAGE

−

抽出対象外

SQL_VARIANT

−

VARCHAR（8000）

TIMESTAMP

−

抽出対象外

UNIQUEIDENTIFIER

ユーザ定義データ型（ADT）

−

ベースデータ型マッピングに従います。

（凡例）

m：抽出システム定義decimal_max_precisionオペランドの指定値です。省略した場合は，29が仮定されます。mの範囲は，29から38です。

注※1

どのデータ型で抽出するかは，抽出定義でユーザが指定します。

抽出定義の詳細については，「5.2.4　抽出定義」を参照してください。

注※2

偶数長のシングルバイトデータ，又はマルチバイトデータである必要があります。

注※3

バイナリデータの最後の情報が「81」から「9F」までの場合，抽出情報キューファイルへの出力時点でこれらがNULL文字に変換されます。

BINARY又はVARBINARY以外のデータ型の列にバイナリデータを反映する場合，抽出情報キューファイルへの出力時点で「00」以降のデータは破棄されます。例えば，「0x006162630000」というデータをCHAR型の列に反映した場合，「0x000000…00」というデータになります。

(2)　反映側DBのデータ型の対応

ここでは，反映側DBのデータ型とHiRDBデータ型との対応について説明します。

(a)　HiRDBデータ型からOracle（UNIX）データ型への変換

UNIX版Oracleのデータ型には，DB内部のデータ形式を表す内部データ型と，AP内のデータ形式を表す外部データ型があります。外部データ型は，内部データ型より種類が多く，OracleはAP内の外部データ型のデータを内部データ型の列へ変換する多種のデータ変換パターンを持っています。

Datareplicator Extensionは，HiRDBから抽出したデータをOracleの外部データ型へデータ変換してOracleのデータベースへ反映します。このため，反映対象表の作成時には，外部データ型から変換できる内部データ型を使用してください。

HiRDBからOracleへデータ連動する場合の，抽出対象表と反映対象表のデータ型の対応を次の表に示します。

注意事項

Windows版のOracleへの反映には，ODBCを使用します。「(b)HiRDBデータ型からODBCのデータ型への変換（SQL Server，Oracle）」を参照してください。

表4‒4　Oracleに反映するデータのデータ型対応

HiRDBデータ型

対応するOracle

データ型

データ属性

データの長さ

INTEGER

データ長については，マニュアル「HiRDB SQLリファレンス」を参照してください。

INTEGER（4）

SMALLINT

INTEGER（2）

DECIMAL※1

CHAR

FLOAT

FLOAT（8）

SMALLFLT

CHAR※7

1≦n≦255

CHAR（n）

MCHAR

NCHAR

1≦n≦127

CHAR（2n）

CHAR※2※7

n≧256

LONG（n）

MCHAR※2

NCHAR※2

n≧128

LONG（2n）

VARCHAR※3※7

1≦n≦4000

VARCHAR2（n）

MVARCHAR※3

NVARCHAR※3

1≦n≦2000

VARCHAR2（2n）

DATE※4

データ長については，マニュアル「HiRDB SQLリファレンス」を参照してください。

CHAR（10）

TIME※4

CHAR（8）

INTERVAL YEAR TO DATE※5

RAW（5）

INTERVAL HOUR TO SECOND※5

RAW（4）

BLOB※6

1≦n≦2147483647

LONG RAW（n）

注1

データの長さのnは，データ長（バイト数）を表します。

ただし，NCHAR及びNVARCHARについては文字数を表します。

注2

反映対象表のデータ型は，Oracleの外部データ型を表します。

また，（　）内はデータ長（バイト数）を表します。

注※1

OracleのC言語のOCI（Oracle Call Interface）では，DECIMAL型のデータを扱えないので，数値文字列として文字型で反映します。なお，この場合のDECIMAL型の精度の最大値は38です。

数値文字列へ変換する場合は，符号を正規化します。符号の正規化手順を次に示します。

符号の正規化手順

X'A'→X'C'
X'B'→X'D'
X'C'→X'C'
X'D'→X'D'
X'E'→X'C'
X'F'→X'F'

注※2

LONG型は探索条件に指定できません。

注※3

HiRDBには0バイトのデータを格納できますが，Oracleには0バイトのデータを格納できません。そのため，Datareplicatorでは反映先Oracleに対して0x00を格納します。

したがって，0バイトのデータを検索するためには，「0x00」を検索条件とする必要があります。このような検索差異を生じさせないために，Oracleへデータ連動する場合は，抽出側で0バイトのデータを扱わない運用をお勧めします。

注※4

TIME型はOracleに存在しないデータ型です。また，DATE型は，Oracleに存在するデータ型ですが，HiRDBとはデータ形式が異なり，日付及び時間の情報を持ちます。

Datareplicator Extensionでは，TIME型の抽出データをHH：MM：SS形式の文字列データとして，OracleのCHAR型で反映します。また，DATE型の抽出データをYYYY-MM-DD形式の文字列データとして，OracleのCHAR型で反映します。

ユーザは，TIME又はDATE型のどちらかのフォーマットをOracleの初期化パラメタNLS_DATE_FORMATに指定することで，抽出データをDATE型の列へ反映できます。その場合，内部的には列値にフォーマットされていない部分にOracleが仮定値を入れます（仮定値は，SQL実行日時によって変化します）。

Oracleは日付及び時間を含めた（システムの仮定値を含めた）条件判定をするため，Oracleが仮定値を入れた状態でその列をキー値とした条件検索を実行すると，条件が合わないことがあります。したがって，TIME及びDATE型のマッピングキーをDATE型の列へ反映しないでください。

注※5

バイナリデータとして反映します。

注※6

OracleのLONG RAW型への反映はできますが，OracleのBLOB型へは反映できません。

BLOB型を追加更新又は後方削除更新している場合は，データ連動しないでください。抽出側DBと反映側DBで不整合が発生します。

注※7

文字集合指定をした列はデータ連動できません。指定した場合，ポートチェックエラーとなります。

(b)　HiRDBデータ型からODBCのデータ型への変換（SQL Server，Oracle）

ODBCドライバを使用してOracle又はSQL Serverへデータ連動する場合は，HiRDBデータ型をODBCのデータ型に変換してODBC関数を発行します。このため，反映対象表の作成時には，ODBCのデータ型から変換できるデータ型を使用してください。

HiRDBからODBCドライバを使用してデータ連動する場合の，抽出対象表と反映対象表のデータ型の対応を次の表に示します。

表4‒5　ODBCを使用して反映するデータのデータ型の対応

HiRDBデータ型

対応するODBCのデータ型

データ属性

データの長さ

ODBC SQLデータ型

ODBC Cデータ型

INTEGER

データ長については，マニュアル「HiRDB SQLリファレンス」を参照してください。

SQL_INTEGER

SQL_C_SLONG

SMALLINT

SQL_SMALLINT

SQL_C_SSHORT

DECIMAL※1

SQL_DECIMAL

SQL_C_CHAR

LARGE DECIMAL※1

FLOAT

SQL_FLOAT

SQL_C_DOUBLE

SMALLFLT

SQL_REAL

SQL_C_FLOAT

CHAR※6

1≦n≦254

SQL_CHAR

SQL_C_CHAR

MCHAR

NCHAR

CHAR※6

n≧255

SQL_LONGVARCHAR

SQL_C_CHAR

MCHAR

NCHAR

VARCHAR※6

データ長については，マニュアル「HiRDB SQLリファレンス」を参照してください。

LONG VARCHAR

MVARCHAR

LONG MVARCHAR

NVARCHAR

LONG NVARCHAR

DATE※2

SQL_DATE

SQL_C_DATE

TIME※2

SQL_TIME※5

SQL_C_TIME※5

INTERVAL YEAR TO DATE※3

SQL_BINARY（5）

SQL_C_BINARY

INTERVAL HOUR TO SECOND※3

SQL_BINARY（4）

SQL_C_BINARY

BLOB※4

SQL_LONGVARBINARY

SQL_C_BINARY

注1

データの長さのnは，データ長（バイト数）を表します。

ただし，NCHARについては文字数を表します。

注2

反映対象表のデータ型の（　）内は，データ長（バイト数）を表します。

注※1

HiRDBのDECIMAL型の精度は29けたまでですが，ODBCのSQL_DECIMAL型は15けたまでです。16けた以上のデータを反映したときの処理は，使用するODBCドライバの仕様に従います。

注※2

ODBCドライバがSQL Serverの場合は，DATE及びTIME型はSQL_CHARに変換されます。

注※3

バイナリデータとして反映します。

注※4

BLOB型を追加更新又は後方削除更新している場合は，データ連動しないでください。抽出側DBと反映側DBで不整合が発生します。

注※5

反映先がOracleの場合は，データ型をDate型にしてください。

注※6

文字集合指定をした列はデータ連動できません。指定した場合，ポートチェックエラーとなります。

4.1.3　文字コードの対応の設計

文字コードの対応の設計方法について説明します。

(1)　文字コードの種類

抽出側DBがOracleの場合に抽出対象となる文字コードは，シフトJIS，UTF-8又はEUCです。また，抽出側DBはHiRDBの場合に抽出対象となる文字コードは，シフトJIS，UTF-8又はEUCです。

ただし，HiRDBシステム同士のデータ連動と同様に，実際に抽出側DBが上記の文字コード体系で運用されているかどうかのチェックはしません。

(2)　文字コードの変換

(a)　EBCDIK/KEISからEUCへの文字コードの変換規則

Oracleの識別子に指定できるのは30バイトまでです。EBCDIK/KEISからEUC及びUTF-8への文字コードの変換後に識別子が30バイトを超えた場合は，定義解析時にエラーとなります。このため，データ連動を開始する前に，あらかじめ抽出側システムをチェックして，識別子が制限値を超えないことを確認してください。

4.1.4　時系列情報表の作成

時系列情報表を作成する手順について説明します。

(1)　時系列情報を取得する表の定義

更新情報，反映日付，反映時間などの時系列情報を取得するためには，反映側DB上に，これらの情報を取得するための表（時系列情報表）を作成しておく必要があります。時系列情報表を作成するときには，表名と列構成（列数，列順序，列名）は任意に指定できます。ただし，列の属性は取得する情報に合わせて定義する必要があります。

また，反映側DBがHiRDBの場合，取得する情報の種類によっては，更新情報フィールド定義のconst句で定数を指定します。

時系列情報表の列の属性について，反映側DBごとに説明します。

(a)　反映側DBがHiRDBの場合

反映側DBがHiRDBの場合の，時系列情報表の列の属性とconst句での指定については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

(b)　反映側DBがOracleの場合

反映側DBがOracleの場合の時系列情報表の列の属性を次の表に示します。

表4‒6　反映側DBがOracleの場合の時系列情報表の列の属性

取得する情報

列の属性（外部データ型）

抽出日付

DATE（日付及び時間の情報を持ちます）

抽出時間

反映日付

反映時間

反映種別

CHAR(5)

マッピングキー

「4.1.2(2)(a)　HiRDBデータ型からOracle（UNIX）データ型への変換」の「表4-4　Oracleに反映するデータのデータ型対応」及びマニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

更新情報

上記のデータ型で変換できるデータ型以外で時系列情報表を定義した場合は，時系列情報の取得処理及び反映処理の動作を保証できません。

(c)　ODBCドライバを使用してデータ連動する場合

ODBCドライバを使用してデータ連動する場合の時系列情報表の列の属性を次の表に示します。

表4‒7　ODBCドライバを使用してデータ連動する場合の時系列情報表の列の属性

取得する情報

列の属性

抽出日付

SQL_DATE※

反映日付

抽出時間

SQL_TIME※

反映時間

反映種別

SQL_CHAR(5)

マッピングキー

「4.1.2(2)(b)　HiRDBデータ型からODBCのデータ型への変換（SQL Server，Oracle）」の「表4-5　ODBCを使用して反映するデータのデータ型の対応」を参照してください。

更新情報

注※

ODBCドライバがSQL Server又はOracle ODBC driverの場合は，SQL_TIMESTAMPとなり，日付と時間が同一列に反映されます。

5　定義

この章では，抽出側Datareplicator Extensionと反映側Datareplicator Extensionにデータ連動システムの設計内容を定義する方法について説明します。

5.1　抽出側Datareplicator Extensionを使用する場合の定義（Oracleの場合）

次に示す抽出側Datareplicatorの定義のうち，抽出側DBにOracleを使用する場合に必要な定義の指定方法について説明します。

抽出システム定義

抽出環境定義

送信環境定義

抽出定義

なお，「オペランドの説明」には，Datareplicator Extension固有のオペランドの説明だけを記載します。そのほかのオペランドの説明については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

5.1.1　抽出システム定義

(1)　機能

抽出システム定義では，抽出側Datareplicator全体の稼働環境についての情報を定義します。

(2)　形式

共通定義部でだけ定義する項目

set　hdeid＝抽出側Datareplicator識別子

〔 set　extdef＝"抽出環境定義ファイル名"〕

〔 set　sendcontrol＝ nodemst｜sendmst 〕

set　sendid01＝送信先識別子

　　〔 …〔 set　sendid64＝送信先識別子〕〕

〔 set　senddef01＝"送信環境定義ファイル名"〕

　　〔 …〔 set　senddef64＝"送信環境定義ファイル名"〕〕

set　sendid0001＝送信先識別子

　　〔 …〔 set　sendid4096＝送信先識別子〕〕

〔 set　senddef0001＝送信環境定義ファイル名 〕

　　〔 …〔 set　senddef4096＝送信環境定義ファイル名〕〕

〔 set　errfile_unique＝ true｜false 〕

〔 set　errfilesz＝エラー情報ファイルの最大ファイルサイズ 〕

〔 set　syslogout＝ true｜false 〕

〔 set　syslog_message_suppress＝メッセージ番号〔，メッセージ番号〕…〕

〔 set　dblocale＝｛ sjis｜euc｜utf-8 ｝〕

〔 set　msglocale＝｛ english｜sjis-japanese｜euc-japanese ｝〕

〔 set　watchintvl＝エラー監視間隔 〕

〔 set　cmwaittime＝通信待ち時間 〕

〔 set　mstservice＝マスタ−ノードマスタ間通信サービス名 〕

〔 set　extinfonum＝最大更新情報名数 〕

〔 set　syncterm＝ true｜false 〕※1

〔 set　termlevel＝｛ normal｜plan｜both ｝〕※1

〔 set　info_message_out＝ nosuppress｜suppress 〕

〔 set　except_suppress＝メッセージ番号〔，メッセージ番号〕…〕

〔 set　int_trc_lvl＝稼働トレース取得レベル〔，稼働トレース取得範囲〕〕

〔 set　int_trc_filesz＝稼働トレースファイルのサイズ 〕

〔 set　int_trc_rintvl＝稼働トレース情報取得間隔 〕

〔 set　sendprocnum＝送信プロセス最大起動数 〕

〔 set　smt_sendintvl＝送信マスタプロセス送信間隔 〕

〔 set　smt_sendintvl_scale＝ minute｜second 〕

〔 set　smt_editbufsize＝更新情報編集バッファ長 〕

〔 set　smt_readbufnum＝更新情報読み込み用I/Oバッファ数 〕

〔 set　smt_queue_read_wait_interval＝送信プロセスの抽出情報キューファイル読み込み間隔 〕

〔 set　file_dupenv＝二重化定義ファイル名 〕

〔 set　nodecontrol＝ unit｜server 〕※2

〔 set　node_connection_accept＝ true｜false 〕※1

〔 set　connection_accept_hostname＝抽出ノードマスタプロセス接続要求受け付けホスト名 〕※1

〔 set　connection_accept_service＝抽出ノードマスタプロセス接続要求受け付けサービス名 〕※1

〔 set　connection_accept_waittime＝抽出ノードマスタプロセス接続要求待ち時間 〕※1

〔 set　connection_retry_time＝抽出ノードマスタプロセス再接続処理時間 〕※1

set　oracleusr＝データ連動リソース管理ユーザ名 /パスワード※3

〔 set　oracle_maxextcol＝抽出可能最大列数 〕※3

〔 set　oracle_msgkeeptime＝DEQUEUE後のアドバンストキュー内更新情報保存時間 〕※3

〔 set　oracle_aq_storage＝アドバンストキュー作成時の記憶域パラメタ 〕※3

〔 set　oracle_sorttbl_storage＝抽出順序管理テーブル記憶域パラメタ 〕※3

〔 set　oracle_sortidx＝ true｜false 〕※3

〔 set　oracle_sortidx_storage＝抽出順序管理テーブルインデクス記憶域パラメタ 〕※3

〔 set　node_syslogout＝ true｜false 〕

〔 set　send_counter_reset＝ true｜false 〕

〔 set　hirdb_audit_trail＝ all｜none 〕

〔 set　decimal_max_precision＝ DECIMAL型の精度の最大値 〕※3

〔 set　resource_chk_err＝ continue｜stop 〕

〔 set　recover_info_send＝ true｜false 〕※1

〔 set　recover_info_send_interval＝回復情報送信間隔 〕※1

〔 set　cm_errno_check＝ true｜false 〕

個別定義部でだけ定義する項目

個別定義部を定義する場合，個別定義部の開始ヘッダに指定するサーバ名には，固定名称「Oracle」を指定してください。

〔 set　node_pddir＝抽出側HiRDBのPDDIR環境変数の設定値 〕※1

〔 set　node_pdconfpath＝抽出側HiRDBのPDCONFPATH環境変数の設定値 〕※1

〔 set　node_shlibpath＝抽出側Oracleのライブラリパス 〕

〔 set　node_host＝ノードマスタホスト名 〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extensionではunitだけ指定できます。serverは指定できません。

注※3

Datareplicator Extension固有のオペランドです。

(3)　オペランドの説明

Datareplicator Extension固有のオペランドについて説明します。

oracleusr＝データ連動リソース管理ユーザ名 /パスワード

OracleからHiRDBへデータ連動する場合のデータ連動リソース管理ユーザ名とパスワードを指定します。

データ連動リソース管理ユーザ名

　　〜〈1〜8文字の識別子〉

OracleからHiRDBへデータ連動する場合のデータ連動リソース管理ユーザ名を指定します。

/パスワード

　　〜〈1〜8文字の記号名称〉

データ連動リソース管理ユーザのパスワードを指定します。

oracle_maxextcol＝抽出可能最大列数

　　〜〈符号なし整数〉((7〜500))《50》

抽出対象表当たりの抽出可能最大列数を指定します。抽出可能最大列数は，更新情報に対して次の算出式に従って算出した結果のうち，最も大きい値を指します。

ただし，算出結果が7より小さい値となった場合は，7を指定してください。

マッピングキー更新あり

抽出可能最大列数＝4＋マッピングキー数＋抽出列数

マッピングキー更新なし

抽出可能最大列数＝4＋抽出列数

抽出定義でこのオペランドの指定値を超える抽出列数の抽出定義文が指定されている場合は，抽出定義プリプロセスファイルの作成処理で定義エラーとなります。

このオペランドの指定値は，更新処理の性能に影響を及ぼすため，できるだけ上記の計算式に従って算出した値を指定することをお勧めします。

なお，同一表に対して複数の更新情報を抽出する場合は，マッピングキー及び抽出列をマージした更新情報として算出してください。

oracle_msgkeeptime＝DEQUEUE後のアドバンストキュー内更新情報保存時間

　　〜〈符号なし整数〉((0〜1000))《12》（単位：時間）

アドバンストキューからの取り出し（DEQUEUE）が完了した更新情報の保存時間を指定します。

抽出処理に不正が発生した場合のトラブルシュート情報として，取り出し（DEQUEUE）が完了した後も，更新情報をアドバンストキューに一定時間保存しておくことで，原因の調査に役立てることができます。

ただし，このオペランドの値を大きくすることで，必要となるアドバンストキュー容量も増加するため，ユーザ環境に応じて指定する必要があります。

oracle_aq_storage＝アドバンストキュー作成時の記憶域パラメタ

初期化時にアドバンストキュー作成のために発行するCREATE_QUEUE_TABLEプロシジャのstorage_clauseオプションに，このオペランドの設定内容を指定することで，アドバンストキュー作成領域をカスタマイズできます。

このオペランドの最大文字数は511文字です。省略すると，storage_clauseオプションなしでCREATE_QUEUE_TABLEプロシジャが実行されます。

このオペランドの指定値については，Oracleのマニュアルを参照してください。

oracle_sorttbl_storage＝抽出順序管理テーブル記憶域パラメタ

初期化時に抽出順序管理テーブル作成のために発行するCREATE TABLEコマンドのオプションに，このオペランドの設定内容を指定することで，抽出順序管理テーブルの作成領域などをカスタマイズできます。

このオペランドの最大文字数は511文字です。省略すると，オプションなしでCREATE TABLEコマンドが実行されます。

このオペランドの指定値については，Oracleのマニュアルを参照してください。

oracle_sortidx＝ true｜false

抽出順序管理テーブルに対してインデクスを作成するかどうかを指定します。

抽出順序管理テーブルに対してインデクスを作成すると，抽出処理の性能は向上しますが，更新APの性能が低下する場合があります。

true

抽出順序管理テーブルに対してインデクスを作成します。

false

抽出順序管理テーブルに対してインデクスを作成しません。

oracle_sortidx_storage＝抽出順序管理テーブルインデクス記憶域パラメタ

抽出順序管理テーブルに対するインデクス作成のために発行するCREATE INDEXコマンドのオプションに，このオペランドの設定内容を指定することで，インデクスの作成領域などをカスタマイズできます。

このオペランドの最大文字数は511文字です。省略すると，オプションなしでCREATE INDEXコマンドが実行されます。

このオペランドの指定値については，Oracleのマニュアルを参照してください。

decimal_max_precision＝DECIMAL型の精度の最大値

　　〜((29〜38))《29》

抽出時にDECIMAL型として抽出するNUMBER，DECIMAL，NUMERICの精度の最大値を指定します。

38より大きな値を指定した場合は定義エラーとなります。

このオペランドで指定した精度より大きな精度のNUMBER列，DECIMAL列，NUMERIC列は，FLOAT型として抽出します。詳細を次の表に示します。

表5‒1　DECIMAL型の精度の最大値と抽出データ属性の対応

指定分類

抽出対象表のデータ型

m,nの値

反映対象表のデータ型

精度及び位取りの指定なし

NUMBER

−

FLOAT

DECIMAL

NUMERIC

INTEGER

精度だけ指定

NUMBER(m)

DECIMAL(m)

NUMERIC(m)

m≦4

SMALLINT

5≦m≦9

INTEGER

10≦m≦p

[LARGE] DECIMAL(m)

上記以外

FLOAT

精度及び位取りを指定

NUMBER(m,n)

DECIMAL(m,n)

NUMERIC(m,n)

次のどれかの条件を満たす場合

m≧p+1

n≧p+1

m-n≧p+1

FLOAT

次のすべての条件を満たす場合

m＜n

m＜p+1

n＜p+1

m-n＜p+1

[LARGE] DECIMAL(n,n)

次のすべての条件を満たす場合

n＜0

m＜p+1

m-n＜p+1

[LARGE] DECIMAL(m-n,0)

上記以外

[LARGE] DECIMAL(m,n)

（凡例）

−：依存しません。

m：精度を示します。

n：位取りを示します。

p：decimal_max_precisionに指定した値を示します。

node_shlibpath＝抽出側Oracleのライブラリパス

　　〜〈1〜255バイトのパス名〉

ライブラリパスを指定するOracle用環境変数に256バイト以上の値を指定した場合，抽出側Datareplicator Extensionは指定値不正エラーとなります。256バイト以上の値を指定する必要がある場合には，このオペランドに，255バイト以内で抽出側Datareplicator Extensionに必要なライブラリパスだけを指定してください。

このオペランドを指定することで，環境変数の指定値不正エラーが発生しなくなります。将来，環境変数の指定値が256バイト以上になることが予想される場合には，初期構築時にこのオペランドを指定しておくことをお勧めします。

なお，このオペランドの指定値を有効にするためには，抽出側Datareplicator Extensionを初期化してください。

5.1.2　抽出環境定義

(1)　機能

抽出処理を稼働するために必要な情報を定義します。

(2)　形式

〔 set　dsid＝データ連動識別子 〕

〔 set　qufile001＝"抽出情報キューファイル名" 〕

〔 set　qufile002＝"抽出情報キューファイル名"

　　〔 …〔 set　qufile016＝"抽出情報キューファイル名" 〕〕〕

〔 set　queuesize＝抽出情報キューファイルサイズ 〕

〔 set　logiosize＝システムログI/Oバッファサイズ 〕※1

〔 set　quiosize＝抽出情報キューI/Oバッファサイズ 〕

〔 set　extsuppress＝ true｜false 〕※1

〔 set　ext_wait_interval＝抽出終端検知後の抽出再開始間隔 〕

〔 set　extract_level＝ current_gen｜all_gen 〕※1

〔 set　int_trc_getv＝ true｜false 〕

〔 set　qufullwarn＝抽出情報キューファイル満杯警告値 〕

〔 set　exterrlevel＝ stop｜continue 〕※2

〔 set　cvt_datakind＝｛ null｜high｜low ｝〕※2

〔 set　tran_datanum＝1トランザクション当たりの最大更新情報数 〕※2

〔 set　extract_delay_limit_time＝抽出滞留時間しきい値 〕※1

個別定義部でだけ定義する項目

個別定義部を定義する場合，個別定義部の開始ヘッダに指定するサーバ名には，固定名称「Oracle」を指定してください。

〔 set　device01＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

〔 set　device02＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

　　〔 …〔 set　device18＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕〕〕〕〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extension固有のオペランドです。

(3)　オペランドの説明

Datareplicator Extension固有のオペランドについて説明します。

exterrlevel＝ stop｜continue

例外データを検出したときの抽出側Datareplicator Extensionの動作を指定します。

stop

抽出処理を停止します。

continue

例外データを置換して，抽出処理を続行します。

どの値に置換するかは，cvt_datakindオペランドで指定できます。

例外データの置換については，「3.1.4　データ型の変換」を参照してください。

cvt_datakind＝｛ null｜high｜low ｝

例外データを置換して抽出処理を続行する場合，どの値に置換するかを指定します。

null

ナル値に置換します。

high

最大値に置換します。

low

最小値に置換します。

例外データの置換については，「3.1.4　データ型の変換」を参照してください。

tran_datanum＝1トランザクション当たりの最大更新情報数

　　〜〈符号なし整数〉((1〜4096))《16》

1トランザクション当たりの最大更新情報数を指定します。

トランザクションの更新情報については，「3.1.5　更新情報及びトランザクション情報の出力」を参照してください。

なお，このオペランドには，抽出情報キューファイルに格納できる範囲の値を指定してください。1トランザクションが抽出情報キューファイルに格納できない場合，抽出処理がキュー満杯エラーとなります。

5.1.3　送信環境定義

(1)　機能

送信処理を稼働するために必要な情報を定義します。送信環境定義ファイルは送信先識別子ごとに作成する必要があります。

(2)　形式

〔 set　sendhdsid＝相手システム識別子 〕

〔 set　hdeservice＝サービス名 〕

〔 set　hdehost＝送信先ホスト名 〕

〔 set　protocol＝ tcp｜osi 〕※2

〔 set　extract_tselector＝Tセレクタ 〕※2

〔 set　nsap_address＝NSAPアドレス 〕※2

〔 set　senduoc＝ use｜nouse 〕

〔 set　sendintvl＝送信間隔 〕

〔 set　sendintvl_scale＝ minute｜second 〕

〔 set　nsndid001＝送信抑止受信元識別子

　　〔 …〔 set　nsndid256＝送信抑止受信元識別子 〕〕〕※1

〔 set　keepalive＝ true｜false 〕

〔 set　retrynum＝コネクションリトライ回数 〕

〔 set　retry_interval＝コネクションリトライ時のリトライ間隔 〕

〔 set　overwrite＝ true｜false 〕

〔 set　overwrite_continue＝ true｜false 〕

〔 set　maxtran＝同時実行最大トランザクション最大数 〕

〔 set　maxtrandata＝トランザクション内最大更新情報数 〕

〔 set　readbufnum＝送信用の抽出情報キューI/Oバッファ数 〕

〔 set　editbufsize＝更新情報編集バッファ長 〕

〔 set　prg_eventno＝イベント番号 〕※1

〔 set　int_trc_getv＝ true｜false 〕

〔 set　queue_read_wait_interval＝送信プロセスの抽出情報キューファイル読み込み間隔 〕

〔 set　recvwatchtime＝データ受信用回線監視時間 〕

〔 set　send_delay_limit_time＝送信滞留時間しきい値 〕

〔 set　reflect_mode＝ server｜uap 〕※1

〔 set　eventsync＝同期イベントコード 〕※1

〔 set　eventcntreset＝送信データ件数リセットイベントコード 〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

OSIプロトコルで通信を実行する場合に指定してください。

5.1.4　抽出定義

抽出側Datareplicatorの抽出，送信処理に必要な情報を定義します。

(1)　抽出定義文

データ連動の対象にする表の抽出条件を定義します。

(a)　形式

{{ extract 認可識別子.表識別子（｛ 列名〔抽出データ型〕※〔{{，列名〔抽出データ型〕※ }}…〕｜＊ ｝）

　　　to　更新情報名

　　　 key｜ukey（列名〔{{，列名 }}…〕）}}…

注※

Datareplicator Extension固有のオプションです。

(b)　オペランドの説明

Datareplicator Extension固有のオプションについて説明します。

抽出データ型

Oracleの一部のデータ型によって指定できるオプションで，Oracleのデータから抽出する情報，及び対応するHiRDBデータ型を指定します。

このオプションで指定できるキーワードを次の表に示します。

表5‒2　Oracleの場合に指定できるキーワード

Oracleのデータ型

指定できるキーワード

抽出する情報

対応するHiRDBデータ型

DATE

date

日付だけ

DATE

time

時間だけ

TIME

char

日付と時間

CHAR（19）

CHAR（10）

date

日付だけ

DATE

CHAR（8）

time

時間だけ

TIME

このオプションを省略すると，次のデータ型で抽出されます。

Oracleのデータ型

HiRDBデータ型

DATE

CHAR（19）

CHAR（10）

MCHAR（10）

CHAR（8）

MCHAR（8）

(c)　注意

抽出データ型オプションが異なる複数のデータ型の列を抽出できません。

抽出データ型オプションを指定して，CHAR（10）及びCHAR（8）を抽出する場合，次に示す形式のデータだけを抽出対象とします。その他の形式のデータは，例外データとなります。

Oracleのデータ型

抽出対象とするデータ形式

CHAR（10）

'YYYY-MM-DD'

YYYY：年（0001〜9999）

MM：月（01〜12）

DD：日（01〜31）

CHAR（8）

'HH:MM:SS'

HH：時（00〜23）

MM：分（00〜59）

SS：秒（00〜59）

抽出対象表当たりの抽出可能最大列数は，抽出システム定義のoracle_maxextcolオペランドの指定値に従います。オペランドの詳細については，「5.1.1　抽出システム定義」を参照してください。

マッピングキーに指定できるOracleのデータ型及びデータの長さを次に示します。

データ型

データの長さ

NUMBER（n）

n＜＝29

CHAR

255バイト以下

VARCHAR2

255バイト以下

NCHAR

127バイト以下

NVARCHAR2

127バイト以下

DATE

−

(2)　送信定義文

抽出側DBから抽出した更新情報を，送信先識別子ごとに選択して送信するための定義をします。送信文は省略できます。送信文の指定方法によって，送信先へ送信される更新情報は異なります。

(a)　形式

〔{{ send　送信先識別子　from　更新情報名

　　〔 where　列名※｛比較演算子　定数※｜in（定数※〔，定数※〕…）

　　　　　　　　　　　　　　　　　｜flike（比較開始位置，定数※）｝

　　 〔 and　列名※｛比較演算子　定数※｜in（定数※〔，定数※〕…）

　　　　　　　　　　　　　　　　　｜flike（比較開始位置，定数※）｝〕〕}}…〕

注※

Datareplicator Extensionを使用する場合は，オペランドの設定内容がDatareplicatorと異なります。

(b)　オペランドの説明

Datareplicator Extensionを使用する場合に，設定内容が異なる点について説明します。

列名

送信対象とする更新データのマッピングキー列を指定します。ただし，選択条件列として指定できるマッピングキー列の属性は，次の表に示す属性に限ります。マッピングキー以外の列，又は次の表に示す属性以外の列を指定すると，定義エラーになります。

表5‒3　選択条件に指定できるマッピングキー列属性

列属性

長さ，精度

位取り

指定できる長さ

NUMBER(n)

ｎ＜＝29

ｎ＜＝29

ｎ＜＝29，かつ

精度−位取り＜＝29

CHAR(n)

ｎ＜＝255

−

1＜＝ｎ＜＝255

VARCHAR2(n)

ｎ＜＝255

−

1＜＝ｎ＜＝255

NCHAR(n)

ｎ＜＝255

−

1＜＝ｎ＜＝255

NVARCHAR2(n)

ｎ＜＝255

−

1＜＝ｎ＜＝255

定数

選択条件で比較する定数を指定します。

選択条件列の属性と定数との関連を次の表に示します。

表5‒4　選択条件列の属性と定数との関連

列属性

定数

文字列定数

真数定数 又は符号なし整数

NUMBER(n)

×

○

CHAR(n)

○

×

VARCHAR2(n)

○

×

NCHAR(n)

○

×

NVARCHAR2(n)

○

×

（凡例）

○：指定できる定数

×：指定できない定数

5.2　抽出側Datareplicator Extensionを使用する場合の定義（SQL Serverの場合）

次に示す抽出側Datareplicatorの定義のうち，抽出側DBにSQL Serverを使用する場合に必要な定義の指定方法について説明します。

抽出システム定義

抽出環境定義

送信環境定義

抽出定義

なお，「オペランドの説明」には，Datareplicator Extension固有のオペランドの説明だけを記載します。そのほかのオペランドの説明については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

5.2.1　抽出システム定義

(1)　機能

抽出システム定義では，抽出側Datareplicator全体の稼働環境についての情報を定義します。

(2)　形式

共通定義部でだけ定義する項目

set　hdeid＝抽出側Datareplicator識別子

〔 set　extdef＝"抽出環境定義ファイル名"〕

〔 set　sendcontrol＝ nodemst｜sendmst 〕

set　sendid01＝送信先識別子

　　〔 …〔 set　sendid64＝送信先識別子〕〕

〔 set　senddef01＝"送信環境定義ファイル名"〕

　　〔 …〔 set　senddef64＝"送信環境定義ファイル名"〕〕

set　sendid0001＝送信先識別子

　　〔 …〔 set　sendid4096＝送信先識別子〕〕

〔 set　senddef0001＝送信環境定義ファイル名 〕

　　〔 …〔 set　senddef4096＝送信環境定義ファイル名〕〕

〔 set　errfile_unique＝ true｜false 〕

〔 set　errfilesz＝エラー情報ファイルの最大ファイルサイズ 〕

〔 set　syslogout＝ true｜false 〕

〔 set　syslog_message_suppress＝メッセージ番号〔，メッセージ番号〕…〕

〔 set　dblocale＝｛ sjis｜euc｜utf-8 ｝〕

〔 set　msglocale＝｛ english｜sjis-japanese｜euc-japanese ｝〕

〔 set　watchintvl＝エラー監視間隔 〕

〔 set　cmwaittime＝通信待ち時間 〕

〔 set　mstservice＝マスタ−ノードマスタ間通信サービス名 〕

〔 set　extinfonum＝最大更新情報名数 〕

〔 set　syncterm＝ true｜false 〕※1

〔 set　termlevel＝｛ normal｜plan｜both ｝〕※1

〔 set　info_message_out＝ nosuppress｜suppress 〕

〔 set　except_suppress＝メッセージ番号〔，メッセージ番号〕…〕

〔 set　int_trc_lvl＝稼働トレース取得レベル〔，稼働トレース取得範囲〕〕

〔 set　int_trc_filesz＝稼働トレースファイルのサイズ 〕

〔 set　int_trc_rintvl＝稼働トレース情報取得間隔 〕

〔 set　sendprocnum＝送信プロセス最大起動数 〕

〔 set　smt_sendintvl＝送信マスタプロセス送信間隔 〕

〔 set　smt_sendintvl_scale＝ minute｜second 〕

〔 set　smt_editbufsize＝更新情報編集バッファ長 〕

〔 set　smt_readbufnum＝更新情報読み込み用I/Oバッファ数 〕

〔 set　smt_queue_read_wait_interval＝送信プロセスの抽出情報キューファイル読み込み間隔 〕

〔 set　file_dupenv＝二重化定義ファイル名 〕

〔 set　nodecontrol＝ unit｜server 〕※2

〔 set　node_connection_accept＝ true｜false 〕※1

〔 set　connection_accept_hostname＝抽出ノードマスタプロセス接続要求受け付けホスト名 〕※1

〔 set　connection_accept_service＝抽出ノードマスタプロセス接続要求受け付けサービス名 〕※1

〔 set　connection_accept_waittime＝抽出ノードマスタプロセス接続要求待ち時間 〕※1

〔 set　connection_retry_time＝抽出ノードマスタプロセス再接続処理時間 〕※1

〔 set　sqls_dsn＝DSN名 〕※3

〔 set　sqls_usr＝SQL Server接続ユーザID〔/パスワード〕〕※3

〔 set　sqls_maxextcol＝抽出可能最大列数 〕※3

〔 set　sqls_msgkeeptime＝DEQUEUE後のキューテーブル内更新情報保存時間 〕※3

〔 set　sqls_qtbl_filegroup＝キューテーブルのFILEGROUP名 〕※3

〔 set　sqls_qtbl_idx＝ true｜false 〕※3

〔 set　sqls_qtblidx_filegroup＝キューテーブルインデクスのFILEGROUP名 〕※3

〔 set　node_syslogout＝ true｜false 〕

〔 set　send_counter_reset＝ true｜false 〕

〔 set　hirdb_audit_trail＝ all｜none 〕

〔 set　decimal_max_precision＝ DECIMAL型の精度の最大値 〕※3

〔 set　resource_chk_err＝ continue｜stop 〕

〔 set　recover_info_send＝ true｜false 〕※1

〔 set　recover_info_send_interval＝回復情報送信間隔 〕※1

〔 set　cm_errno_check＝ true｜false 〕

個別定義部でだけ定義する項目

個別定義部を定義する場合，個別定義部の開始ヘッダに指定するサーバ名には，固定名称「SQLSVR」を指定してください。

〔 set　node_pddir＝抽出側HiRDBのPDDIR環境変数の設定値 〕※1

〔 set　node_pdconfpath＝抽出側HiRDBのPDCONFPATH環境変数の設定値 〕※1

〔 set　node_shlibpath＝抽出側HiRDBのSHLIB_PATH環境変数の設定値 〕※1

〔 set　node_host＝ノードマスタホスト名 〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extensionではunitだけ指定できます。serverは指定できません。

注※3

Datareplicator Extension固有のオペランドです。

(3)　オペランドの説明

Datareplicator Extension固有のオペランドについて説明します。

sqls_dsn＝DSN名

　　〜〈1〜31文字の識別子〉

SQL Serverに接続するためのDSN名を指定します。

sqls_usr＝SQL Server接続ユーザID〔/パスワード〕

SQL Server接続ユーザIDとパスワードを指定します。

SQL Server接続ユーザID

　　〜〈1〜8文字の識別子〉

SQL Server接続ユーザIDを指定します。ここでは，ログインユーザのIDとデータベースユーザIDが同じユーザIDを指定してください。

sqls_dsnでユーザIDが指定されていても，その情報は無視されます。

指定するユーザは，SQL Serverでリソースを作成できるDBA権限，又は次の三つの固定データベースロールを与えておく必要があります。

　db_ddladmin，db_datareader，db_datawrite

/パスワード

　　〜〈1〜8文字の記号名称〉

SQL Server接続ユーザIDのパスワードを指定します。

sqls_maxextcol＝抽出可能最大列数

　　〜〈符号なし整数〉((10〜1024))《50》

抽出対象表1表当たりの抽出可能最大列数を指定します。更新情報に対して次の算出式に従って算出した結果のうち，最も大きい値を指定します。

ただし，算出結果が10より小さい値となった場合は，10を指定してください。

マッピングキー更新あり

抽出可能最大列数＝7＋マッピングキー数＋抽出列数

マッピングキー更新なし

抽出可能最大列数＝7＋抽出列数

sqls_msgkeeptime＝DEQUEUE後のキューテーブル内更新情報保存時間

　　〜〈符号なし整数〉((0〜1000))《12》（単位：時間）

キューテーブルからの取り出し（DEQUEUE）が完了した更新情報の保存時間を指定します。

抽出処理に不正が発生した場合のトラブルシュート情報として，取り出し（DEQUEUE）が完了した後も，更新情報をキューテーブルに一定時間保存しておくことで，原因の調査に役立てることができます。

ただし，このオペランドの値を大きくすることで，必要となるキューテーブル容量も増加するため，ユーザ環境に応じて指定する必要があります。

sqls_qtbl_filegroup＝キューテーブルのFILEGROUP名

キュー表，抽出データ制御表とリソースオペランド表を作成する場合のFILEGROUP名を指定します。

このオペランドが省略された場合，キューテーブル，抽出同期管理テーブル，及びリソースオペランドテーブルがSQL ServerのデフォルトFILEGROUPで作成されます。

sqls_qtbl_idx＝｛true｜false｝

キューテーブルに対してインデクスを作成するかどうかを指定します。

キューテーブルに対してインデクスを作成すると，抽出処理の性能は向上しますが，更新APの性能が低下する場合があります。

true

キューテーブルに対してインデクスを作成します。

false

キューテーブルに対してインデクスを作成しません。

このオペランドを省略すると，オプションなしでCREATE INDEXコマンドが実行されます。

このオペランドの指定値については，SQL Serverのマニュアルを参照してください。

sqls_qtblidx_filegroup＝キューテーブルインデクスのFILEGROUP名

　　〜〈符号なし整数〉((0〜128))

キューテーブルにインデクスを作成するためのFILEGROUP名を指定します。

このオペランドが省略された場合，キューテーブルのインデクスがSQL ServerのデフォルトFILEGROUPで作成されます。

decimal_max_precision＝DECIMAL型の精度の最大値

　　〜((29〜38))《29》

抽出時にDECIMAL型として抽出するNUMBER，DECIMAL，NUMERICの精度の最大値を指定します。

38より大きな値を指定した場合は定義エラーとなります。

このオペランドで指定した精度より大きな精度のNUMBER列，DECIMAL列，NUMERIC列は，FLOAT型として抽出します。詳細を次の表に示します。

表5‒5　DECIMAL型の精度の最大値と抽出データ属性の対応

抽出対象表のデータ型

m,nの値

反映対象表のデータ型

DECIMAL(m,n)

NUMERIC(m,n)

次のすべての条件を満たす場合

0＜m≦p

0≦n≦m

[LARGE] DECIMAL(m,n)

上記以外

FLOAT

（凡例）

m：精度を示します。

n：位取りを示します。

p：decimal_max_precisionに指定した値を示します。

5.2.2　抽出環境定義

(1)　機能

抽出処理を稼働するために必要な情報を定義します。

(2)　形式

〔 set　dsid＝データ連動識別子 〕

〔 set　qufile001＝"抽出情報キューファイル名" 〕

〔 set　qufile002＝"抽出情報キューファイル名"

　　〔 …〔 set　qufile016＝"抽出情報キューファイル名" 〕〕〕

〔 set　queuesize＝抽出情報キューファイルサイズ 〕

〔 set　logiosize＝システムログI/Oバッファサイズ 〕※1

〔 set　quiosize＝抽出情報キューI/Oバッファサイズ 〕

〔 set　extsuppress＝ true｜false 〕※1

〔 set　ext_wait_interval＝抽出終端検知後の抽出再開始間隔 〕

〔 set　extract_level = current_gen｜all_gen 〕※1

〔 set　int_trc_getv＝ true｜false 〕

〔 set　qufullwarn＝抽出情報キューファイル満杯警告値 〕

〔 set　exterrlevel＝ stop｜continue 〕※2

〔 set　cvt_datakind＝｛ null｜high｜low ｝〕※2

〔 set　tran_datanum＝1トランザクション当たりの最大更新情報数 〕※2

〔 set　extract_delay_limit_time＝抽出滞留時間しきい値 〕※1

個別定義部でだけ定義する項目

個別定義部を定義する場合，個別定義部の開始ヘッダに指定するサーバ名には，固定名称「SQLSVR」を指定してください。

〔 set　device01＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

〔 set　device02＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

　　〔 …〔 set　device18＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕〕〕〕〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extension固有のオペランドです。

(3)　オペランドの説明

Datareplicator Extension固有のオペランドについて説明します。

exterrlevel＝ stop｜continue

例外データを検出したときの抽出側Datareplicator Extensionの動作を指定します。

stop

抽出処理を停止します。

continue

例外データを置換して，抽出処理を続行します。

どの値に置換するかは，cvt_datakindオペランドで指定できます。

例外データの置換については，「3.1.4　データ型の変換」を参照してください。

cvt_datakind＝｛ null｜high｜low ｝

例外データを置換して抽出処理を続行する場合，どの値に置換するかを指定します。

null

ナル値に置換します。

high

最大値に置換します。

low

最小値に置換します。

例外データの置換については，「3.1.4　データ型の変換」を参照してください。

tran_datanum＝1トランザクション当たりの最大更新情報数

　　〜〈符号なし整数〉((1〜4096))《16》

1トランザクション当たりの最大更新情報数を指定します。

トランザクションの更新情報については，「3.1.5　更新情報及びトランザクション情報の出力」を参照してください。

なお，このオペランドには，抽出情報キューファイルに格納できる範囲の値を指定してください。1トランザクションが抽出情報キューファイルに格納できない場合，抽出処理がキュー満杯エラーとなります。

5.2.3　送信環境定義

(1)　機能

送信処理を稼働するために必要な情報を定義します。送信環境定義ファイルは送信先識別子ごとに作成する必要があります。

(2)　形式

〔 set　sendhdsid＝相手システム識別子 〕

〔 set　hdeservice＝サービス名 〕

〔 set　hdehost＝送信先ホスト名 〕

〔 set　protocol＝ tcp｜osi 〕※2

〔 set　extract_tselector＝Tセレクタ 〕※2

〔 set　nsap_address＝NSAPアドレス 〕※2

〔 set　senduoc＝ use｜nouse 〕

〔 set　sendintvl＝送信間隔 〕

〔 set　sendintvl_scale＝ minute｜second 〕

〔 set　nsndid001＝送信抑止受信元識別子

　　〔 …〔 set　nsndid256＝送信抑止受信元識別子 〕〕〕※1

〔 set　keepalive＝ true｜false 〕

〔 set　retrynum＝コネクションリトライ回数 〕

〔 set　retry_interval＝コネクションリトライ時のリトライ間隔 〕

〔 set　overwrite＝ true｜false 〕

〔 set　overwrite_continue＝ true｜false 〕

〔 set　maxtran＝同時実行最大トランザクション最大数 〕

〔 set　maxtrandata＝トランザクション内最大更新情報数 〕

〔 set　readbufnum＝送信用の抽出情報キューI/Oバッファ数 〕

〔 set　editbufsize＝更新情報編集バッファ長 〕

〔 set　prg_eventno＝イベント番号 〕※1

〔 set　int_trc_getv＝ true｜false 〕

〔 set　queue_read_wait_interval＝送信プロセスの抽出情報キューファイル読み込み間隔 〕

〔 set　recvwatchtime＝データ受信用回線監視時間 〕

〔 set　send_delay_limit_time＝送信滞留時間しきい値 〕

〔 set　reflect_mode＝ server｜uap 〕※1

〔 set　eventsync＝同期イベントコード 〕※1

〔 set　eventcntreset＝送信データ件数リセットイベントコード 〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

OSIプロトコルで通信を実行する場合に指定してください。

5.2.4　抽出定義

抽出側Datareplicatorの抽出，送信処理に必要な情報を定義します。

(1)　抽出定義文

データ連動の対象にする表の抽出条件を定義します。

(a)　形式

{{ extract 認可識別子.表識別子（｛ 列名〔抽出データ型〕※〔{{，列名〔抽出データ型〕※ }}…〕｜＊ ｝）

　　　to　更新情報名

　　　 key｜ukey（列名〔{{，列名 }}…〕）}}…

注※

Datareplicator Extension固有のオプションです。

(b)　オペランドの説明

Datareplicator Extension固有のオプションについて説明します。

抽出データ型

SQL Serverの一部のデータ型によって指定できるオプションで，SQL Serverのデータから抽出する情報，及び対応するHiRDBデータ型を指定します。

このオプションで指定できるキーワードを次の表に示します。

表5‒6　SQL Serverの場合に指定できるキーワード

SQL Serverデータ型

指定できるキーワード

抽出する情報

対応するHiRDBデータ型

Datetime

date

日付だけ

DATE

time

時間だけ

TIME

char

日付と時間

CHAR（19）

smalldatetime

date

日付だけ

DATE

time

時間だけ

TIME

char

日付と時間

CHAR（19）

CHAR（10）

date

日付だけ

DATE

CHAR（8）

time

時間だけ

TIME

BINARY（n）

blob

バイナリ

BLOB（n）

varchar

バイナリ

VARCHAR（2n）

VARBINARY（n）

blob

バイナリ

BLOB（n）

varchar

バイナリ

VARCHAR（2n）

このオプションを省略すると，次のデータ型で抽出されます。

SQL Serverのデータ型

HiRDBデータ型

DATETIME

CHAR（19）※1

SMALLDATETIME

CHAR（19）※2

CHAR（10）

CHAR（10）

CHAR（8）

CHAR（8）

BINARY（n）

BLOB

VARBINARY（n）

BLOB

注※1

ミリ秒の位は無視されます。

注※2

秒の位が00になります。

(c)　注意

抽出データ型オプションが異なる複数のデータ型の列を抽出できません。

抽出データ型オプションを指定して，CHAR（10）及びCHAR（8）を抽出する場合，次に示す形式のデータだけを抽出対象とします。その他の形式のデータは，例外データとなります。

SQL Serverのデータ型

抽出対象とするデータ形式

CHAR（10）

'YYYY-MM-DD'

YYYY：年（0001〜9999）

MM：月（01〜12）

DD：日（01〜31）

CHAR（8）

'HH:MM:SS'

HH：時（00〜23）

MM：分（00〜59）

SS：秒（00〜59）

抽出対象表当たりの抽出可能最大列数は，抽出システム定義のsqls_maxextcolオペランドの指定値に従います。オペランドの詳細については，「5.2.1　抽出システム定義」を参照してください。

マッピングキーに指定できるSQL Serverのデータ型及びデータの長さを次に示します。

データ型

データの長さ

CHAR

255バイト以下

VARCHAR

255バイト以下

NCHAR

127バイト以下

NVARCHAR

127バイト以下

(2)　送信定義文

抽出側DBから抽出した更新情報を，送信先識別子ごとに選択して送信するための定義をします。送信文は省略できます。送信文の指定方法によって，送信先へ送信される更新情報は異なります。

送信定義文のオペランドの設定内容はDatareplicatorと同じです。詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

5.3　反映側Datareplicator Extensionを使用する場合の定義

次に示す反映側Datareplicatorの定義のうち，Datareplicator Extensionを使用する場合に必要な定義の指定方法について説明します。

反映システム定義

反映環境定義

反映定義

なお，「オペランドの説明」には，Datareplicator Extension固有のオペランドの説明だけを記載します。そのほかのオペランドの説明については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

5.3.1　反映システム定義

(1)　機能

反映システム定義では，反映側Datareplicatorの稼働環境についての情報を定義します。

(2)　形式

〔 set　hdsid＝反映側Datareplicator識別子 〕

〔 set　hirdbusr＝HiRDB接続認可識別子〔 /パスワード 〕〕※1

〔 set　protocol1＝ tcp｜osi 〕

〔 set　protocol2＝ tcp｜osi 〕

set　dsid001＝データ連動識別子

〔 …〔 set　dsid128＝データ連動識別子〕〕

set　refenv001＝"反映環境定義ファイル名"

〔 …〔 set　refenv128＝"反映環境定義ファイル名" 〕〕

〔 set　hdsservice＝サービス名 〕

〔 set　reflect_tselector＝Tセレクタ 〕

〔 set　hirdb_audit_trail＝ all｜uoc｜none_cont｜none_stop 〕※3

〔 set　keepalive＝ true｜false 〕

〔 set　errfilesz＝反映エラー情報ファイルサイズ 〕

〔 set　syslogout＝ true｜false 〕

〔 set　syslog_message_suppress＝メッセージ番号〔，メッセージ番号〕…〕

〔 set　dblocale＝｛ sjis｜euc｜utf-8｜unknown ｝〕

〔 set　msglocale＝｛ english｜sjis-japanese｜euc-japanese ｝〕

〔 set　discintvl＝disconnect発行間隔 〕

〔 set　info_message_out＝ nosuppress｜suppress 〕

〔 set　except_suppress＝メッセージ番号〔，メッセージ番号〕… 〕

〔 set　commitment_method＝ fxa_none｜fxa_sqle 〕※1

〔 set　int_trc_lvl＝稼働トレース取得レベル〔，稼働トレース取得範囲〕〕

〔 set　int_trc_filesz＝稼働トレースファイルのサイズ 〕

〔 set　int_trc_rintvl＝稼働トレース情報取得間隔 〕

〔 set　use_convertlib＝ true ｜false 〕

〔 set ref_wait_interval＝反映プロセスの反映情報キューファイル読み込み間隔 〕

〔 set commit_wait_time＝COMMIT発行間隔 〕

〔 set　file_dupenv＝二重化定義ファイル名 〕

〔 set　dbkind =｛ hirdb｜oracle｜odbc_oracle｜odbc_sqlserver ｝〕※2

set　datasource = データソース名※2

set　oracleusr = Oracle接続認可識別子〔 /パスワード 〕※2

set　odbcusr = ODBC接続認可識別子〔 /パスワード 〕※2

〔 set　syncgroup001＝同期反映グループ名，データ連動識別子〔{{，データ連動識別子}}… 〕〕※1

〔 set　syncgrp_discintvl＝ disconnect発行待ち時間 〕※1

〔 set　syncwait_limit_tran_count＝同期待ち限界トランザクション数 〕※1

〔 set　syncwait_limit_time＝同期待ち限界時間 〕※1

〔 set　reflect_counter_reset= true｜false 〕

〔 set　resource_chk_err＝ continue｜stop 〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extension固有のオペランドです。

注※3

HiRDBにアクセスする反映情報編集UOCに対してだけ有効です。

(3)　オペランドの説明

Datareplicator Extension固有のオペランドについて説明します。

dbkind =｛ hirdb｜oracle｜odbc_oracle｜odbc_sqlserver ｝

反映対象となるDBMSを指定します。

hirdb

HiRDBを反映対象とします。

oracle

Oracle（Windows版以外）を反映対象とします。

odbc_oracle

Oracle（Windows版）を反映対象とします。

ODBCドライバ（Oracle ODBC driver）を使用します。

odbc_sqlserver

SQL Serverを反映対象とします。

ODBCドライバ（SQL Server）を使用します。

ODBCドライバの設定内容については，「2.13　ODBC環境の設定（Windows）」を参照してください。

datasource = データソース名

ODBCドライバを使用してデータ連動する場合に指定するオペランドで，接続するODBCドライバのシステムデータソース名を指定します。

oracleusr = Oracle接続認可識別子〔 /パスワード 〕

Oracleとデータ連動する場合に指定するオペランドで，Oracleへ接続するときに使う認可識別子とパスワードを指定します。

Oracle接続認可識別子

　　〜〈1〜8文字の識別子〉

Oracleへ接続するときに使う認可識別子を指定します。

/パスワード

　　〜〈1〜30文字の記号名称〉

Oracleへ接続するときに使うパスワードを指定します。

パスワードに「*」を指定すると，反映側Datareplicatorの起動時に，標準入力へのパスワードの入力要求があります。ここで入力したパスワードをそのまま使って，Oracleへ接続されます。

/パスワードを省略すると，パスワードなしとしてOracleに接続されます。

odbcusr = ODBC接続認可識別子〔 /パスワード 〕

ODBCドライバを使用してデータ連動する場合に指定するオペランドで，反映側システムへ接続するときに使う認可識別子とパスワードを指定します。

ODBC接続認可識別子

　　〜〈1〜8文字の識別子〉

反映側システムへ接続するときに使う認可識別子を指定します。

/パスワード

　　〜〈1〜30文字の記号名称〉

反映側システムへ接続するときに使うパスワードを指定します。パスワードは省略できます。

5.3.2　反映環境定義

(1)　機能

反映処理を稼働するために必要な情報を定義します。複数のデータ連動識別子をデータ連動の対象とする場合，反映処理はデータ連動識別子ごとに稼働するため，反映環境定義もデータ連動識別子ごとに必要になります。

(2)　形式

set　qufile001＝"反映情報キューファイル名"

set　qufile002＝"反映情報キューファイル名"

　　〔 …〔 set　qufile008＝"反映情報キューファイル名" 〕〕

set　queuesize＝反映情報キューファイルサイズ

〔 set　reffile＝"反映定義ファイル名" 〕

set　statsfile＝"反映ステータスファイル名"

set　statssize＝反映ステータスファイルサイズ

set　unreffile1＝"未反映情報ファイル名（プライマリ）"

set　unreffile2＝"未反映情報ファイル名（セカンダリ）"

〔 set　unreffilesz＝未反映情報ファイルサイズ 〕

〔 set　startmode＝｛ trn｜tbl｜spd ｝〕

〔 set　restartmode＝ initial｜continue 〕

〔 set　breaktime＝hh:mm 〕

〔 set　breakmode＝ trn｜tbl 〕

〔 set　eventtrn＝トランザクション単位反映イベントコード 〕

〔 set　eventtbl＝表単位反映イベントコード 〕

〔 set　eventretrn＝トランザクション単位反映再起動イベントコード 〕

〔 set　eventretbl＝表単位反映再起動イベントコード 〕

〔 set　eventspd＝反映処理停止イベントコード 〕

〔 set　eventcntreset＝反映処理数リセットイベントコード 〕

〔 set　defmerge＝ true｜false 〕

〔 set　cmtintvl＝反映処理コミット間隔 〕

〔 set　trncmtintvl＝トランザクション単位反映方式での反映処理コミット間隔 〕

〔 set　tblcmtintvl＝表単位反映方式での反映処理コミット間隔 〕

〔 set　tblcheck＝ true｜false 〕

set　defshmsize＝定義情報格納用共有メモリサイズ

〔 set　ebcdic_type＝｛ eck78｜ekk78｜eck83｜ekk83 ｝〕

〔 set　shiftspace_cnv＝ multi｜single 〕

〔 set　undefcode_cnv＝ multi｜single 〕

〔 set　ref_data_backspace＝ suppress｜nosuppress 〕

〔 set　skip_sqlcode＝SQLCODE〔，SQLCODE 〕… 〕※1

〔 set　skip_mvcelmwarn＝ true｜false 〕※2

〔 set　sqlerr_skip_info＝｛ output｜msgoutput｜sqloutput｜nooutput ｝〕

〔 set　extract_init＝ check｜nocheck 〕

〔 set　db_connect_retry_number＝DBコネクトリトライ回数 〕

〔 set　db_connect_retry_interval＝DBコネクトリトライ間隔 〕

〔 set　skip_codecnv_error＝ true｜false 〕

〔 set　int_trc_getl＝稼働トレース取得範囲 〕

〔 set　device01＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

〔 set　device02＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕

　　〔 …〔 set　device09＝Datareplicatorファイルシステム領域名〔〔，割り当てファイル種別〕…〕〕〕〕〕

〔 set　ujcodekind＝ rcv｜sam 〕

〔 set　discintvl＝disconnect発行間隔 〕

〔 set　ref_wait_interval＝反映プロセスの反映情報キューファイル読み込み間隔 〕

〔 set　commit_wait_time＝COMMIT発行間隔 〕

〔 set　mapping_key_check＝not_null_unique｜unique｜none 〕※1

〔 set　control_trigger＝execute｜not_execute 〕※2

〔 set　control_reference_trigger＝execute｜not_execute 〕※2

〔 set　check_pending＝use｜nouse 〕※2

〔 set　reflect_delay_limit_time＝反映滞留時間しきい値 〕

〔 set　sql_lockerr_retrynum＝排他エラー発生時のトランザクションリトライ回数 〕

〔 set　xa_recovery_retry_count＝トランザクション回復要求のリトライ回数 〕※2

〔 set　xa_recovery_retry_interval＝トランザクション回復要求のリトライ間隔 〕※2

〔 set　reflect_trn_max_sqlnum＝反映トランザクション内最大更新SQL数 〕

注※1

Datareplicator Extensionを使用する場合は，オペランドの設定内容がDatareplicatorと異なります。

注※2

Datareplicator Extensionを使用する場合は，指定しても無視されます。

(3)　オペランドの説明

Datareplicator Extensionを使用する場合に，設定内容が異なる点について説明します。

skip_sqlcode＝SQLCODE〔，SQLCODE〕…

UNIX版Oracleとデータ連動する場合

UNIX版Oracleとデータ連動する場合は，SQLCODEではなくOracleエラーコードを指定します。Oracleエラーコードは最大32個指定できます。

Oracleとデータ連動する場合のSQLプロセスは，OCIインタフェースを使用しているので，反映処理中にエラーが発生した場合は，ORA_xxxxxの形式のエラーとなります。

このオペランドのOracleエラーコードは，ORA_xxxxxのxxxxx部分だけを指定します。Oracleエラーコードは，1〜32767までとし，それ以外の値を指定した場合は動作を保証できません。

次に主なエラーとそのエラーに対応するOracleエラーコードを示します。

エラー内容

Oracleエラーコード

備考

INSERT時にマッピングキーに対する一意性制約違反が発生しました。

1

−

UPDATE及びDELETE時に該当する行がありません。

1403

Oracleには該当するエラーがないので，1403にエラーコードがマッピングされています。

デッドロックが発生しました。

60

−

（凡例）

−：特に備考はありません。

Windows版Oracleとデータ連動する場合

ODBCドライバを使用してWindows版Oracleとデータ連動する場合，ODBC関数のSQLError（）のネイティブエラーコードから取得したSQLCODEを指定します。指定するSQLCODEについては，使用しているDBMSのマニュアルを参照してください。

ただし，UPDATE及びDELETE時に該当する行がないというエラーをスキップしたい場合は，SQLCODEに100を指定してください。ODBCには該当するエラーがないので，100にエラーコードがマッピングされています。

mapping_key_check＝ not_null_unique｜unique｜none

マッピングキー列に対するユニークチェックを行うときの条件を指定します。ここで指定する値は，反映定義のcheck句を省略した場合の仮定値になります。したがって，反映定義にcheck句を指定した場合，check句の指定が優先されます。

not_null_unique

反映対象表に対して，表5-7の内容を満たす一意性が保証されていること，及び一意性が保証されている列がNOT NULL属性であることを確認します。

unique

反映対象表に対して，表5-7の内容を満たす一意性が保証されていることを確認します。NULL値に関するチェックは行わないため，完全なデータの一意性は抽出側DBを更新するユーザプログラムなどで保証する必要があります。

none

チェックを行いません。データの一意性は抽出側DBを更新するユーザプログラムなどで保証する必要があります。

注

反映対象表が反映側システムにあるかどうかをチェックしない場合，このオペランドの指定値に関係なくマッピングキーのチェックは行いません。反映対象表が反映側システムにあるかどうかのチェックに関しては，反映環境定義のtblcheckオペランドの指定に従います。

ユニークチェックの内容について次の表に示します。

表5‒7　ユニークチェックの内容

チェック項目

チェック内容

一意性の有無

次のどちらかによって一意性が保証されていること。

一意制約を持つ列が存在する

一意索引が定義されている

一意性保証列

マッピングキー構成列だけであること。

5.3.3　反映定義

(1)　更新情報フィールド定義

抽出側システムから送信される更新情報の名称と，フィールドの名称を定義します。

更新情報のすべてのフィールドを，並び順を変えないで反映表定義のload文で指定した列名の順に対応付ける場合，更新情報フィールド定義は省略できます。この場合，反映表定義のload文では，フィールド名称を省略して，「＊」を指定します。

更新情報フィールド定義は，一つの更新情報に対して一つだけ定義できます。

(a)　形式

〔{{ format　更新情報名

　name　フィールド名称

〔｛ const　初期値※｜by　列データ編集関数識別子〔 nocodecnv 〕｜〔 nocodecnv 〕｝〕

　〔{{ name　フィールド名称

〔｛ const　初期値※｜by　列データ編集関数識別子〔 nocodecnv 〕｜〔 nocodecnv 〕｝〕

　　…}}〕

}}…〕

注※

Datareplicator Extensionを使用する場合は，オペランドの設定内容がDatareplicatorと異なります。

(b)　オペランドの説明

Datareplicator Extensionを使用する場合に，設定内容が異なる点について説明します。

const　初期値

更新情報にはない任意のフィールドを追加する場合に，追加するフィールドの初期値を指定します。

初期値として指定できる定数の中で，Datareplicator Extensionを使用する場合に差異がある定数を次の表に示します。

表5‒8　const句に指定できる定数

定数

説明

指定内容

反映日付定数

反映日時を示す定数

reflect_date

反映時間定数

reflect_time

抽出日付定数

抽出日時を示す定数※

extract_date

抽出時間定数

extract_time

注

これらの定数は，次に示す列属性で反映を実行します。

Oracleとデータ連動する場合：

Oracle外部データ型のDATE型

ODBCドライバを使用してデータ連動する場合：

ODBCデータ型のSQL_TIMESTAMP型

注※

HiRDBシステム同士でデータ連動する場合は，DBに対して実際に更新処理が実行された日時が抽出日時となりますが，Oracle又はSQL ServerからHiRDBへデータ連動する場合は，抽出側Datareplicator Extensionがアドバンストキューから更新情報を取り出した日時が抽出日時となります。

(2)　反映表定義

更新情報に対する反映対象の表を定義します。一個の更新情報を，複数の反映対象の表に反映する場合には，反映表定義を反映対象の表の数だけ繰り返し定義します。フィールド名称，認可識別子，及び表識別子の指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の反映定義の定義の規則を参照してください。

(a)　形式

〔{{ load　｛ フィールド名称〔{{，フィールド名称 }}…〕｜＊ ｝

　　from　更新情報名

　　｛ to〔｛ timestamp｜sqlconvopt1※｜sqlconvopt2※ ｝〕

　　　　　〔 認可識別子．〕表識別子

　　　　　〔 check ｛not_null_unique｜unique｜none｝ 〕

　　　　　〔 with lock 〕※

　　　　　｜ by　'uoc名' ｝

　　}}…〕

注※

Datareplicator Extensionを使用する場合は，指定しても無視されます。

(3)　反映グループ定義

表単位反映方式（表単位分割方式，キーレンジ単位分割方式，又はハッシュ分割方式）で反映処理を並列に実行するときの実行単位にする反映グループを定義します。反映グループは，128個まで繰り返し定義できます。フィールド名称，認可識別子，及び表識別子の指定方法については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」の反映定義の定義の規則を参照してください。

(a)　形式

〔{{ group　反映グループ名称

　　by〔 認可識別子．〕表識別子〔{{，〔 認可識別子．〕表識別子 }}…〕

/**** キーレンジ単位分割方式の定義 ****/

　　〔{{〔 in　'反映先FESのホスト名'/ '反映先FESのサーバ識別子'

　　　　　　　　　　　　　　　　〔 / '反映先FESのポート番号' 〕〕※1

　　　〔 having　キーレンジ分割条件文〔{{，キーレンジ分割条件文}}…〕｜ other 〕

　　}}…〕

/**** ハッシュ分割方式の定義 ****/ ※2

　　〔{{ hash

　　　{ in　'反映先FESのホスト名'/ '反映先FESのサーバ識別子'〔 / '反映先FESのポート番号' 〕

　　　　〔（RDエリア名 {{，RDエリア名}} …｜other）〕

　　　　〔{{ ，'反映先FESのホスト名'/ '反映先FESのサーバ識別子'〔 / '反映先FESのポート番号' 〕

　　　　〔（RDエリア名 {{，RDエリア名}} …｜other）〕

　　　　}}… 〕

　　　　｜divide into SQLプロセス分割数 ｝

　　}}…〕

注※1

Datareplicator Extensionを使用する場合は，指定しても無視されます。

注※2

Datareplicator Extensionを使用する場合は，ハッシュ分割方式の定義を指定するとエラーとなります。

6　運用

この章では，Datareplicator Extensionを使用したデータ連動システムを運用するための手順，Datareplicator Extensionの起動と終了，及びDatareplicator Extensionの運用について説明します。

6.1　抽出側Datareplicator Extensionの起動と終了（Oracleの場合）

抽出側DBがOracleの場合の抽出側Datareplicator Extensionの起動方法と終了方法について説明します。

6.1.1　抽出側Datareplicator Extensionの起動

抽出側システムでhdestartOコマンドを実行すると，抽出システム定義，抽出環境定義，及び送信環境定義に従って抽出側Datareplicator Extensionが起動します。

hdestartOコマンドは，抽出環境がhdestartOコマンド（-ｉオプションを指定）を使用して初期化されている場合にだけ実行でき，hdestartOコマンド以外を使用して初期化されている場合は，hdestartOコマンドを実行してもエラー終了します。

抽出環境初期化時に使用したコマンドと抽出側Datareplicator Extension起動時に使用したコマンドの関係を次に示します。

抽出環境初期化時に使用したコマンド

抽出側Datareplicator Extension起動時に使用したコマンド

hdestart

hdestartO

hdestart

抽出側Datareplicatorが起動します。

KFRB00061-Eエラー

hdestartO

KFRB00061-Eエラー

抽出側Datareplicator Extensionが起動します。

注

抽出定義プリプロセスファイルを作成するためのhdeprepOコマンドも，抽出環境がhdestartOコマンド（-ｉオプションを指定）を使用して初期化されている場合にだけ実行でき，hdestartOコマンド以外を使用して初期化されている場合は，hdeprepOコマンドを実行してもKFRB00061-Eエラーとなります。抽出定義プリプロセスファイルの作成に関する注意については，「6.2.3(2)抽出定義プリプロセスファイルの作成に関する注意」を参照してください。

抽出側DBがOracleの場合，抽出側Datareplicator ExtensionはOracle上のキューテーブル（アドバンストキュー）から更新情報を取り出します（DEQUEUE）。このため，抽出側Datareplicator Extensionを起動するときは抽出対象Oracleが稼働している必要があります。

また，データ連動処理で，キューテーブルへの更新情報を格納するまでの間にエラーが発生した場合は，更新AP自体がエラーとなります。

抽出側システムでエラーが発生した場合の対処については，「8.1.1　抽出側システムでエラーが発生した場合の対処（Oracleの場合）」を参照してください。

6.1.2　抽出側Datareplicator Extensionの終了

抽出側DBがOracleの場合，抽出側Datareplicator Extensionの抽出プロセスは抽出対象OracleのAPとして動作します。このため，抽出側Datareplicator Extensionは抽出対象Oracleを停止する前に停止する必要があります。

6.2　抽出側Datareplicator Extensionの運用（Oracleの場合）

抽出側DBがOracleの場合の抽出側Datareplicator Extensionの運用方法について説明します。

6.2.1　抽出対象表の運用

次に示す場合の，抽出対象表の運用手順について説明します。

抽出対象表を追加，変更，及び削除する場合

表の定義変更によって抽出対象外となった表を，再度抽出対象とする場合

任意の抽出対象表に対する抽出処理を一時的に抑止する場合

(1)　抽出対象表を追加，変更，及び削除する場合

抽出対象表の追加，変更，及び削除する場合の運用手順を次に示します。

キューテーブル（アドバンストキュー）に抽出されていない更新情報がないことを，hderesstateOコマンドで確認します。

抽出情報キューファイルに抽出されていない更新情報がないことを，hdestateOコマンドで確認します。

抽出側Datareplicator Extensionを停止します。

抽出定義を更新し，抽出対象表を追加，変更，又は削除します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

(2)　表の定義変更によって抽出対象外となった表を，再度抽出対象とする場合

表の定義変更に連動して，Oracleの処理によってトリガが削除又は無効化された場合は，それ以降，その表からは更新情報を抽出しません。

トリガが削除又は無効化される表の定義変更については，Oracleのマニュアルを参照してください。

表の定義変更によって抽出対象外となった表を，再度抽出対象とする場合の運用手順を次に示します。

抽出側Datareplicator Extensionを停止します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

ただし，抽出対象表の定義変更から上記の手順で再度抽出対象とするまでの間に，この表に対して更新処理が実行されていた場合，これらの更新処理は抽出されないため，抽出側DBと反映側DBが不整合となります。

抽出側DBと反映側DBとの間に不整合が発生した場合の対処については，「8.1.1(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

(3)　任意の抽出対象表に対する抽出処理を一時的に抑止する場合

任意の抽出対象表に対する抽出処理を一時的に抑止する場合の運用手順を次に示します。

抽出処理を一時的に抑止する抽出対象表のトリガ識別子をhderesstateOコマンドで取得します。

DROP TRIGGER又はALTER TRIGGERでトリガを削除又は無効化します。

抽出側Datareplicator Extensionを停止します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

2.から3.までの間は，抽出処理が抑止されます。

なお，抽出処理を抑止している間に更新処理が実行されていた場合，これらの更新処理は抽出されないため，抽出側DBと反映側DBが不整合となります。

抽出側DBと反映側DBとの間に不整合が発生した場合の対処については，「8.1.1(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

6.2.2　イベント機能を使用する場合の運用

イベント機能を使用する場合の運用手順を次に示します。

イベント制御用テーブルを作成します。

抽出側Datareplicator Extensionを停止します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

イベント発行コマンドを実行します。

OracleからHiRDBへデータ連動する場合も，HiRDBシステム同士のデータ連動と同様に，イベント制御用テーブルはユーザが手動で作成する必要があります。

イベント制御用テーブルの構成は，HiRDBシステム同士のデータ連動時で，抽出側HiRDBがシングルサーバの場合と同じです。イベント制御用テーブルの構成については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

なお，イベント制御用テーブルは，データ連動リソースとして一括して削除できるように，データ連動リソース管理ユーザのリソースとして作成することをお勧めします。

6.2.3　抽出側Datareplicator Extension運用時の注意

抽出側Datareplicator Extensionを運用するときの注意を次に示します。

(1)　初期化についての注意

抽出側DBがOracleの場合，抽出環境を初期化するときにOracleに対してデータ連動リソースを作成します。したがって，抽出環境を初期化するときには抽出対象Oracleが稼働している必要があります。

(2)　抽出定義プリプロセスファイルの作成に関する注意

抽出定義プリプロセスファイルの作成に関する注意を次に示します。

抽出定義プリプロセスファイルの作成でエラーとなった場合は，エラー要因を排除した後，再度，抽出定義プリプロセスファイルを作成してください。

(a)　Oracleの稼働状態

抽出側DBがOracleの場合，Oracleに対して抽出対象表の定義情報の取得とデータ連動リソースの作成が実行されます。このため，抽出定義プリプロセスファイルを作成するときは抽出対象Oracleが稼働している必要があります。

(b)　抽出側Datareplicator Extension稼働中での抽出定義プリプロセスファイルの作成

HiRDBシステム同士でデータ連動する場合は，抽出側Datareplicator稼働中に抽出定義プリプロセスファイルを作成できます。

しかし，OracleからHiRDBへデータ連動する場合は，抽出側Datareplicator Extension稼働中に抽出定義プリプロセスファイルを作成すると，抽出対象表に定義されているトリガは即時に再作成されますが，抽出側Datareplicator Extensionが認識する抽出定義ファイルは抽出定義プリプロセスファイルに変換されていない（変更内容は次回の起動から認識されるため）という矛盾が生じます。

このため，抽出定義プリプロセスファイルは，抽出側Datareplicator Extensionの停止中に作成する必要があります。

(c)　抽出未完了状態での抽出定義プリプロセスファイルの作成

OracleからHiRDBへデータ連動する場合も，HiRDBシステム同士のデータ連動と同様に，抽出されていない更新情報がアドバンストキュー又は抽出情報キューファイルにある状態で抽出定義プリプロセスファイルを作成し，抽出側Datareplicator Extensionを再起動すると，抽出されていない更新情報と抽出側Datareplicator Extensionが認識する抽出定義との間に矛盾が生じます。

このため，抽出定義プリプロセスファイルは，アドバンストキュー及び抽出情報キューファイルの更新情報がすべて抽出されているときに作成する必要があります。

6.3　抽出側Datareplicator Extensionの起動と終了（SQL Serverの場合）

抽出側DBがSQL Serverの場合の抽出側Datareplicator Extensionの起動方法と終了方法について説明します。

6.3.1　抽出側Datareplicator Extensionの起動

抽出側システムでhdestartSコマンドを実行すると，抽出システム定義，抽出環境定義，及び送信環境定義に従って抽出側Datareplicator Extensionが起動します。

hdestartSコマンドは，抽出環境がhdestartSコマンド（-ｉオプションを指定）を使用して初期化されている場合にだけ実行でき，hdestartSコマンド以外を使用して初期化されている場合は，hdestartSコマンドを実行してもエラー終了します。

抽出環境初期化時に使用したコマンドと抽出側Datareplicator Extension起動時に使用したコマンドの関係を次に示します。

抽出環境初期化時に使用したコマンド

抽出側Datareplicator Extension起動時に使用したコマンド

hdestart

hdestartS

hdestart

抽出側Datareplicatorが起動します。

KFRB00061-Eエラー

hdestartS

KFRB00061-Eエラー

抽出側Datareplicator Extensionが起動します。

注

抽出定義プリプロセスファイルを作成するためのhdeprepSコマンドも，抽出環境がhdestartSコマンド（-ｉオプションを指定）を使用して初期化されている場合にだけ実行でき，hdestartSコマンド以外を使用して初期化されている場合は，hdeprepSコマンドを実行してもKFRB00061-Eエラーとなります。抽出定義プリプロセスファイルの作成に関する注意については，「6.2.3(2)抽出定義プリプロセスファイルの作成に関する注意」を参照してください。

抽出側DBがSQL Serverの場合，抽出側Datareplicator Extensionはキューテーブルから更新情報を取り出します（DEQUEUE）。このため，抽出側Datareplicator Extensionを起動するときは抽出対象SQL Serverが稼働している必要があります。

また，データ連動処理で，キューテーブルへの更新情報を格納するまでの間にエラーが発生した場合は，更新AP自体がエラーとなります。

抽出側システムでエラーが発生した場合の対処については，「8.1.2　抽出側システムでエラーが発生した場合の対処（SQL Serverの場合）」を参照してください。

6.3.2　抽出側Datareplicator Extensionの終了

抽出側DBがSQL Serverの場合，抽出側Datareplicator Extensionの抽出プロセスは抽出対象SQL ServerのAPとして動作します。このため，抽出側Datareplicator Extensionは抽出対象SQL Serverを停止する前に停止する必要があります。

6.4　抽出側Datareplicator Extensionの運用（SQL Serverの場合）

抽出側DBがSQL Serverの場合の抽出側Datareplicator Extensionの運用方法について説明します。

6.4.1　抽出対象表の運用

次に示す場合の，抽出対象表の運用手順について説明します。

抽出対象表を追加，変更，及び削除する場合

任意の抽出対象表に対する抽出処理を一時的に抑止する場合

(1)　抽出対象表を追加，変更，及び削除する場合

抽出対象表の追加，変更，及び削除する場合の運用手順は，修正後の抽出列数が抽出システム定義で定義したsqls_maxextcolを超えるか超えないかによって異なります。運用手順を次に示します。

(a)　抽出列数がsqls_maxextcolを超えない場合

抽出列数がsqls_maxextcolを超えない場合の運用手順を次に示します。

未抽出の更新情報がないことを，hderesstateSコマンドで確認します。

抽出情報キューファイルに抽出されていない更新情報がないことを，hdestateSコマンドで確認します。

抽出側Datareplicator Extensionを停止します。

抽出定義を更新し，抽出対象表を追加，変更，又は削除します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

(b)　抽出列数がsqls_maxextcolを超える場合

抽出列数がsqls_maxextcolを超える場合の運用手順を次に示します。

キューテーブルに抽出されていない更新情報がないことを，hderesstateSコマンドで確認します。

抽出情報キューファイルに抽出されていない更新情報がないことを，hdestateSコマンドで確認します。

反映情報キューファイルが空であることを，hdsstateコマンドで確認します。

抽出側Datareplicatorを停止します。

反映側Datareplicatorを停止します。

抽出定義を更新し，抽出対象表を追加，又は変更します。

抽出システム定義のsqls_maxextcolを修正し，ファイルを更新します。

hdestartSコマンド（-ｉオプションを指定）で環境を初期化します。

抽出定義プリプロセスファイルを作成します。

hdsstartコマンド（-ｉオプションを指定）で反映側Datareplicatorを初期開始します。

抽出側Datareplicatorを起動します。

(2)　任意の抽出対象表に対する抽出処理を一時的に抑止する場合

任意の抽出対象表に対する抽出処理を一時的に抑止する場合の運用手順を次に示します。

抽出処理を一時的に抑止する抽出対象表のトリガ識別子をhderesstateSコマンドで取得します。

DROP TRIGGERでトリガを削除します。DROP TRIGGERで指定するトリガ名はhderesstateSコマンドで取得したものです。

抽出側Datareplicatorを停止します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

2.から3.までの間は，抽出処理が抑止されます。

なお，抽出処理を抑止している間に更新処理が実行されていた場合，これらの更新処理は抽出されないため，抽出側DBと反映側DBが不整合となります。

抽出側DBと反映側DBとの間に不整合が発生した場合の対処については，「8.1.2(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

6.4.2　イベント機能を使用する場合の運用

イベント機能を使用する場合の運用手順を次に示します。

イベント制御用テーブルを作成します。

抽出側Datareplicator Extensionを停止します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicator Extensionを起動します。

イベント発行コマンドを実行します。

SQL ServerからHiRDBへデータ連動する場合も，HiRDBシステム同士のデータ連動と同様に，イベント制御用テーブルはユーザが手動で作成する必要があります。

イベント制御用テーブルの構成は，HiRDBシステム同士のデータ連動時で，抽出側HiRDBがシングルサーバの場合と同じです。イベント制御用テーブルの構成については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

なお，イベント制御用テーブルは，データ連動リソースとして一括して削除できるように，データ連動リソース管理ユーザのリソースとして作成することをお勧めします。

6.4.3　抽出側Datareplicator Extension運用時の注意

抽出側Datareplicator Extensionを運用するときの注意を次に示します。

(1)　初期化についての注意

抽出側DBがSQL Serverの場合，抽出環境を初期化するときにSQL Serverに対してデータ連動リソースを作成します。したがって，抽出環境を初期化するときには抽出対象SQL Serverが稼働している必要があります。

(2)　抽出定義プリプロセスファイルの作成に関する注意

抽出定義プリプロセスファイルの作成に関する注意を次に示します。

抽出定義プリプロセスファイルの作成でエラーとなった場合は，エラー要因を排除した後，再度，抽出定義プリプロセスファイルを作成してください。

(a)　SQL Serverの稼働状態

抽出側DBがSQL Serverの場合，SQL Serverに対して抽出対象表の定義情報の取得とデータ連動リソースの作成が実行されます。このため，抽出定義プリプロセスファイルを作成するときは抽出対象SQL Serverが稼働している必要があります。

(b)　抽出側Datareplicator Extension稼働中での抽出定義プリプロセスファイルの作成

HiRDBシステム同士でデータ連動する場合は，抽出側Datareplicator稼働中に抽出定義プリプロセスファイルを作成できます。

しかし，SQL ServerからHiRDBへデータ連動する場合は，抽出側Datareplicator Extension稼働中に抽出定義プリプロセスファイルを作成すると，抽出対象表に定義されているトリガは即時に再作成されますが，抽出側Datareplicator Extensionが認識する抽出定義ファイルは抽出定義プリプロセスファイルに変換されていない（変更内容は次回の起動から認識されるため）という矛盾が生じます。

このため，抽出定義プリプロセスファイルは，抽出側Datareplicator Extensionの停止中に作成する必要があります。

(c)　抽出未完了状態での抽出定義プリプロセスファイルの作成

SQL ServerからHiRDBへデータ連動する場合も，HiRDBシステム同士のデータ連動と同様に，抽出されていない更新情報がキューテーブル又は抽出情報キューファイルにある状態で抽出定義プリプロセスファイルを作成し，抽出側Datareplicator Extensionを再起動すると，抽出されていない更新情報と抽出側Datareplicator Extensionが認識する抽出定義との間に矛盾が生じます。

このため，抽出定義プリプロセスファイルは，キューテーブル及び抽出情報キューファイルの更新情報がすべて抽出されているときに作成する必要があります。

(3)　キューテーブルに関する注意事項

SQL Serverの場合，システムイベントログ及びエラーファイルにKFRB06507-Wメッセージが出力されることがあります。この場合，次の手順で抽出側Datareplicator Extensionを初期化する必要があります。

キューテーブルに抽出されていない更新情報がないことを，hderesstateSコマンドで確認します。

抽出情報キューファイルに抽出されていない更新情報がないことを，hdestateSコマンドで確認します。

抽出側Datareplicatorを停止します。

hdestartSコマンド（-ｉオプションを指定）で環境を初期化します。

抽出定義プリプロセスファイルを作成します。

抽出側Datareplicatorを起動します。

6.5　反映側Datareplicator Extensionの起動と終了

抽出側DBが他社DBMSの場合の反映側Datareplicator Extensionの起動方法と終了方法について説明します。

6.5.1　反映側Datareplicator Extensionの起動

反映側システムでhdsstartコマンドを実行すると，反映システム定義と反映環境定義に従って反映側Datareplicator Extensionが起動します。反映環境を初期化してから，反映側Datareplicatorを起動する時には，hdsstartコマンドに -ｉオプションを指定して実行します。

6.5.2　反映側Datareplicator Extensionの終了

反映側システムでhdsstopコマンドを実行すると，反映環境定義に従って反映側Datareplicator Extensionが終了します。反映側Datareplicator Extensionを終了するときは，必ずhdsstopコマンドを実行してください。OSのコマンドでプロセスを削除して，反映側Datareplicator Extensionを終了した場合には，動作を保証できません。

6.5.3　反映側Datareplicator Extension運用時の注意

反映側Datareplicator Extensionを運用するときは，マルチFES機能に対応した反映方式は指定できません。

6.6　ファイルの二重化を使うときの運用

ファイルの二重化に関するファイル構成変更の方法について説明します。

次の三つの構成変更の手順について説明します。この節では，ファイルの二重化に対して，通常の運用のことをファイルの一重化と表記します。

ファイルの一重化から二重化への変更

二重化するファイルの変更

ファイルの二重化から一重化への変更

ファイルの二重化についての詳細は，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

なお，hderesstateXのようにコマンド名称の末尾にXが付いているものは，抽出側DBに合わせてコマンド名称を読み替えてください。

6.6.1　ファイルの一重化から二重化への変更

ファイルの一重化から二重化に変更するときの手順を次に示します。太字部分は，二重化のための変更を行っている部分です。

(1)　抽出側Datareplicator Extensionでの変更手順

抽出側Datareplicator Extensionでの変更手順を次に示します。

hderesstateXのようにコマンド名称の末尾にXが付いているものは，抽出側DBに合わせてコマンド名称を読み替えてください。

hderesstateXコマンドで，キューテーブルに未抽出の更新情報がないことを確認します。

抽出側DBを正常停止します。

hdestateXコマンドで抽出情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdestopXコマンドでDatareplicator Extensionを停止します。

二重化定義ファイルを作成します。

二重化するファイルの物理ファイルを用意します※。

二重化するファイルの論理ファイルと同じ名称のファイルが存在する場合，そのファイルを削除します。

hdestartX -iコマンドでDatareplicator Extensionを初期化します。

$HDEPATH下に作成された二重化制御ファイルのバックアップを取得します。

系切り替え構成の場合，切り替え先の$HDEPATH下に二重化制御ファイルをコピーします。

抽出側DBを起動します。

hdeprepXコマンドを実行します。

hdestartXコマンドでDatareplicator Extensionを起動します。

注※

物理ファイルの用意とは，キャラクタ型スペシャルファイルを使用する場合のパーティション割り当て，及びシンボリックリンクの作成を意味します。

(2)　反映側Datareplicator Extensionでの変更手順

反映側Datareplicator Extensionでの変更手順を次に示します。

抽出側Datareplicator Extensionでの変更手順との基本的な違いは，反映側DBを停止する必要がないことです。

hdsstateコマンドで反映情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdsstopコマンドでDatareplicator Extensionを停止します。

二重化定義ファイルを作成します。

二重化するファイルの物理ファイルを用意します※。

二重化するファイルの論理ファイルと同じ名称のファイルが存在する場合，そのファイルを削除します。

hdsstart -iコマンドでDatareplicator Extensionを初期起動します。

$HDSPATH下に作成された二重化制御ファイルのバックアップを取得します。

系切り替え構成の場合，切り替え先の$HDSPATH下に二重化制御ファイルをコピーします。

注※

物理ファイルの用意とは，キャラクタ型スペシャルファイルを使用する場合のパーティション割り当て，及びシンボリックリンクの作成を意味します。

なお，反映情報キューファイルと反映ステータスファイルをキャラクタ型スペシャルファイルで作成した後に初めて初期化する場合は，反映側Datareplicator Extensionをhdsstart -i -fコマンドで初期開始してください。2回目以降は-fオプションを指定する必要はありません。

6.6.2　二重化するファイルの変更

二重化するファイルを追加，変更，削除するときの手順を次に示します。太字部分は，二重化のための変更を行っている部分です。

手順は，基本的にファイルの一重化から二重化への変更と同じです。

(1)　抽出側Datareplicator Extensionでの変更手順

抽出側Datareplicator Extensionでの変更手順を次に示します。

hderesstateXコマンドで，キューテーブルに未抽出の更新情報がないことを確認します。

抽出側DBを正常停止します。

hdestateコマンドで抽出情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdestopXコマンドでDatareplicator Extensionを停止します。

二重化定義ファイルを変更します。

二重化するファイルの物理ファイルを用意します※。

未使用になる物理ファイルを削除します。

二重化するファイルの論理ファイルと同じ名称のファイルが存在する場合，そのファイルを削除します。

hdestartX -iコマンドでDatareplicator Extensionを初期化します。

$HDEPATH下に作成された二重化制御ファイルのバックアップを取得します。

系切り替え構成の場合，切り替え先の$HDEPATH下に二重化制御ファイルをコピーします。

抽出側DBを起動します。

hdeprepXコマンドを実行します。

hdestartXコマンドでDatareplicator Extensionを起動します。

注※

物理ファイルの用意とは，キャラクタ型スペシャルファイルを使用する場合のパーティション割り当て，及びシンボリックリンクの作成を意味します。

(2)　反映側Datareplicator Extensionでの変更手順

反映側Datareplicator Extensionでの変更手順を次に示します。

抽出側Datareplicator Extensionでの変更手順との基本的な違いは，反映側DBを停止する必要がないことです。

hdsstateコマンドで反映情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdsstopコマンドでDatareplicator Extensionを停止します。

二重化定義ファイルを変更します。

二重化するファイルの物理ファイルを用意します※。

未使用になる物理ファイルを削除します。

二重化するファイルの論理ファイルと同じ名称のファイルが存在する場合，そのファイルを削除します。

hdsstart -iコマンドでDatareplicator Extensionを初期起動します。

$HDSPATH下に作成された二重化制御ファイルのバックアップを取得します。

系切り替え構成の場合，切り替え先の$HDSPATH下に二重化制御ファイルをコピーします。

注※

物理ファイルの用意とは，キャラクタ型スペシャルファイルを使用する場合のパーティション割り当て，及びシンボリックリンクの作成を意味します。

なお，反映情報キューファイルと反映ステータスファイルをキャラクタ型スペシャルファイルで作成した後に初めて初期化する場合は，反映側Datareplicator Extensionをhdsstart -i -fコマンドで初期開始してください。2回目以降は-fオプションを指定する必要はありません。

6.6.3　ファイルの二重化から一重化への変更

ファイルの二重化から一重化に変更するときの手順を次に示します。太字部分は，一重化に戻すための変更を行っている部分です。

(1)　抽出側Datareplicator Extensionでの変更手順

抽出側Datareplicator Extensionでの変更手順を次に示します。

hderesstateXコマンドで，キューテーブルに未抽出の更新情報がないことを確認します。

抽出側DBを正常停止します。

hdestateコマンドで抽出情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdestopXコマンドでDatareplicator Extensionを停止します。

二重化で使用していた物理ファイルを削除します。

各ノードの$HDEPATH下に作成された二重化制御ファイルを削除します。

抽出システム定義からファイル二重化指定を削除します。

抽出側DBを起動します。

hdestartX -iコマンドでDatareplicator Extensionを初期化します。

hdeprepXコマンドを実行します。

hdestartXコマンドでDatareplicator Extensionを起動します。

(2)　反映側Datareplicator Extensionでの変更手順

反映側Datareplicator Extensionでの変更手順を次に示します。

hdsstateコマンドで反映情報キューファイルのread位置とwrite位置が同じであることを確認します。

hdsstopコマンドでDatareplicator Extensionを停止します。

二重化で使用していた物理ファイルを削除します。

$HDSPATH下に作成された二重化構成定義ファイルを削除します。

反映システム定義からファイル二重化指定を削除します。

$HDSPATH下に作成された二重化制御ファイルを削除します。

系切り替え構成の場合，切り替え先の$HDEPATH下の二重化制御ファイルを削除します。

hdsstart -iコマンドでDatareplicator Extensionを初期起動します。

7　コマンドの文法

この章では，Datareplicator Extensionのコマンドの文法について説明します。

コマンドの概要

ここでは，Datareplicator Extensionでデータ連動するときに使用するコマンドについて説明します。

この章で説明しているコマンドには，hdestartXのように末尾がX記述されているものがあります。この場合，XにはDBMSごとの識別文字が記述され，その機能はXなしで表されるDatareplicatorのものと同じです。DBMSごとの識別文字を次の表に示します。

表7‒1　DBMSごとの識別文字

DBMS

識別文字

Oracle

O

SQL Server

S

Datareplicator Extensionでデータ連動するときに使うコマンドの一覧を次の表に示します。

この章では，hderesstateXについてだけ，コマンドの詳細を説明します。hderesstateX以外の抽出側Datareplicatorのコマンド，及び反映側Datareplicator Extensionのコマンドについては，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

表7‒2　Datareplicator Extensionでデータ連動するときに使うコマンドの一覧

コマンドの種類

コマンド名

機 能

稼働中での実行

DBMS

稼働中

Datareplicator Extension稼働中

抽出側Datareplicator Extensionのコマンド

hdestartX

抽出側Datareplicator Extensionを起動します。

-ｉオプションを指定すると抽出側Datareplicator Extension環境を初期化できます。この場合，起動はしません。

○※1

△※2

hdestopX※3

抽出側Datareplicator Extensionを停止します。

−

○

hdeeventX※3

イベントを発行します。

○

○

hdestateX※3

抽出側Datareplicator Extensionの状態を標準出力に出力します。

−

○

hdeprepX※3

抽出定義を解析して，抽出定義プリプロセスファイルを作成します。

○

△※4

hderesstateX※3,※5

データ連動リソースの状態を標準出力に出力します。

○

○

反映側Datareplicator Extensionのコマンド

hdsstart

反映側Datareplicator Extensionを起動します。

-ｉオプションを指定すると，反映側Datareplicator Extension環境を初期化して起動できます。

○

×

hdsstop※6

反映側Datareplicator Extensionを終了します。

−

○

hdsrfctl※6

反映処理方式を制御したり，反映処理だけを再起動したりします。

−

○

hdsstate※6

反映側Datareplicator Extensionの状態を標準出力に出力します。

−

○

（凡例）

○：稼働中のときだけ実行できます。

×：停止中のときだけ実行できます。

△：停止中のときは実行できます。

−：関連しません。

注※1

他DBMSとデータ連動する場合，-ｉオプション指定は，初期化処理が完了した後に終了します。

注※2

-iオプション指定は，抽出側Datareplicator Extensionの稼働中には実行できません。

注※3

hdestartXコマンドを実行したユーザ名で実行してください。

注※4

稼働中に実行しても，コマンドの実行結果が抽出側Datareplicator Extensionに反映されるのは，抽出側Datareplicator Extensionを停止してから，再開始した時点です（コマンド実行中に稼働している抽出側Datareplicator Extensionには反映されません）。

注※5

Datareplicator Extension固有のコマンドです。

注※6

hdsstartコマンドを実行したユーザ名で実行してください。

hderesstateO（データ連動リソースの状態の取得）

機能

コマンドを実行した時点のデータ連動リソースの状態を標準出力に出力します。出力される情報を，次の表に示します。

データ連動リソース

出力される情報

メッセージデータ型

出力情報はありません。

キューテーブル

（アドバンストキュー）

キューテーブルの有無

キューテーブル名称

キューテーブルテーブル名称

キューテーブルからの取り出し（DEQUEUE）が完了した更新データの保存時間

キューテーブルに格納されているメッセージ（更新データ）の情報

・未抽出メッセージ数

・先頭の未抽出メッセージがキューテーブルに格納された時間※

・最終の未抽出メッセージがキューテーブルに格納された時間※

・キューテーブルに格納されているメッセージの詳細※

データ連動用トリガ

全トリガ数

全トリガ名

全トリガの定義対象表一覧

全トリガの状態（有効／無効）

抽出同期管理テーブル

抽出同期管理テーブルの有無

抽出同期管理テーブル情報（抽出情報キューファイルの最終WRITE位置）

注※

-dオプションを指定したときだけ出力します。

形式

　　　　　hderesstateO -u ユーザ名 / パスワード
　　　　　　　　　〔-d〔-s 表示開始時間〕〔-t 表示終了時間〕〔-n 表示データ件数〕〕

オプション

-u ユーザ名 / バスワード

データ連動リソース管理ユーザのユーザ名とパスワードを指定します。

-d

キューテーブル内に格納されている更新データの詳細を出力します。

-s 表示開始時間

-dオプションを指定したときにだけ指定できるオプションです。このオプションで指定した時間以降にキューテーブルに格納された更新データの詳細を出力します。

このオプションは，YYYYMMDDHHMMSSの形式で指定します。

このオプションを省略すると，00010101000000が仮定されます。

-t 表示終了時間

-dオプションを指定したときにだけ指定できるオプションです。このオプションで指定した時間以前にキューテーブルに格納された更新データの詳細を出力します。

このオプションは，YYYYMMDDHHMMSSの形式で指定します。

このオプションを省略すると，99991231235959が仮定されます。

-n 表示データ件数

-s及び-tオプションで指定した条件を満たす更新データの最大出力件数を指定します。

このオプションを省略すると，-s及び-tオプションで指定した条件を満たすすべての更新データを出力されます。

規則

hderesstateOコマンドを実行後，正常終了すると0が返されます。異常終了すると1が返されます。

抽出側Datareplicator Extensionでは，hderesstateOコマンドを実行した時点でデータ連動リソースの状態を取得し，標準出力に出力します。このため出力される情報は，実際の抽出側Datareplicator Extensionの状態とは多少ずれが発生することがあります。

出力形式

説明

出力形式の説明と出力条件を次に示します。

番号

説明

出力条件

1.

キューテーブルの有無

exist：キューテーブルあり

not exist：キューテーブルなし

条件はありません。

2.

キューテーブル名称

1.がexistの場合。

3.

キューテーブル表名称

4.

キューテーブルからの取り出し（DEQUEUE）が完了した更新データの保存時間（単位：秒）

5.

キューテーブル内の未抽出メッセージ数

6.

先頭の未抽出メッセージがキューテーブルに格納された時間

1.がexistで，かつ5.が0以外の場合。

7.

最終の未抽出メッセージがキューテーブルに格納された時間

8.

データ連動用トリガ数

条件はありません。

9.

データ連動用トリガの詳細

先頭3カラム目

*の場合はトリガが有効であることを示します。

先頭5〜19カラム目

トリガ名

先頭21カラム目以降

トリガ定義対象スキーマ名及び表名

8.が0以外の場合。

10.

抽出同期管理テーブルの有無

exist：抽出同期管理テーブルあり

not exist：抽出同期管理テーブルなし

条件はありません。

11.

抽出同期管理テーブル情報（抽出情報キューファイルの最終WRITE位置）

10.がexistの場合。

12.

出力メッセージ数

-dオプションを指定している場合。

13.

メッセージID

12.が0以外の場合。

14.

更新順序番号

15.

メッセージがキューテーブルに格納された時間，トランザクションID，及びメッセージの状態

メッセージの状態

'PROCCESSED'：既にキューテーブルから取り出されています。

'READY'：まだキューテーブルから取り出されていません。

'EXPIRED'：キューテーブルに格納できないメッセージのため，例外キューに格納されています。

16.

表ID及び更新種別

更新種別

INS：INSERT

UPD：UPDATE（マッピングキー更新なし）

UPDM：UPDATE（マッピングキー更新あり）

DEL：DELETE

17.

更新前データ数

12.が0以外で，かつ16.の更新種別がUPDM又はDELの場合。

18.

更新データ順序名及び更新データ長

更新データ長

−1：ナル値

−1以外：データ長

17.が0以外の場合。

19.

更新前データ

17.が0以外で，かつ18.が−1以外の場合。

20.

更新後データ数

12.が0以外で，かつ16.の更新種別がINS，UPD，又はUPDMの場合。

21.

更新データ順序名及び更新データ長

更新データ長

−1：ナル値

−1以外：データ長

20.が0以外の場合。

22.

更新後データ

20.が0以外で，かつ21.が−1以外の場合。

注

キューテーブルに格納されているメッセージ（更新データ）の詳細は，キューテーブルに格納された時間が古い順に出力されます。ただし，同じ時間にキューテーブルに格納されたメッセージの詳細については，出力順序は保証されません。

hderesstateS（データ連動リソースの状態の取得）

機能

コマンドを実行した時点のデータ連動リソースの状態を標準出力に出力します。出力される情報を，次の表に示します。

データ連動リソース

出力される情報

メッセージデータ型

出力はありません。

キューテーブル

キューテーブルの有無

キューテーブル名称

キューテーブルからの取り出し（DEQUEUE）が完了した更新データの保存時間

キューテーブルに格納されているメッセージ（更新データ）の情報

・未抽出メッセージ数

・先頭の未抽出メッセージがキューテーブルに格納された時間※

・最終の未抽出メッセージがキューテーブルに格納された時間※

・キューテーブルに格納されているメッセージの詳細※

データ連動用トリガ

全トリガ数

全トリガ名

全トリガの定義対象表一覧

全トリガの状態（有効／無効）

抽出データ制御表

抽出データ制御表の有無

抽出データ制御表情報（抽出情報キューファイルの最終WRITE位置）

注※

-dオプションを指定したときだけ出力します。

形式

　　　　　hderesstateS 〔-D DSN〕〔-u ユーザID 〔/ パスワード〕〕
　　　　　　　　　〔-d〔-s 表示開始時間〕〔-t 表示終了時間〕〔-n 表示データ件数〕〕

オプション

-D DSN

抽出側のSQL ServerのDSN名を指定します。

-u ユーザ名 〔/ パスワード〕

データ連動リソース管理ユーザのユーザ名とパスワードを指定します。

このオプションを省略すると，抽出システム定義のsqls_usrオペランドの値が仮定されます。

-d

キューテーブル内に格納されている更新データの詳細を出力します。

-s 表示開始時間

-dオプションを指定したときにだけ指定できるオプションです。このオプションで指定した時間以降にキューテーブルに格納された更新データの詳細を出力します。

このオプションは，YYYYMMDDHHMMSSの形式で指定します。17530101000000以上の値を指定してください。このオプションを省略すると，17530101000000が仮定されます。

-t 表示終了時間

-dオプションを指定したときにだけ指定できるオプションです。このオプションで指定した時間以前にキューテーブルに格納された更新データの詳細を出力します。

このオプションは，YYYYMMDDHHMMSSの形式で指定します。ミリ秒には000が仮定されます。したがって，20031201074030と指定した場合，2003-12-01 07:40:30.000を意味します。この場合，2003-12-01 07:40:30.001以降に発生した更新情報は検索の範囲外になります。

このオプションを省略すると，99991231235959が仮定されます。

-n 表示データ件数

-s及び-tオプションで指定した条件を満たす更新データの最大出力件数を指定します。

このオプションを省略すると，-s及び-tオプションで指定した条件を満たすすべての更新データを出力されます。

規則

hderesstateSコマンドを実行後，正常終了すると0が返されます。異常終了すると1が返されます。

抽出側Datareplicator Extensionでは，hderesstateSコマンドを実行した時点でデータ連動リソースの状態を取得し，標準出力に出力します。このため出力される情報は，実際の抽出側Datareplicator Extensionの状態とは多少ずれが発生することがあります。

出力形式

説明

出力形式の説明と出力条件を次に示します。

番号

説明

出力条件

1.

キューテーブルの有無

exist：キューテーブルあり

not exist：キューテーブルなし

条件はありません。

2.

キューテーブル名称

1.がexistの場合。

3.

キューテーブルからの取り出し（DEQUEUE）が完了した更新データの保存時間（単位：秒）

4.

キューテーブル内の未抽出メッセージ数

5.

先頭の未抽出メッセージがキューテーブルに格納された時間

1.がexistで，かつ4.が0以外の場合。

6.

最終の未抽出メッセージがキューテーブルに格納された時間

7.

データ連動用トリガ数

条件はありません。

8.

データ連動用トリガの詳細

先頭3カラム目

*の場合はトリガが有効であることを示します。

先頭5〜23カラム目

「トリガ名＋通番＋トリガ種別」を表示します。

通番はトリガ種別ごとに振られる4けたの識別番号です。

トリガ種別には次の3種類があります。

・INS：トリガの投入

・UPD：トリガの更新

・DEL：トリガの削除

先頭25カラム目以降

トリガ定義対象スキーマ名及び表名

7.が0以外の場合。

9

抽出データ制御表の有無

exist：抽出データ制御表あり

not exist：抽出データ制御表なし

条件はありません。

10.

抽出データ制御表の情報（抽出情報キューファイルの最終WRITE位置）

9.がexistの場合。

11.

出力メッセージ数

-dオプションを指定している場合。

12.

メッセージの連続番号

11.が0以外の場合。

13.

メッセージがキューテーブルに格納された時間，トランザクションID，及びメッセージの状態

メッセージの状態

'PROCCESSED'：既にキューテーブルから取り出されています。

'READY'：まだキューテーブルから取り出されていません。

14.

表ID及び更新種別

更新種別

INS：INSERT

UPD：UPDATE（マッピングキー更新なし）

UPDM：UPDATE（マッピングキー更新あり）

DEL：DELETE

15.

更新前データ数

11.が0以外で，かつ14.の更新種別がUPDM又はDELの場合。

16.

更新データ順序名（4けたの連続番号）及び更新データ長

更新データ長

−1：ナル値

−1以外：データ長

15.が0以外の場合。

17.

更新前データ

15.が0以外で，かつ16.が−1以外の場合。

18.

更新後データ数

11.が0以外で，かつ14.の更新種別がINS，UPD，又はUPDMの場合。

19.

更新データ順序名及び更新データ長

更新データ長

−1：ナル値

−1以外：データ長

18.が0以外の場合。

20.

更新後データ

18.が0以外で，かつ19.が−1以外の場合。

8　障害時の対処

この章では，抽出側Datareplicator Extension又は反映側Datareplicator Extensionを運用中に障害が発生した場合の対処について説明します。

8.1　抽出側Datareplicator Extensionの障害時の対処

他社DBMSとデータ連動する場合の，抽出側Datareplicator Extensionで障害が起こったときの対処方法について説明します。

8.1.1　抽出側システムでエラーが発生した場合の対処（Oracleの場合）

抽出側システムがOracleの場合，抽出側でエラーが発生した場合の障害対策について説明します。ここでは，次の場合について説明します。

抽出定義プリプロセスファイルの作成時に，トリガ作成処理でエラーが発生した場合

抽出側DBのトリガ実行処理でエラーが発生した場合

抽出側DBがダウンした場合

抽出プロセスでエラーが発生した場合

抽出側DBと反映側DBに不整合が発生した場合

(1)　抽出定義プリプロセスファイルの作成時に，トリガ作成処理でエラーが発生した場合

hdeprepOコマンドで抽出定義プリプロセスファイルを作成するときに，トリガ作成処理でエラーが発生した場合の，対処方法を次に示します。

KFRB00060-Eメッセージの詳細情報に出力されている表名を確認します。

hderesstateOコマンドを実行して，1.で確認した表に該当するトリガ名を取得します。

データ連動リソース管理ユーザとしてOracleに接続し，SQL*Plusで次のSQLを実行します。

alter trigger　トリガ名　compile；

このSQLを実行すると，コンパイルエラーが発生します。

SQL*Plusで次のSQLを実行します。

show errors；

このコマンドを実行すると，トリガ作成処理で発生したエラーの詳細要因メッセージが出力されるので，このメッセージに従って対処してください。

(2)　抽出側DBのトリガ実行処理でエラーが発生した場合

抽出側DBがOracleの場合は，更新APによる更新処理の延長で，トリガによる更新情報の取得及びアドバンストキューへの格納が実行されます。

このため，トリガ実行処理でエラーが発生した場合は，本来のDBに対する更新処理も無効となり，データ連動だけではなく本来の業務に対しても影響を及ぼします。

このエラーに対する対処として，次の二つの方法があります。

データ連動を打ち切って，本来の業務を優先させる方法

データ連動の継続を優先させる方法

(a)　データ連動を打ち切って本来の業務を優先させる方法

データ連動を打ち切って本来の業務を優先させる場合の対処方法を，次に示します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを停止します。

DROP USER…CASCADEを実行して，データ連動リソースを削除します。

更新APを再実行します。

なお，この方法で対処した場合は，データ連動が打ち切られて，抽出側DBと反映側DBに不整合が発生します。抽出側DBと反映側DBに不整合が発生した場合の対処については，「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

(b)　データ連動の継続を優先させる方法

アドバンストキューが満杯であるなど，回復の見込みがあるエラーであり，かつ回復まで業務を中断できる場合は，エラーを回復した後に更新APを再実行してください。

(3)　抽出側DBがダウンした場合

抽出側DBがOracleの場合，抽出側DBがダウンしたときは抽出側Datareplicator Extensionの抽出プロセスもDEQUEUEの実行時にエラー終了します。

抽出側DBがダウンした場合の，対処方法を次に示します。

抽出対象Oracleがダウンした要因を取り除きます。

抽出対象Oracleを起動します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

なお，抽出処理の同期を制御することで，抽出処理の整合性を保証します。

(4)　抽出プロセスでエラーが発生した場合

抽出プロセスで発生するエラーは，次の二つに分けられます。

エラーの種類

エラーの内容

データ連動を継続できるエラー

メモリ不足や抽出側システムが起動していないなど，ユーザがエラー要因を解消できるエラー

例外データを検知したなど，エラーが発生してもDatareplicator Extensionにデータ連動を継続するのための機能があるエラー

データ連動を継続できないエラー

不正なデータを検知したなど，ユーザがエラー要因を解消できないエラー

データ連動を継続できるエラーに対しては，エラー要因を解消した後に抽出側Datareplicator及び抽出側Datareplicator Extensionを再起動することで，データ連動を再開できます。また，抽出処理の同期を制御することで，抽出処理の整合性を保証します。

データ連動を継続できないエラーに対しては，抽出側DBと反映側DBに不整合が発生する場合があります。抽出側DBと反映側DBに不整合が発生した場合の対処については，「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

(5)　抽出側DBと反映側DBに不整合が発生した場合

抽出側システムでの障害や不正な運用などによって，抽出側DBと反映側DBに不整合が発生した場合の対処方法を次に示します。

HiRDB Dataextractorで，抽出側DBと反映側DBとの不整合を修正します。

反映側システムのデータ連動の環境を初期化します。

抽出側システムのデータ連動の環境を初期化します。

抽出定義プリプロセスファイルを作成します。

反映側Datareplicator及び反映側Datareplicator Extensionを起動します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

8.1.2　抽出側システムでエラーが発生した場合の対処（SQL Serverの場合）

抽出側システムがSQL Serverの場合，抽出側でエラーが発生した場合の障害対策について説明します。ここでは，次の場合について説明します。

抽出側DBのトリガ実行処理でエラーが発生した場合

抽出側DBがダウンした場合

抽出プロセスでエラーが発生した場合

ホストマシンがダウンした場合

抽出側DBと反映側DBに不整合が発生した場合

(1)　抽出側DBのトリガ実行処理でエラーが発生した場合

トリガ実行処理エラーによって更新APでエラーが発生した場合，SQL Serverでは最後にコミットした時点からトリガ実行処理エラーが発生した時点までのトランザクションがすべてロールバックされます。

抽出側Datareplicatorでは，コミットされたデータしか抽出されないため，未保存のトランザクションを再度入力する必要があります。

トリガ実行処理エラーが発生すると，SQL Serverからは更新APにエラーが返されます。ただし，エラーメッセージの表示と内容は更新APエラー処理に依存します。

このエラーへの対処には次の二つの方法があります。

データ連動を打ち切って本来の業務を優先させる方法

データ連動の継続を優先させる方法

(a)　データ連動を打ち切って本来の業務を優先させる方法

データ連動を打ち切って本来の業務を優先させる場合の対処方法を，次に示します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを停止します。

DROP TRIGGERを実行して，データ連動トリガを削除します。

更新APを再実行します。

(b)　データ連動の継続を優先させる方法

SQL Serverから更新APに返されるエラーに基づいて問題を解決した後，更新APを再実行してください。

(2)　抽出側DBがダウンした場合

抽出側DBがSQL Serverの場合，抽出側DBがダウンしたときは抽出が終了します。ただし，抽出側Datareplicatorのほかの処理はそのまま実行します。

抽出側DBがダウンした場合の，対処方法を次に示します。

抽出対象SQL Serverがダウンした要因を取り除きます。

抽出対象SQL Serverを起動します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

抽出側Datareplicatorを起動すると，ダウン時に終了した抽出プロセスだけ起動されます。

(3)　抽出プロセスでエラーが発生した場合

抽出プロセスで発生するエラーは，次の二つに分けられます。

エラーの種類

エラーの内容

データ連動を継続できるエラー

メモリ不足や抽出側システムが起動していないなど，ユーザがエラー要因を解消できるエラー

例外データを検知したなど，エラーが発生してもDatareplicator Extensionにデータ連動を継続するのための機能があるエラー

データ連動を継続できないエラー

不正なデータを検知したなど，ユーザがエラー要因を解消できないエラー

データ連動を継続できるエラーに対しては，エラー要因を解消した後に抽出側Datareplicator及び抽出側Datareplicator Extensionを再起動することで，データ連動を再開できます。また，抽出処理の同期を制御することで，抽出処理の整合性を保証します。

データ連動を継続できないエラーに対しては，抽出側Datareplicator及び抽出側Datareplicator Extensionを初期起動する必要があります。

(4)　ホストマシンがダウンした場合

抽出側システムのホストマシンがダウンした場合の対処方法を，次に示します。

抽出対象SQL Serverを起動します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

(5)　抽出側DBと反映側DBに不整合が発生した場合

抽出側システムでの障害や不正な運用などによって，抽出側DBと反映側DBに不整合が発生した場合の対処方法を次に示します。

HiRDB Dataextractorで，抽出側DBと反映側DBとの不整合を修正します。

抽出側システムのデータ連動の環境を初期化します。

抽出定義プリプロセスファイルを作成します。

反映側Datareplicator及び反映側Datareplicator Extensionを初期起動します。

抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

8.2　反映側Datareplicator Extensionの障害時の対処

他社DBMSとデータ連動する場合の，反映側Datareplicator Extensionの障害時の対処方法は，HiRDBシステム同士のデータ連動と同様です。

反映側Datareplicator Extensionの障害時の対処については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

なお，エラーメッセージについては，抽出時及び反映時共に同じメッセージが出力されます。Oracle又はSQL Serverについて，特に記載がない場合，次に示すように読み替えてください。

メッセージ中の用語

読み替える用語

Oracleの場合

SQL Serverの場合

HiRDB

Oracle

SQL Server

HiRDBシステムログ

アドバンストキュー

データベースキュー

hdestart

hdestartO

hdestartS

hdestop

hdestopO

hdestopS

hdestate

hdestateO

hdestateS

hdeprep

hdeprepO

hdeprepS

hdeevent

hdeeventO

hdeeventS

8.3　データ連動回復機能

データ連動回復機能とは，次のどちらかの原因によって通常のデータ連動が停止した場合に，障害で消失した未反映の更新情報を再抽出し，その情報を基に抽出情報キューファイルを回復して反映側に送信することで，データ連動の整合性を回復できるようにする機能です。

データ連動の停止（pdrplstopコマンド）や初期開始（hdestart -iコマンド）を誤って実行した

Datareplicator Extensionが管理するファイル（データ連動用連絡ファイル，抽出情報キューファイル，サーバステータスファイルなど）に障害が発生した

データ連動回復機能には，次の二つの方法があります。

システムログファイルによる回復

アンロードログファイルによる回復

ただし，Datareplicator Extensionでシステムログファイルによる回復を実行できるのは，次の前提条件を満たした場合だけです。

抽出側システムがDatareplicatorである

反映側システムがDatareplicator Extensionである

抽出側システムと反映側システムのバージョンが共に08-04以降である

データ連動回復機能の詳細については，マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator」を参照してください。

アンロードログファイルによるデータ連動回復を使えるDatareplicator Extensionのバージョンと製品の組み合わせを次の表に示します。

表8‒1　アンロードログファイルによるデータ連動回復を使えるDatareplicator Extensionのバージョンと製品の組み合わせ

反映側システム

抽出側システム

Datareplicator※1

06-01

以前

06-01-/A

以降※2

07-00

以降，及び08-00以降

Datareplicator Extension

06-03-/D以降

×

○

○

07-00以降，及び08-00以降

×

○

○

上記以外

×

×

×

（凡例）

○：アンロードログファイルによるデータ連動回復を使えます。

×：アンロードログファイルによるデータ連動回復を使えません。

注

「以降」とは，該当形名でのバージョンを示します。

注※1

抽出側システムにDatareplicatorを使用している場合だけ，データ連動回復機能を使えます。抽出側システムにDatareplicator Extensionを使用している場合は，データ連動回復機能を使えません。HiRDB Dataextractor又はXDM/XTを使って回復してください。

注※2

logmrgコマンドの入力対象となるHiRDBのファイルがラージファイルの場合，データ連動回復機能が有効なHiRDB Datareplicatorのバージョンは，06-02以降になります。

付録

付録A　Datareplicator Extension定義の予約語

Datareplicator Extension定義の予約語を次の表に示します。ここに示す予約語は，大文字／小文字，又は大文字と小文字の混在のすべてが予約語になります。さらに，Datareplicator抽出定義，Datareplicator反映定義，更新情報定義それぞれのオペランド名も予約語となります。

これらの文字列を，抽出側Datareplicator Extensionの定義，反映側Datareplicator Extensionの定義，及び更新情報定義で使うには，文字列を「 " 」（ダブルクォーテーション）で囲んで指定してください。

表A‒1　Datareplicator Extensionの予約語の一覧

予約語

抽出側Datareplicator Extensionの定義の予約語

反映側Datareplicator Extensionの定義の予約語

更新情報定義の予約語

<A>

adt

○

○

○

and

○

−

−

attr

−

−

○

<B>

binary

−

−

○

by

○

○

−

<C>

char※1

○

−

−

comp

−

−

○

const

−

○

−

construct

○

○

○

<D>

date※2

○

−

−

divide

−

○

−

<E>

extract

○

−

○

extract_date

−

○

−

extract_time

−

○

−

<F>

field

−

−

○

filetype

−

−

○

flike

○

−

−

float

−

−

○

format

−

○

−

from

○

○

−

<G>

group

−

○

−

<H>

hash

−

○

−

having

−

○

−

hdsdefserv※3

−

○

−

hdsmain※3

−

○

−

hdsreflect※3

−

○

−

hdssqle※3

−

○

−

hdstcpmst※3

−

○

−

<I>

in

○

○

−

ins

−

−

○

into

−

○

−

is

−

○

−

ivl

−

−

○

<K>

key

○

−

○

<L>

lib

○

○

○

load

−

○

−

<N>

nchar

−

−

○

name

−

○

−

nocodecnv

−

○

−

not

−

○

○

null

−

○

○

<O>

or

○

−

−

other

−

○

−

othergrp

−

○

−

<P>

pack

−

−

○

packns

−

−

○

pdm

−

−

○

position

−

−

○

<Q>

que

−

−

○

<R>

reflect_date

−

○

−

reflect_kind

−

○

−

reflect_time

−

○

−

reptype

○

○

○

restruct

−

−

○

<S>

send

○

−

−

seq_no

−

○

−

sqlconvopt1

−

○

−

sqlconvopt2

−

○

−

<T>

through

○

○

○

time※2

○

−

−

timestamp

−

○

−

to

○

○

○

trngroup

−

○

−

<U>

ukey

○

−

○

unpack

−

−

○

unpackns

−

−

○

uocname

−

−

○

uocxxx※4

−

○

−

upd

−

−

○

update

−

−

○

<W>

where

○

−

−

（凡例）

○：予約語であることを示します。

−：予約語に該当しないことを示します。

注

注※3で説明している予約語以外は，大文字，小文字と，それらの組み合わせがすべて予約語です。例えばbyの場合，by，bY，By，及びBYが予約語です。

注※1

Oracleとデータ連動する場合は，抽出側Datareplicator Extension定義の予約語ですが，HiRDBシステム同士でデータ連動する場合は，更新情報定義の予約語です。

注※2

Datareplicator Extension固有の予約語です。

注※3

すべてが小文字の場合だけ予約語です。

注※4

xxxは，3けたの符号なし整数を表します。

付録B　プロセスファイルの作成手順及び作成例

Oracleを使用する場合のプロセスファイルの作成手順及び作成例について説明します。

付録B.1　プロセスファイルの作成手順

プロセスファイルを作成する手順を次に示します。

サンプルメイクファイルの確認

環境変数の設定

プロセスファイル作成シェルの実行

(1)　サンプルメイクファイルの確認

プロセスファイルを作成する前は，Oracleが提供するサンプルメイクファイルに対する一時的制限事項や注意事項がないか，Oracleのリリースノートを確認し，修正が必要であればリリースノートに従って修正してください。

サンプルメイクファイル名，及びサンプルメイクファイルが格納されているディレクトリを次に示します。

Oracleのバージョン

サンプルメイクファイル名

サンプルメイクファイルが格納されているディレクトリ

Oracle11g

demo_rdbms64.mk

$ORACLE_HOME/rdbms/demo

Oracle12c以降

demo_rdbms.mk

$ORACLE_HOME/rdbms/demo

(2)　環境変数の設定

プロセスファイルは，rootユーザが作成します。rootユーザがプロセスファイルを作成するために，設定が必要な環境変数を次に示します。

環境変数

設定内容

ORACLE_HOME

抽出対象Oracleのホームディレクトリを指定します。

PATH

次に示すパスを指定します。

・makeコマンドの実行に必要なパス

・コンパイラの実行に必要なパス※

LANG

「C」を設定します。

注※

コンパイラ実行に必要なパスは，Oracleの取扱説明書に従って設定してください。

(3)　プロセスファイル作成シェルの実行

次に示す手順に従って，プロセスファイル作成シェルを実行してください。

# cd /opt/hirdbds/make
# hdssetupO

なお，次に示す手順に従ってプロセスファイル作成シェルの内容を修正しておく必要があります（スーパユーザで修正してください）。

注※

「(1)サンプルメイクファイルの確認」に示す，サンプルメイクファイルに変更してください。

プロセスファイル作成シェルの実行例については，「付録B.2　プロセスファイル作成シェルの実行例」を参照してください。

プロセスファイル作成シェルの実行中にエラーが発生した場合は，エラーメッセージに従って要因を対処した後に，シェルを再実行してください。

付録B.2　プロセスファイル作成シェルの実行例

プロセスファイル作成シェルの実行例を次に示します。

*********************************************************
          HiRDB DataReplicator Extension Setup
*********************************************************
［HiRDB DataReplicator］ ： ====================================================
［HiRDB DataReplicator］ ： It is carried out in the following option.
［HiRDB DataReplicator］ ： /opt/hirdbds
［HiRDB DataReplicator］ ： so
［HiRDB DataReplicator］ ： /home/oracle/Oracle/product/12.2/rdbms/demo/demo_rdbms.mk
［HiRDB DataReplicator］ ： ====================================================
Choose Component （hde：1，hds：2） ： 1※
　　　　　　　　　　　　　　　　　　　：
　　　　　　　　　　　　　　　　　　　：
　　　　　　　　　　　［ ロード作成 （make）の実行結果 ］
　　　　　　　　　　　　　　　　　　　：
　　　　　　　　　　　　　　　　　　　：
［HiRDB DataReplicator］ ： =================================================
［HiRDB DataReplicator］ ： HiRDB DataReplicator Extension Setup Completed..
［HiRDB DataReplicator］ ： =================================================

注※

作成するプロセスファイルが，Oracleから更新内容を抽出するときに使うファイルか，Oracleへ更新内容を反映するときに使うファイルかを選択します。

1：Oracleから更新内容を抽出する場合に使用するファイル

2：Oracleへ更新内容を反映する場合に使用するファイル

索引

記号

/パスワード〔抽出システム定義〕[1]

数字

1トランザクション当たりの最大更新情報数（Oracle）〔抽出環境定義〕[1]

1トランザクション当たりの最大更新情報数（SQL Server）〔抽出環境定義〕[1]

C

const　初期値〔反映定義〕[1]

cvt_datakind（Oracle）〔抽出環境定義〕[1]

cvt_datakind（SQL Server）〔抽出環境定義〕[1]

D

Datareplicator Extension[1]

Datareplicator Extension定義の予約語[1]

Datareplicator Extensionのインストール（UNIX）[1]

Datareplicator Extensionのインストール（Windows）[1]

Datareplicator Extensionの目的[1]

Datareplicator管理者の登録（UNIX）[1]

Datareplicator管理者の登録（Windows）[1]

datasource〔反映システム定義〕[1]

dbkind〔反映システム定義〕[1]

decimal_max_precision（Oracle）〔抽出システム定義〕[1]

decimal_max_precision（SQL Server）〔抽出システム定義〕[1]

DEQUEUE[1]

DEQUEUE後のアドバンストキュー内更新情報保存時間（Oracle）〔抽出システム定義〕[1]

DEQUEUE後のキューテーブル内更新情報保存時間（SQL Server）〔抽出システム定義〕[1]

DSN名（SQL Server）〔抽出システム定義〕[1]

E

EBCDIK/KEISからEUCへの文字コードの変換規則[1]

ENQUEUE[1]

exterrlevel（Oracle）〔抽出環境定義〕[1]

exterrlevel（SQL Server）〔抽出環境定義〕[1]

H

hdeprepX[1]

hderesstateO〔コマンドの文法〕[1]

hderesstateS〔コマンドの文法〕[1]

hdestartO[1]

hdestartS[1]

hdestartX[1]

hdestopX[1]

hdsstart[1]

hdsstop[1]

HiRDBからODBCドライバを使用してSQL Serverへデータ連動する場合のソフトウェア構成[1]

HiRDBからOracleへデータ連動する場合のソフトウェア構成[1]

M

mapping_key_check〔反映環境定義〕[1]

N

node_shlibpath（Oracle）〔抽出システム定義〕[1]

O

odbcusr〔反映システム定義〕[1]

ODBC環境の設定（Windows）[1]

ODBC接続認可識別子〔反映システム定義〕[1]

oracle_aq_storage（Oracle）〔抽出システム定義〕[1]

oracle_maxextcol（Oracle）〔抽出システム定義〕[1]

oracle_msgkeeptime（Oracle）〔抽出システム定義〕[1]

oracle_sortidx_storage〔抽出システム定義〕[1]

oracle_sortidx〔抽出システム定義〕[1]

oracle_sorttbl_storage（Oracle）〔抽出システム定義〕[1]

oracleusr（Oracle）〔抽出システム定義〕[1]

oracleusr〔反映システム定義〕[1]

OracleからHiRDBへデータ連動する場合のソフトウェア構成[1]

Oracle接続認可識別子〔反映システム定義〕[1]

Oracle抽出サービス[1]

S

skip_sqlcode〔反映環境定義〕[1]

sqls_dsn（SQL Server）〔抽出システム定義〕[1]

sqls_maxextcol（SQL Server）〔抽出システム定義〕[1]

sqls_msgkeeptime（SQL Server）〔抽出システム定義〕[1]

sqls_qtbl_filegroup（SQL Server）〔抽出システム定義〕[1]

sqls_qtbl_idx（SQL Server）〔抽出システム定義〕[1]

sqls_qtblidx_filegroup（SQL Server）〔抽出システム定義〕[1]

sqls_usr（SQL Server）〔抽出システム定義〕[1]

SQL ServerからODBCドライバを使用してHiRDBへデータ連動する場合のソフトウェア構成[1]

SQL Server接続ユーザID〔抽出システム定義〕[1]

SQL Server抽出サービス[1]

T

tran_datanum（Oracle）〔抽出環境定義〕[1]

tran_datanum（SQL Server）〔抽出環境定義〕[1]

あ

アイコン〔Windows〕[1]

アドバンストキュー作成時の記憶域パラメタ（Oracle）〔抽出システム定義〕[1]

アンインストール〔UNIX〕[1]

アンインストール〔Windows〕[1]

い

イベント機能[1]

インストール時に登録されるサービス〔Windows〕[1]

インストールの実行〔UNIX〕[1]

インストールの実行〔Windows〕[1]

インストール前の準備〔UNIX〕[1]

インストール前の準備〔Windows〕[1]

か

環境の設定[1]

環境変数の設定（UNIX）[1]

環境変数の設定（Windows）[1]

関連する製品[1]

き

キューテーブル[1]

キューテーブルインデクスのFILEGROUP名（SQL Server）〔抽出システム定義〕[1]

キューテーブルのFILEGROUP名（SQL Server）〔抽出システム定義〕[1]

こ

更新情報及びトランザクション情報の出力[1]

更新情報の取り出し[1]

更新情報フィールド定義[1]

コマンドの一覧[1]、[2]

さ

サービス〔Windows〕[1]

し

時系列情報の取得[1]

時系列情報表の作成[1]

時系列情報を取得する表の定義[1]

システム設計[1]

障害時の対処[1]

せ

選択条件列の属性と定数との関連（Oracle）[1]

そ

送信[1]

送信環境定義（Oracle）〔定義の文法〕[1]

送信環境定義（SQL Server）〔定義の文法〕[1]

送信滞留時間[1]

ソフトウェア構成[1]

た

滞留監視機能[1]

滞留時間[1]

ち

遅延開始[1]

抽出[1]

抽出可能最大列数（Oracle）〔抽出システム定義〕[1]

抽出可能最大列数（SQL Server）〔抽出システム定義〕[1]

抽出側Datareplicator Extension[1]

抽出側Datareplicator Extensionの運用（Oracleの場合）[1]

抽出側Datareplicator Extensionの運用（SQL Serverの場合）[1]

抽出側Datareplicator Extensionの環境変数の設定（UNIX）[1]

抽出側Datareplicator Extensionの環境変数の設定（Windows）[1]

抽出側Datareplicator Extensionの起動と終了（Oracleの場合）[1]

抽出側Datareplicator Extensionの起動と終了（SQL Serverの場合）[1]

抽出側Datareplicator Extensionの障害時の対処[1]

抽出側Datareplicator Extensionの抽出処理[1]

抽出側Datareplicator Extensionを使用する場合の定義（Oracleの場合）[1]

抽出側Datareplicator Extensionを使用する場合の定義（SQL Serverの場合）[1]

抽出側DB[1]

抽出側DBと反映側DBとの対応の設計[1]

抽出側システム[1]

抽出側システムでエラーが発生した場合の対処（Oracleの場合）[1]

抽出側システムでエラーが発生した場合の対処（SQL Serverの場合）[1]

抽出間隔の制御[1]

抽出環境定義（Oracle）〔定義の文法〕[1]

抽出環境定義（SQL Server）〔定義の文法〕[1]

抽出システム定義（Oracle）〔定義の文法〕[1]

抽出システム定義（SQL Server）〔定義の文法〕[1]

抽出順序管理テーブルインデクス記憶域パラメタ（Oracle）〔抽出システム定義〕[1]

抽出順序管理テーブル記憶域パラメタ（Oracle）〔抽出システム定義〕[1]

抽出情報キューファイル[1]

抽出処理[1]

抽出処理の開始タイミング[1]

抽出処理のタイミング[1]

抽出処理の停止タイミング[1]

抽出定義（Oracle）〔定義の文法〕[1]

抽出定義（SQL Server）〔定義の文法〕[1]

抽出データ型（Oracle）〔抽出定義〕[1]

抽出データ型（SQL Server）〔抽出定義〕[1]

つ

通信環境の設定（UNIX）[1]

通信環境の設定（Windows）[1]

て

ディレクトリ構成（UNIX）[1]

ディレクトリ構成（Windows）[1]

データ型の変換[1]

データソース名〔反映システム定義〕[1]

データ連動回復機能[1]

データ連動機能[1]

データ連動システムの組み合わせ[1]

データ連動システムの構築手順[1]

データ連動システムのソフトウェア構成[1]

データ連動について[1]

データ連動リソース[1]、[2]

データ連動リソース管理ユーザの登録（UNIX）[1]

データ連動リソース管理ユーザの登録（Windows）[1]

データ連動リソース管理ユーザ名（Oracle）〔抽出システム定義〕[1]

データ連動リソースの作成[1]

データ連動リソースの状態の取得〔コマンドの文法〕[1]、[2]

と

トランザクション単位反映方式[1]

トリガ[1]

は

パスワード（Oracle）〔抽出システム定義〕[1]

パスワード〔反映システム定義〕[1]、[2]

反映側Datareplicator Extension[1]

反映側Datareplicator Extensionの環境変数の設定（UNIX）[1]

反映側Datareplicator Extensionの環境変数の設定（Windows）[1]

反映側Datareplicator Extensionの起動と終了[1]

反映側Datareplicator Extensionの障害時の対処[1]

反映側Datareplicator Extensionの反映処理[1]

反映側Datareplicator Extensionを使用する場合の定義[1]

反映側DB[1]

反映側システム[1]

反映環境定義〔定義の文法〕[1]

反映グループ定義[1]

反映システム定義〔定義の文法〕[1]

反映処理[1]

反映処理の開始タイミング[1]

反映処理のタイミング[1]

反映処理の停止タイミング[1]

反映処理の方式[1]

反映滞留時間[1]

反映定義〔定義の文法〕[1]

反映表定義[1]

ひ

表単位反映方式[1]

ふ

ファイルの二重化を使うときの運用[1]

プロセスファイルの作成（UNIX）[1]

プロセスファイルの作成手順及び作成例[1]

ま

マルチFES機能に対応した反映方式[1]、[2]

も

文字コードの種類[1]

文字コードの対応の設計[1]

文字コードの変換[1]

ゆ

ユーザ権限の確認〔UNIX〕[1]

ユーザ権限の確認〔Windows〕[1]

よ

予約語[1]

ら

ライブラリパス（Oracle）〔抽出システム定義〕[1]

れ

例外データ[1]