抽出定義は、複写元システムでレプリケーション対象のデータを抽出するための定義です。
複写元システムで、レプリケーション運用するすべての表に対して抽出定義を行います。1つの表に対して複数の抽出定義を行うことも可能です。
抽出定義は、抽出定義コマンド(lxrpocreコマンド)で行います。ここでは、抽出定義コマンドによる抽出定義の方法について説明します。あわせて、コマンドによる抽出定義情報の表示方法や抽出定義の削除方法について説明します。
なお、抽出定義の入力ファイルのサンプルについては、“付録C サンプルファイル一覧”を参照してください。また、定義ファイル作成コマンド(lxrpomkdefコマンド)により、抽出定義の入力ファイルの雛型を作成することができます。詳細は、“コマンドリファレンス”の“lxrpomkdefコマンド”を参照してください。
抽出定義を行うには、テキストファイルに各定義項目を記述し、抽出定義コマンド(lxrpocreコマンド)を実行します。コマンドの詳細については、“コマンドリファレンス”の“lxrpocreコマンド”を参照してください。
なお、抽出定義コマンドを実行するには、Linkexpress Replication optionを起動する必要があります。
説明
指定したデータベースをレプリケーションの抽出対象にします。
操作方法
lxrpocre -u データベース・アクセス・ユーザID/パスワード 入力ファイル名
以下に、Solarisサーバ上のOracleから、Solarisサーバ上のSymfoware Server (Nativeインタフェース)へレプリケーションを行う場合を例にして、抽出定義の入力ファイルの記述方法について説明します。
抽出定義の方法を、以下の運用例に基づいて説明します。
なお、ここで説明するもの以外にも抽出定義の定義項目は存在します。詳細については、“コマンドリファレンス”の“lxrpocreコマンド”を参照してください。
運用資源
運用資源 | 複写元システム | 複写先システム |
---|---|---|
OS | Solaris | Solaris |
データベースシステム | Oracle | Symfoware Server |
コード系 | EUC(S90)系 | EUC(S90)系 |
データベース名 | 社員管理データベース | 社員管理データベース |
スキーマ名 | 社員スキーマ | 社員スキーマ |
表名 | 社員表 | 社員表 |
データ型 | 社員番号:NUMBER(9) | 社員番号:INTEGER |
運用形態
社員管理データベースの大阪支店の社員データを複写先システムに複写します。
# 抽出定義 REPNAME = 社員管理抽出定義 → 1 REPTYPE = COPY → 2 DBMSKIND = ORACLE → 3 INCODE = EUC-S90 → 4 SCHEMA = 社員スキーマ → 5 TABLE = 社員表 → 6 WHERE = (支店名) =(?) USING(’大阪’) → 7 DATATYPE = (INT,CHAR(10),CHAR(8)) → 8 LOGPATH = /home/work/logdata_db01/ → 9 LOGSIZE = 1024 →10 LOGWARN = 70 →11 OUTCODE = EUC-S90 →12 DIFFTYPE = OPEN →13 NULLIND = YES →14 BYTESWAP = NO →15
備考:「#」で始まる行はコメント行です。
以下に抽出定義のオペランドについて説明します。各オペランドの番号は、入力ファイルの記述例の番号と対応します。
抽出定義名を指定します。
レプリケーションの運用種別を指定します。
データベースシステムの種別を指定します。
Oracle抽出レプリケーションの場合は“ORACLE”を指定します。
データベースシステムのコード系を指定します。
レプリケーションの対象となる表の所有者名(スキーマ名)を指定します。
レプリケーションの対象となる表名を指定します。
レプリケーションの対象となる条件を指定します。
複写先データベースの列のデータ型に合わせたデータ型を指定します。通常はDBサービス定義のINTABLE定義文のITEMオペランドのデータ型と合わせてください。指定可能な値および指定の考え方については、“コマンドリファレンス”の“lxrpocreコマンド”を参照してください。
差分ログファイルを格納する任意のディレクトリパス名を指定します。
差分ログファイルのサイズを指定します。
差分ログファイルに蓄積されたデータ量が指定した割合を超えたときに、コンソールに対して警告メッセージが通知されます。なお、コンソールについては、“マニュアルの読み方”を参照してください。
抽出するコード系を指定します。
抽出データの形式を指定します。
オープンサーバ間で表単位のレプリケーションの場合は、“OPEN”(オープン独自形式)を指定します。
抽出データにナル表示域を含むかどうかを指定します。
データの抽出時にバイトスワップを行うかどうかを指定します。
抽出定義の定義内容を表示するには、抽出定義の定義内容表示コマンド(lxrpoprtコマンド)を実行します。コマンドの詳細については、“コマンドリファレンス”の“lxrpoprtコマンド(抽出定義の定義内容の表示)”を参照してください。
説明
指定した抽出定義の定義内容を表示します。
-rオプションで抽出定義名を指定すると、その抽出定義の内容を表示します。
操作方法
lxrpoprt -r 抽出定義名
# Extract Definition Infomation REPNAME = 社員管理抽出定義 → 1 REPTYPE = COPY → 2 DBMSKIND = ORACLE → 3 INCODE = EUC-S90 → 4 SCHEMA = 社員スキーマ → 5 TABLE = 社員表 → 6 WHERE = (支店名) =(?) USING(’大阪’) → 7 DATATYPE = (INT,CHAR(10),CHAR(8)) → 8 LOGPATH = /home/work/logdata_db01/ → 9 LOGSIZE = 1024 →10 LOGWARN = 70 →11 OUTCODE = EUC-S90 →12 DIFFTYPE = OPEN →13 NULLIND = YES →14 BYTESWAP = NO →15
抽出定義名
運用種別
データベース種別
データベースコード系
スキーマ名
表名
条件指定
抽出するデータ型の指定
差分ログファイル格納ディレクトリパス名
差分ログファイルサイズ
差分ログファイル警告率
抽出コード系
抽出差分形式
ナル表示域の有無
バイトスワップの指定
抽出定義を削除するには、抽出定義削除コマンド(lxrpodroコマンド)を実行します。レプリケーション運用中は抽出定義を削除しないでください。コマンドの詳細については、“コマンドリファレンス”の“lxrpodroコマンド”を参照してください。
なお、抽出定義削除コマンドを実行するには、Linkexpress Replication optionを起動する必要があります。
説明
指定した抽出定義を削除します。
抽出定義名を-rオプションに指定すると、その抽出定義を削除します。
抽出定義名は入力ファイル内に記述することもできます。
-eオプションを指定することによって、まだ抽出されていない差分ログが、トランザクションログデータベースや差分ログファイルに残っている場合でも、強制的に抽出定義を削除することができます。
その他のオプションについては、“コマンドリファレンス”の“lxrpodroコマンド”を参照してください。
操作方法
lxrpodro [ -e ] [ -Z ] { -r 抽出定義名 | 入力ファイル名 }