SharePlex For Oracle ® 管理者ガ イ ド バージ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) © 2012 Quest Software, Inc. ALL RIGHTS RESERVED. 米国特許番号 : 7,065,538 お よび 7,461,103。 その他特許出願中。 本ガ イ ド には、 著作権で保護 さ れてい る 機密情報が含ま れてい ます。 本ガ イ ド に記載 さ れてい る ソ フ ト ウ ェ アは、 ソ フ ト ウ ェ ア使用許諾ま たは守秘義務契約の下に提供 さ れてお り ます。 本 ソ フ ト ウ ェ アは、 該当す る 契約の条件に準拠す る 場合に限 り 、 使用お よ び コ ピーす る こ と がで き ます。 形式や理由、 電子通信や機械に関わ ら ず、 本ガ イ ド の一部であ っ て も 複製お よ び送信を禁止 し ま す。 Quest Software, Inc. か ら の書 き 込み許可な し での、 購入者以外に よ る 写真複写や記録 も 禁止 し ます。 本 ド キ ュ メ ン ト 内の情報は Quest 製品に関連 し て規定 さ れてい ます。 明示あ る いは黙示を問わず、 禁反言あ る いは別の方法で、 本 ド キ ュ メ ン ト か ら 許可を受け る 知的所有権あ る いは Quest 製品譲渡 に関連す る 知的所有権に対 し ては、 ラ イ セ ン ス はあ り ません。 本製品の ラ イ セ ン ス契約同様、 Quest 条件お よ び規約の記載を除いて、 Quest は一切の責任を負い ません。 ま た、 製品に関係す る 黙示的法令保証の権利を放棄 し ます。 制限はあ り ませんが、 その製品は市場性、 特定の目的に対 す る 適用度、 ま たは反侵害行為を含む黙示的保証があ り ます。 Quest は、 損害が生 じ る 可能性につ いて報告を受けた と し て も 、 本 ド キ ュ メ ン ト の使用、 ま たは使用で き ない こ と か ら 生 じ る いかな る 、 直接的、 間接的、 必然的、 懲罰的、 特有ま たは偶然的な障害 (無期限、 利益の損失、 事業中 断、 情報の紛失 も 含む) に対 し て も 責任を負わない も の と し ます。 Quest は、 本 ド キ ュ メ ン ト 内容 の精密 さ や完全性について表明お よ び保証 し ません。 ま た、 Quest は告知な し で製品使用や製品解 説書を変更す る 権限があ り ます。 Quest は、 本 ド キ ュ メ ン ト に記載 さ れてい る 情報を更新す る 義務 はあ り ません。 本製品の使用に関す る 質問は、 こ ち ら にご連絡 く だ さ い。 Quest Software 本社 LEGAL Dept. 5 Polaris Way Aliso Viejo, CA 92656 メ ールア ド レ ス : [email protected] 地域お よ び国際事業所の情報につ き ま し ては、 当社の Web サ イ ト (www.quest.com) を参照 し て く だ さ い。 商標 Quest、 Quest Software、 Quest Software の ロ ゴ、 Simplicity at Work は Quest Software, Inc. の商標お よ び登録商標です。 Quest Software のすべての商標の リ ス ト については、 http://www.quest.com/legal/ trademarks.aspx を参照 し て く だ さ い。 その他の商標は、 それぞれの所有者が権利を保有 し てい ま す。 サー ド パーテ ィ の貢献 サー ド パーテ ィ の コ ン ポーネ ン ト と 適用 さ れ る ラ イ セ ン ス については、 『SharePlex 管理者ガ イ ド 』 の付録 A を参照 し て く だ さ い。 SharePlex® For Oracle 管理者ガ イ ド バージ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 目次 こ のマニ ュ アルについて こ のマニ ュ アルの PDF 形式での表示方法 ...................................................................................... xii こ のマニ ュ アルで使用 さ れてい る規約.......................................................................................... xiii Quest Software について ..........................................................................................................................xv 第 1 章 : 7.6 の新機能 第 2 章 : SharePlex の動作方法 複製 と は......................................................................................................................................................4 ソ ース と タ ーゲ ッ ト デー タ の役割 .....................................................................................................5 SharePlex 設定の役割................................................................................................................................6 SharePlex for Oracle のアーキテ ク チ ャ ..................................................................................................7 SharePlex キ ュ ーの役割 ...........................................................................................................................8 SharePlex 複製プ ロ セス .........................................................................................................................10 SharePlex がどのよ う にデー タ を複製するか ..................................................................................12 SharePlex がどのよ う にネ ッ ト ワー ク を使用するか.....................................................................13 SharePlex がどのよ う にエ ラ ーを報告するか ..................................................................................14 SharePlex 内部テーブル .........................................................................................................................14 SharePlex デ ィ レ ク ト リ .........................................................................................................................15 Windows シ ス テムのレ ジ ス ト リ 環境 .................................................................................................20 MKS Platform Components..........................................................................................................................21 第 3 章 : SharePlex プ ロ グ ラ ムの実行 パー ト 1: SharePlex の基本操作 SharePlex プ ロ グ ラ ムの紹介.................................................................................................................24 UNIX シ ス テム と Windows シ ス テムのプ ロ セスの違い.................................................................26 シ ス テムの起動.......................................................................................................................................27 iv SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex の起動...................................................................................................................................... 28 SharePlex のシ ャ ッ ト ダウ ン ................................................................................................................ 32 sp_ctrl の実行........................................................................................................................................... 35 パー ト 2: SharePlex のその他の操作 複製プ ロ セス を開始せずに SharePlex を起動する ....................................................................... 40 同 じ UNIX シ ス テムでの SharePlex for Oracle と SharePlex FS の実行.......................................... 43 -u オプ シ ョ ン を使用 し た UNIX シ ス テムでの sp_cop の起動..................................................... 44 複数の SharePlex イ ン ス タ ン スの実行 ............................................................................................. 45 異な るバージ ョ ンの SharePlex の同時実行 .................................................................................... 51 第 4 章 : SharePlex での複製の計画 パー ト 1: SharePlex で複製で き る操作 SharePlex が複製する オブ ジ ェ ク ト ................................................................................................... 58 SharePlex が複製 し ないオブ ジ ェ ク ト .............................................................................................. 58 SharePlex の最良の処理......................................................................................................................... 59 パー ト 2: SharePlex の複製方法 レ ポー ト のイ ン ス タ ン ス を維持する ための複製 ........................................................................ 65 高可用性お よびデー タ リ カバ リ のための複製............................................................................. 67 デー タ 分散のための複製 ................................................................................................................... 68 分散処理 と 負荷バラ ン シ ン グのための複製 ................................................................................. 69 中間シ ス テムを使用 し た複製 ........................................................................................................... 70 集中化レ ポー ト のための複製 .......................................................................................................... 71 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン ....................................................................................................... 72 パー ト 3: 複製を始める前に 同期の理解............................................................................................................................................... 74 複製のためにシ ス テム リ ソ ース を設定する には ........................................................................ 76 複製のためのデー タ ベースの設定................................................................................................... 80 複製のためのシ ス テムの設定 ......................................................................................................... 111 その他の実装におけ る考慮.............................................................................................................. 119 目次 v 第 5 章 : SharePlex での複製の準備 パー ト 1: SharePlex 設定の構築 設定のオプ シ ョ ン ................................................................................................................................122 設定のガ イ ド ラ イ ン ............................................................................................................................124 SharePlex 設定の構成要素...................................................................................................................125 ク ラ ス タ 環境のルーテ ィ ン グマ ッ プ .............................................................................................133 ルーテ ィ ン グにおける制限 ..............................................................................................................133 sp_ctrl を使用 し た基礎的な設定の作成 ..........................................................................................136 複数の タ ーゲ ッ ト シ ス テムに複製する設定................................................................................139 named export queue を使用 し てデー タ を隔離する設定 ...............................................................141 named post queue を使用 し て よ り 迅速に post する設定 ..............................................................146 水平分割レ プ リ ケーシ ョ ンの設定 .................................................................................................151 垂直分割レ プ リ ケーシ ョ ンの設定 .................................................................................................164 スキーマ内の多数のテーブルを複製する よ う に設定を ス ク リ プ ト 記述する には..........171 全デー タ ベース を複製する設定のス ク リ プ ト 記述...................................................................174 パー ト 2: 複製の確立 レ ポー ト のための複製の設定 ..........................................................................................................178 高可用性お よびデー タ リ カバ リ のための複製の設定 ..............................................................182 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン または分散処理に対する複製の設定 ...............................185 中間シ ス テムを通 し た複製の設定 .................................................................................................188 結合 し た カ スケー ド /ブ ロー ド キ ャ ス ト レ プ リ ケーシ ョ ンの設定....................................193 集中化レ ポー ト のための複製の設定 ( 標準方法 )......................................................................195 複数の sp_cop プ ロ セス を使用 し た集中化レ ポー ト のための複製設定 ..............................198 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定........................................................................................202 第 6 章 : SharePlex オプ シ ョ ンのセ ッ ト ア ッ プ パー ト 1: Post パ フ ォ ーマ ン スの向上 高速 posting のための INDEX ヒ ン ト の使用....................................................................................234 高速 posting のための SQL 文のキ ャ ッ シ ュ ...................................................................................236 パー ト 2: SharePlex での ト ラ ン ス フ ォ ー メ ーシ ョ ンの使用 ト ラ ン ス フ ォ ー メ ーシ ョ ン を使用する場合の考慮事項..........................................................242 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチ ンの作成................................................................................245 vi SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 transformation.SID フ ァ イルのエ ン ト リ の作成............................................................................... 252 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イルの変更 ............................................................................... 254 パー ト 3: 環境変数の設定 SP_SYS_VARDIR 環境変数の設定 ..................................................................................................... 255 sp_cop の代替ポー ト の設定 .............................................................................................................. 256 sp_ctrl のデ フ ォ ル ト ポー ト の設定 .................................................................................................. 263 代替エデ ィ タ の定義 ........................................................................................................................... 264 パー ト 4: SharePlex でのセキ ュ リ テ ィ の使用 ホス ト 認証に よ る安全性の向上 ..................................................................................................... 266 デー タ 暗号化 と SharePlex .................................................................................................................. 268 パー ト 5: 変更の追跡を オンにする パー ト 6: その他のオプ シ ョ ン機能 Windows シ ス テムでの SharePlex ス タ ー ト ア ッ プ ス テー タ スの設定 .................................... 274 Windows シ ス テムでの SharePlex プ ロ セスの優先順位の設定 ................................................. 278 Windows シ ス テムでの SharePlex レ ジ ス ト リ エ ン ト リ の変更 ................................................. 281 第 7 章 : SharePlex の複製の開始 パー ト 1: 初回のデー タ 同期 ア ク テ ィ ブデー タ ベース での Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たデー タ の同期 ..... 289 quiet database での Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たデー タ の同期............................. 297 テープか らの export/import または格納/ リ ス ト アに よ るデー タ の同期.............................. 301 FTP に よ るデー タ の同期 ................................................................................................................... 305 ト ラ ン スポー タ ブルテーブル領域機能に よ るデー タ の同期 ................................................ 309 パー ト 2: 設定のア ク テ ィ ベー ト と デ ィ ア ク テ ィ ベー ト 設定のア ク テ ィ ベー ト について ..................................................................................................... 313 設定のア ク テ ィ ベー ト にあた っ て................................................................................................. 315 activation ス テー タ スの表示 ............................................................................................................... 316 設定統計の表示.................................................................................................................................... 316 設定のデ ィ ア ク テ ィ ベー ト .............................................................................................................. 316 目次 vii パー ト 3: 設定の変更 ア ク テ ィ ブ設定へのオブ ジ ェ ク ト の追加 ....................................................................................318 ア ク テ ィ ブ設定へのシーケ ン スの追加.........................................................................................320 ア ク テ ィ ブ設定か ら のオブ ジ ェ ク ト の削除................................................................................324 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンの変更................................................................................325 第 8 章 : SharePlex で高可用性環境で使用する には シ ス テム障害の発生後にセ カ ン ダ リ シ ス テムに フ ェ イルオーバーする には ..................328 シ ス テム障害の発生後にプ ラ イ マ リ シ ス テムに フ ェ イルバ ッ ク する には.......................330 セ カ ン ダ リ イ ン ス タ ン スに障害が発生 し た際に複製を回復する には ...............................336 計画的 フ ェ イルオーバー と フ ェ イルバ ッ ク ................................................................................340 第 9 章 : SharePlex の無人監視 パー ト 1: UNIX シ ス テム上での SharePlex の監視 SharePlex Monitoring Utilities の概要 ......................................................................................................346 監視ユーテ ィ リ テ ィ を使用する ための要件................................................................................347 ア ッ プグ レー ド の手順 .......................................................................................................................348 sp_eventmon に よ る Event ロ グの監視 ..............................................................................................349 sp_logmon に よ る Capture プ ロ セスの監視......................................................................................353 sp_ps に よ る SharePlex プ ロ セスの監視 ..........................................................................................356 sp_qstatmon に よ るキ ュ ーの監視 ......................................................................................................359 パー ト 2: Windows シ ス テム上での SharePlex の監視 Sp_Nt_Mon の概要 ..................................................................................................................................362 Sp_Nt_Mon の設定 ..................................................................................................................................363 Sp_Nt_Mon の実行 ..................................................................................................................................366 パー ト 3: SharePlex での SNMP の使用 SharePlex SNMP エージ ェ ン ト の概要...............................................................................................368 SNMP 監視の設定..................................................................................................................................369 第 10 章 : 複製 さ れたオブ ジ ェ ク ト の Oracle 特性の変更 パー ト 1: 複製中のオブ ジ ェ ク ト への DDL 変更 ALTER TABLE...ADD COLUMN (LOB のみ )...........................................................................................372 ALTER TABLE...ENABLE ROW MOVEMENT ..........................................................................................373 viii SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ALTER TABLE...RENAME TO .................................................................................................................. 374 ALTER TABLE...SHRINK TABLESPACE ................................................................................................. 376 CREATE TABLE........................................................................................................................................ 376 その他の複製 さ れていない DDL 変更............................................................................................ 377 パー ト 2: Oracle その他の Oracle 変更 UNIX シ ス テムで ORACLE_HOME の場所を移動 ........................................................................... 379 タ ーゲ ッ ト ORACLE_SID の変更....................................................................................................... 380 第 11 章 : 管理操作の実行 パー ト 1: パ ッ チ と ア ッ プグ レー ド のイ ン ス ト ール SharePlex を実行 し てい る シ ス テム上で ア プ リ ケーシ ョ ンのパ ッ チ と ア ッ プグ レ ー ド を イ ン ス ト ール ..................................................................................................... 384 SharePlex ア ッ プグ レ ー ド のイ ン ス ト ール ................................................................................... 394 SharePlex パ ッ チのイ ン ス ト ール ..................................................................................................... 394 イ ン ス ト ール、 ア ッ プグ レー ド そ し てパ ッ チ用の SharePlex .tpm フ ァ イルの ダウ ン ロー ド ........................................................................................................................................ 395 SharePlex を実行中のシ ス テムに OS と Oracle パ ッ チ を イ ン ス ト ール ................................. 395 Oracle デー タ ベースの移行 ............................................................................................................... 396 パー ト 2: SharePlex Oracle ア カ ウン ト の管理 UNIX シ ス テム上での SharePlex パスワー ド の変更 ................................................................... 409 UNIX シ ス テム上での SharePlex ユーザー (またはユーザー と パスワー ド ) の変更 ..................................................................................................................................................... 413 UNIX シ ス テムでの ora_setup の実行 ............................................................................................... 414 Windows シ ス テム上での OraSetup の実行...................................................................................... 417 パー ト 3: その他の管理操作の実行 SharePlex を実行中のシ ス テムのバ ッ ク ア ッ プの実行.............................................................. 419 UNIX シ ス テムか ら SharePlex を削除............................................................................................... 421 Windows シ ス テムか ら SharePlex を削除......................................................................................... 423 第 12 章 : SharePlex ユーテ ィ リ テ ィ create_ignore.sql で DML ト ラ ンザ ク シ ョ ンの複製を防ぐ.......................................................... 432 SharePlex ト リ ガス ク リ プ ト の使用................................................................................................. 434 qview でのキ ュ ー フ ァ イルを表示および操作.............................................................................. 436 目次 ix clean_vardir.sh で変数デー タ デ ィ レ ク ト リ をパージ....................................................................441 cleanup.sql での SharePlex テーブルの切 り 捨て .............................................................................443 socket_test ユーテ ィ リ テ ィ を使用 し たネ ッ ト ワー ク または フ ァ イ アウ ォ ールの 問題のデバ ッ ギン グ............................................................................................................................445 ora_cleansp で複製を初期状態に回復 ..............................................................................................448 ora_cleansp の動作方法.........................................................................................................................448 ora_cleansp のその他の代替手段 .......................................................................................................449 ora_cleansp を実行する前に ................................................................................................................449 UNIX シ ス テムでの ora_cleansp の実行 ............................................................................................450 Windows シ ス テムでの OraCleanSp の実行 ......................................................................................451 SharePlex ラ イ セ ン スキーユーテ ィ リ テ ィ の使用 .......................................................................453 SpUtils ユーテ ィ リ テ ィ の使用...........................................................................................................461 SpClient リ モー ト ア ク セスユーテ ィ リ テ ィ の使用......................................................................464 用語集 ..............................................................................................................................................473 索引 ..................................................................................................................................................497 x SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 こ のマ ニ ュ アルについ て xi こ のマニ ュ アルについて こ のマニ ュ アルには以下の手順が説明 さ れてい ます。 • • • • • SharePlex の操作 複製方法の計画 と 実装 高可用性環境での フ ェ イ ルオーバー / フ ェ イ ルバ ッ ク 複製シ ス テ ム での管理操作の実行 SharePlex ユーテ ィ リ テ ィ の使用 参照情報が必要な場合は、 『SharePlex リ フ ァ レ ン ス マニ ュ アル 』 を参照 し て く だ さ い。 参考情報には次の よ う な情報が含ま れてい ます。 • 複製の監視 と 制御を行 う sp_ctrl コ マ ン ド の説明 と 構文 • SharePlex のチ ュ ーニ ン グパ ラ メ ー タ と 設定方法 • 複製に関す る 一般的な問題の防止 と 解決のための ツール と ヒ ン ト SharePlex ソ フ ト ウ ェ ア を イ ン ス ト ールす る 手順は、 SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド を参照 し て く だ さ い。 xii SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 こ のマニ ュ アルの PDF 形式での表示方法 こ のマニ ュ アルは、 SharePlex ソ フ ト ウ ェ アに同梱 さ れてい る マニ ュ アル CD® ROM 上の Adobe PDF フ ォ ーマ ッ ト で入手で き ます。 ま た、 次の Quest SupportLink Web サ イ ト か ら 入手す る こ と も で き ます : http://support.quest.com。 ® PDF ド キ ュ メ ン ト は、 フ リ ー ソ フ ト ウ ェ アの Adobe Acrobat Reader バージ ョ ン 7 ま たは 8 で参照で き ます。 ご利用のシ ス テ ム に こ の ソ フ ト ウ ェ アが イ ン ス ト ール さ れていない場合は、 Adobe Web サ イ ト http://www.adobe.com か ら ダ ウ ン ロ ー ド で き ます。 こ のマ ニ ュ アルについ て xiii こ のマニ ュ アルで使用 さ れている規約 こ のガ イ ド では、 次の表記上の規則が使用 さ れ ます。 コ マ ン ド ラ イ ン構文は、 Arial Narrow フ ォ ン ト で表記 さ れてい ます。 次は、 構文要素の説明です。 • 太字は、 表記どお り に入力す る 必要があ る コ マ ン ド ま たはオプシ ョ ン の 必須要素を表 し ます。 • 斜体 は、 ユーザーが定義、 命名、 ま たは入力す る 変数を表 し ます。 • 太字斜体は、 コ マ ン ド 文字列の例において必要なユーザー定義変数を表 し ます。 • { 中か っ こ } で囲まれてい る も のは、 使用可能な必須の引数です。 • [ 角か っ こ ] は、 オプシ ョ ンの コ マ ン ド コ ン ポーネ ン ト を表 し てい ます。 ま た、 長い コ マ ン ド 文字列の例において、 ユーザー定義変数を強調す る 場 合に も 用い ら れ ます。 例: reconcile queue {queuename} for {datasource-datadest} [on host] • 角か っ こ ま たは中か っ こ 内の垂直線、 つま り 「パ イ プ」 記号 (|) は、 か っ こ 内の構成要素の中か ら 1 つだけ使用で き る こ と を表 し てい ます。 例: abort service {service | all} コ マ ン ド 、 プ ロ グ ラ ム、 デ ィ レ ク ト リ 、 フ ァ イ ルの名前は Arial Bold フ ォ ン ト で表 し 、 その他の名前はデフ ォ ル ト の フ ォ ン ト を使用 し て大文字で表 し ます。 例: sp_ctrl プ ロ グ ラ ムは、 bin デ ィ レ ク ト リ にあ り ます。 oramsglst フ ァ イ ルを開 き ます。 ORACLE_HOME の値を検索 し ます。 [Apply] を ク リ ッ ク し ます。 プ ロ ンプ ト や コ マ ン ド 出力な ど のシ ス テ ム に よ る 表示は、 Courier フ ォ ン ト で 表 し ます。 xiv SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 例: sp_ctrl(sysA)> User is a viewer (level=3) Windows の メ ニ ュ ー項目、 ダ イ ア ロ グ ボ ッ ク ス、 ダ イ ア ロ グ ボ ッ ク ス内のオプ シ ョ ンは、 Arial Bold フ ォ ン ト で表 し ます。 例: [File] メ ニ ュ ーか ら 、 [Print] を選択 し ます。 テ キ ス ト は、 MS 明朝フ ォ ン ト に設定 さ れ、 強調や警告に斜体 ま たは太字体の ス タ イ ルが使用 さ れます。 「かぎか っ こ 」 で囲む場合 も あ り ます。 シ ス テ ム名は、 総称的に、 ま たはフ ィ ク シ ョ ン と し て表 し ます。 必要な場合、 ソ ース シ ス テ ム (ま たはプ ラ イ マ リ シ ス テ ム) は SysA と 表記 し ます。 タ ー ゲ ッ ト シ ス テ ム (ま たはセ カ ン ダ リ シ ス テ ム) は、 SysB、 SysC、 SysD な ど と 表記 し ます。 次のア イ コ ンが、 重要であ っ た り 役に立っ た り す る 情報を強調す る のに使用 さ れます。 こ のア イ コ ンは、 知 っ てお く 必要 がある追加情報 の意味です。 こ のア イ コ ンは、 時間を節約 し た り 、 問題発生を 防止 し た り する ために役立つア ド バイ スの意味 です。 このア イ コ ン で、 無視で き な い重要な問題へ の注意を喚起 し ます。 こ のア イ コ ン で、 さ ら に詳 し い情報が記載 さ れた関連文書へ の参照を示 し ま す。 こ のマ ニ ュ アルについ て xv Quest Software について 1987 年に設立 さ れた Quest Software (Nasdaq:QSFT) は、 簡単で斬新な IT 管理 ソ リ ュ ーシ ョ ン を提供 し てお り 、 100,000 を超え る グ ロ ーバル顧客がその物理/ 仮想環境において時間や費用を節約 し てい ます。 Quest の製品は、 デー タ ベー ス管理、 デー タ 保護、 ID お よ びア ク セ ス管理、 監視、 ユーザー ワー ク スペー ス管理な ど か ら Windows 管理ま で、 複雑な IT 環境におけ る さ ま ざ ま な難題を 解決いた し ます。 詳細は、 www.quest.com を ご覧 く だ さ い。 ユーザー補助機能 Quest Software は、 その障害に関係な く すべての人々がア ク セ ス で き る 製品 と サービ ス を提供す る こ と に、 最大限の努力を払っ てい ます。 次の Web サ イ ト で公開 し てい る VPATs (Voluntary Product Accessibility Templates) 製品で、 セ ク シ ョ ン 508 コ ン プ ラ イ ア ン ス の詳細を利用で き ます。 http://www.quest.com/ public-sector/vpat.aspx. Quest Software へのお問い合わせ 電子 メ ール : [email protected] 住所 : Quest Software, Inc. World Headquarters 東京都新宿区西新宿 6-10-1 日土地西新宿ビル 13F USA Web サ イ ト : http://www.quest.com 地域お よ び国際事業所の情報につ き ま し ては、 当社の Web サ イ ト を参照 し て く だ さ い。 Quest サポー ト へのお問い合わせ Quest Support は、 Quest 製品の体験版をお持ちのお客様、 ま たは Quest 製品を ご購入にな り 、 有効な メ ン テナン ス契約を結んでい ら れ る お客様が利用で き ま す。 Quest Support は、 弊社サポー ト ポー タ ル http://quest.com/support への、 毎 日 24 時間の無制限ア ク セ ス を提供 し てい ます。 サポー ト ポー タ ル では、 次の こ と を実行で き ます。 xvi SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • オ ン ラ イ ン Knowledge Base か ら 、 数千件に も お よ ぶ ソ リ ュ ーシ ョ ン情報 を取得す る • 最新の リ リ ースやサービ ス パ ッ ク を ダ ウ ン ロ ー ド す る • サポー ト 事例を作成、 更新、 レ ビ ュ ーす る サポー ト プ ロ グ ラ ム、 オ ン ラ イ ン サービ ス、 連絡方法、 お よ びポ リ シー と 手 順の詳細は、 『Global Support Guide』 を参照 し て く だ さ い。 こ のガ イ ド は次の 場所にあ り ます。 http://quest.com/support 1 7.6 の新機能 こ の リ リ ース の SharePlex には、 次の新機能が含まれてい ます。 SharePlex for Oracle 7.6.3 こ の リ リ ース は、 メ ン テナン ス専用 リ リ ース で新機能はあ り ません。 SharePlex for Oracle 7.6.2 • INTERVAL デー タ 型がサポー ト さ れ ま し た。 • 単一の コ ピーオプシ ョ ン [singlethread] が追加 さ れま し た。 こ のオプシ ョ ン は、 パーテ ィ シ ョ ン化 さ れたテーブルを 1 つのオブジ ェ ク ト と し て コ ピー し ます。 デフ ォ ル ト の動作では、 並行 し て コ ピーを実行で き る よ う に、 パーテ ィ シ ョ ン化 さ れたテーブルの各パーテ ィ シ ョ ン を個別に コ ピー し ま す。 詳細は 『 リ フ ァ レ ン ス ガ イ ド 』 の コ ピーに関す る セ ク シ ョ ン を参照 し て く だ さ い。 • 環境に よ っ ては、 デー タ ベース内の一連のテーブルに対 し て行われた変更 の追跡管理が必要な こ と も あ り ます。 た と えばあ る 環境下では、 顧客の不 満を解決す る ために、 テーブルに対 し て行われた各変更を追跡す る こ と が 重要な場合があ り ます。 現在 SharePlex には、 ロ グマ イ ニ ン グ テ ク ノ ロ ジー を使っ て、 セ カ ン ダ リ サーバー上に変更デー タ を保管す る オプシ ョ ン が用 意 さ れてい ます。 ロ グマ イ ニ ン グ を使っ て ソ ースデー タ ベース か ら 変更を 抽出す る ための コ ス ト はご く わずかなため、 こ の機能を有効活用で き ます。 変更デー タ は別のデー タ ベース に保管 さ れ る ため、 変更デー タ の照会に よ る 本稼働用デー タ ベース の負荷を削減す る こ と がで き ます。 新たな変更追 跡機能の詳細は、 “ 変更の追跡を オ ンにす る ” on page 271 を参照 し て く だ さ い。 SharePlex for Oracle 7.6.1 • 従来の SharePlex リ リ ース でア ク テ ィ ベーシ ョ ン オプシ ョ ンの 1 つであ る 「 ラ イ ブ」 モー ド が、 唯一のア ク テ ィ ベーシ ョ ン モー ド にな り ま し た。 7.6.x では、 すべてが 「 ラ イ ブ」 でア ク テ ィ ベー ト さ れ ます。 2 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex for Oracle 7.6.0 • Oracle の高度な圧縮のサポー ト : 圧縮 さ れたテーブル領域に保管 さ れてい る テーブル と LOB に対す る 変更をサポー ト す る よ う にな り ま し た。 • SecureFile LOB のサポー ト : SharePlex が、 Oracle SecureFile に保管 さ れてい る LOB をサポー ト す る よ う にな り ま し た。 • Oracle テーブル暗号化のサポー ト : タ イ プが CHAR、 NCHAR、 VARCHAR2、 NVARCHAR2、 NUMBER、 DATE、 お よ び RAW の暗号化列を サポー ト す る よ う にな り ま し た。 暗号化 さ れた キー列に よ る テーブルの複 製はサポー ト さ れてい ません。 • こ のバージ ョ ンの SharePlex は、 64 ビ ッ ト 完全互換です。 • compare の コ マ ン ド イ ン タ ーフ ェ イ ス の簡素化 : こ のバージ ョ ン の compare コ マ ン ド の構文は、 copy コ マ ン ド の構文を模倣 し てい ます。 古い構文 も 引 き 続 き サポー ト さ れてい ます。 2 SharePlex の動作方法 こ の章では、 SharePlex での複製の仕組みについて説明 し ます。 複製作業にお いて知っ ておかなければな ら ない用語やプ ロ セ ス が説明 さ れてい る ため、 複製 作業を確立 し 始め る 前に、 まず こ の章をお読み く だ さ い。 目次 複製 と は ソ ース と タ ーゲ ッ ト デー タ の役割 SharePlex 設定の役割 SharePlex for Oracle のアーキテ ク チ ャ SharePlex キ ュ ーの役割 SharePlex 複製プ ロ セス SharePlex がどのよ う にデー タ を複製するか SharePlex がどのよ う にネ ッ ト ワー ク を使用するか SharePlex がどのよ う にエ ラ ーを報告するか SharePlex 内部テーブル SharePlex デ ィ レ ク ト リ Windows シ ス テムのレ ジ ス ト リ 環境 MKS Platform Components 4 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 複製 と は 複製 と は、 プ ロ ダ ク シ ョ ンデー タ の コ ピーを保守す る プ ロ セ ス で、 こ れ ら の コ ピーは他のシ ス テ ム で代替デー タ サ イ ト と し て使用で き ます。 こ れ ら の コ ピー は、 バ ッ ク ア ッ プや定期 メ ン テナン ス を行 う 際にプ ロ ダ ク シ ョ ン シ ス テ ム を オ フ ラ イ ンにす る 必要があ る 場合 (高可用性) や、 プ ロ ダ ク シ ョ ン シ ス テ ム で障 害が起 き た場合な ど の非常時に使用 さ れ ます (障害回復)。 他の方法を使用 し た複製 簡単なバ ッ ク ア ッ プ を代替シ ス テ ムに復元 し た も の も 、 複製の 1 種 と し てみな す こ と も で き ますが、 ス ナ ッ プシ ョ ッ ト や export/import と 同様の制限があ り ま す。 こ れ ら のプ ロ ダ ク シ ョ ンデー タ の コ ピーは、 あ る 一時点におけ る 静的 コ ピーなので、 時間 と 共に古 く な り ます。 ま た他の複製技術には、 デー タ の複製 さ れた コ ピーを更新で き る も の も あ り ま すが、 誰 も コ ピーを ア ク セ ス し ていない場合のみに制限 さ れ ます。 簡単なバ ッ ク ア ッ プ よ り は信頼で き る 方法ですが、 複製 と ア ク セ ス の ど ち ら か を選択 し な ければな ら ない こ と か ら 、 こ の ソ リ ュ ーシ ョ ンに も 著 し い欠点があ る と 言え ま す。 デー タ を更新す る か、 ア ク セ スす る こ と はで き て も 、 両方を同時に行 う こ と がで き ません。 こ のほかに も ソ リ ュ ーシ ョ ンはあ り ますが、 コ ピーの保守がプ ロ ダ ク シ ョ ン プ ロ セ ス に悪影響を与え る ため、 同様に欠陥があ り ます。 SharePlex を使用 し た複製 SharePlex では、 い く つかの方法に よ っ て他の技術にあ る 問題を超え る こ と が で き ます。 SharePlex ではプ ロ ダ ク シ ョ ンデー タ への変更のみがプ ロ ダ ク シ ョ ン プ ロ セ ス を中断す る こ と な く 複製 さ れ る ので、 迅速で軽量な、 そ し て正確な複製 が可能です。 • SharePlex では、 デー タ が変更 さ れ る と 同時に 「継続的に」 複製 さ れ る ので、 代替デー タ ベース は常に元のデー タ の最新版が反映 さ れ ます • SharePlex で保守 さ れ る 代替デー タ ベース は読み取 り 専用モー ド で使用す る こ と も 可能で、 ク エ リ やレ ポー ト 処理な ど の処理を プ ロ ダ ク シ ョ ン シ ス テ ムか ら 開放す る こ と で、 シ ス テ ム の OLTP (Online Transaction Processing) の パフ ォ ーマ ン ス が向上 さ れ ます。 レ ポー ト の内容は、 プ ロ ダ ク シ ョ ン シ ス テ ム上で実行 し た場合 と 同 じ 結果内容 と な り ます。 • SharePlex を利用する利点の詳細は、 『SharePlex イ ン ス ト ールお よびデモ ン ス ト レ ーシ ョ ン ガ イ ド 』 の 「は じ めに」 を参照 し て く だ さ い。 章2 SharePlex の動作方法 5 ソ ース と タ ーゲ ッ ト デー タ の役割 SharePlex の複製は 「 ソ ース」 と 「 タ ーゲ ッ ト 」 と い う 概念に基づいてい ます。 「 ソ ース シ ス テ ム」 と は、 複製す る 対象であ る 元のデー タ を含むプ ラ イ マ リ シ ス テ ム を指 し ます。 こ のデー タ を 「 ソ ースデー タ 」 を呼びます。 デー タ の コ ピーは 「 タ ーゲ ッ ト デー タ 」 と 呼び、 その コ ピー先のマシ ンは 「 タ ーゲ ッ ト シ ス テ ム」 です。 複製の目的は、 ソ ースデー タ と タ ーゲ ッ ト デー タ が同一であ る 状態を保つ こ と です。 ソ ースデータ が変更 さ れる と 同時に、 SharePlex はそれ ら の変更を タ ーゲ ッ ト シ ス テムの Oracle イ ン ス タ ン スに継続的に複製し ます。 ネ ッ ト ワー ク 上の転送に よ る遅延に よ る さ ま ざ ま な差異を考慮し 、 タ ーゲ ッ ト データ が ソ ースデータ と 同一であ る と き、 こ れ ら の 2 つのデータ は 「同期さ れてい る」 状態にあ り ます。 SharePlex の複製は、 単にデータ を 1 つのマシ ンか ら 別マシ ンに複製する のに比 べ、 よ り 多用途に使用で き ます。 ソ ース シ ス テ ムは、 複数の タ ーゲ ッ ト シ ス テ ム を持つこ と がで き ます。 さ ら に、 ソ ース シ ス テ ム を タ ーゲ ッ ト シ ス テム と し て同時に機能 さ せ、 別ソ ース シ ス テ ムか ら のデータ を受信する こ と も で き ます。 同様に、 タ ーゲ ッ ト シ ス テ ム も 複数の ソ ース シ ス テムか ら データ を受信で き、 同時に ソ ース シ ス テ ム と し て別タ ーゲ ッ ト シ ス テ ムにデータ を送信する こ と も で き ます。 SharePlex は、 同一シ ス テ ム上の複数のテーブル間で (同一のデータ ベース内あ る いは異な るデータ ベース間で) 複製を行 う よ う に設定する こ と も で き ます。 図 1: ソ ース と タ ーゲ ッ ト の例 デー タ ベース環境の複製を確立する方法についての詳細は、 第 4 章 と 第 5 章 を参照 し て く だ さ い。 6 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex 設定の役割 SharePlex は複製の指示を 「 設定」 から 受けま す。「 設定」 と は、 SharePlex でど の オブジェ ク ト を 複製し 、 ど こ にデータ を 送信する かを 指定する 、 ユーザー定義の 仕様のこ と を 指し ま す。 設定を 「 アク ティ ベート 」 する と 、 複製が開始さ れま す。 設定フ ァ イ ルは ASCII テキス ト エディ タ で作成し ま す。 設定はソ ース シス テム の config サブディ レ ク ト リ に存在し 、 次の情報を 含みま す。 「 datasource」 ― 複製する ソ ース データ が存在する 、 ソ ース Oracle イ ン ス タ ン ス の ORACLE_SID [o.oraA] • 「source objects」 ― 複製する ソ ースデータ を含んだ、 ソ ースデータベース内の オブジ ェ ク ト の名前データベース内のテーブルのい く つか、 ま たはすべてを 複製で き ます。 [jim.salary] と [jane.sales] • 「target objects」 ― 「ターゲ ッ ト 」 シ ス テム上のデータ ベース内にあ る、 複製さ れたデータ を受信する オブジ ェ ク ト の名前 [jim.salary] と [jane.sales] • ルーテ ィ ン グマ ッ プ ― データ転送のためのルー ト 。 基本的なマ ッ プは、 タ ー ゲ ッ ト シ ス テム、 中間シ ス テム ま たは named queues、 そ し て ターゲ ッ ト データ ベースの ORACLE_SID が含まれています。 [[email protected]] • 基本的な SharePlex 設定の内容は、 次の と お り です。 Datasource:o.oraA #source objects jim.salary jane.sales target objects jim.salary jane.sales routing map [email protected] [email protected] 1 つの ソ ース Oracle イ ン ス タ ン ス につ き 、 設定の作成はい く つで も で き ます が、 ア ク テ ィ ベー ト で き る 設定は常に 1 つのみです。 複数の設定がそれぞれ 「異な る 」 Oracle イ ン ス タ ン ス を複製 し てい る 場合は、 同時にア ク テ ィ ベー ト す る こ と がで き ます。 重要! 「datasource (デー タ ソ ース)」 と 「source data ( ソ ースデー タ )」 を混同 し ないよ う 注意 し て く だ さ い。 「Datasource」 は複製する ソ ースデー タ を含んだ Oracle イ ン ス タ ン ス を指す、 SharePlex 専用の用語です SharePlex はイ ン ス タ ン ス自体を複製するのではな く 、 その中にあ る オブ ジ ェ ク ト への変更のみを複製 し ます。 だだ し 、 1 つのシ ス テムにて複数の Oracle イ ン ス タ ン スが可能である ため、 datasource を指定する こ と で、 複製するデー タ を含んでいる datasource に SharePlex を導 く こ と がで き ます。 設定の作成についての詳細は、 第 5 章 を参照 し て く だ さ い。 章2 SharePlex の動作方法 SharePlex for Oracle のアーキテ ク チ ャ 図 2: こ の説明図で基本的な SharePlex の複製プ ロ セス を説明 し ます。 どのよ う に複製を確 立するかに よ っ て、 複数の Export プ ロ セス、 Post プ ロ セス、 そ し てキ ュ ーがあ る場合があ り ます。 7 8 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex キ ュ ーの役割 「キ ュ ー」 と は、 ソ ース シ ス テ ムか ら タ ーゲ ッ ト シ ス テ ムへの転送の際に、 複 製 さ れたデー タ ( タ ーゲ ッ ト デー タ ) が保持 さ れ る 中間デー タ リ ポジ ト リ の こ と を指 し ます。 キ ュ ーは、 複製 さ れてい る Oracle イ ン ス タ ン ス 「外」 で機能 し ます。 こ れは、 キ ュ ーの保守に必要な I/O が、 プ ロ ダ ク シ ョ ン アプ リ ケー シ ョ ン か ら ソ ースデー タ へのア ク セ ス に影響がない よ う にす る ためです。 キ ュ ーは、 「チ ェ ッ ク ポ イ ン ト リ カバ リ シ ス テ ム」 の一部であ り 、 安全な 「非 同期」 デー タ 転送を促進 し ます。 デー タ は、 生成 さ れた順にキ ュ ーを通 し て送 信 さ れます。 デー タ を キ ュ ーへ送信す る 複製プ ロ セ ス と 、 キ ュ ーを読む込むプ ロ セ ス と でハン ド シ ェ ーキ ン グが確立 さ れ、 デー タ が正 し い順で受信 さ れた こ と が認識 さ れ ます。 受信プ ロ セ ス がデー タ が受信 さ れていない状態で受信を認 識 し た場合は、 デー タ が数秒内でデ ィ ス ク に書 き 込ま れます。 デー タ は 1 つのキ ュ ーか ら 次のキ ュ ーへ書 き 込まれ る ま で 「read-release (削 除)」 さ れ ません。 も し シ ス テ ムが遅 く な っ た場合、 ま たは障害が起 き た場合、 あ る いは接続が失敗 し た り 複製プ ロ セ ス が停止 し た り し た場合は、 デー タ が キ ュ ーに蓄積 さ れ ます。 シ ス テ ム ま たは接続が回復 し た時点、 ま たは複製が再 開 し た時点で SharePlex は停止 し た時点か ら 継続 し て複製 し 、 蓄積 さ れたデー タ を その経路で次のプ ロ セ ス に送信 し ます。 SharePlex の複製では、 次のキ ュ ーを使用 し ます。 Capture Queue capture queue は ソ ース シ ス テ ムに存在 し ます。 こ のキ ュ ーはデー タ を Oracle ロ グか ら 迅速に入手す る 手助け を し 、 SharePlex で さ ら な る 処理を行 う ため Oracle イ ン ス タ ン ス の外でデー タ を保持 し ます。 複製 さ れ る datasource 1 つに 対 し て 1 つの capture queue があ り ます。 つま り 、 各 Oracle イ ン ス タ ン ス につ き 1 つの capture queue があ る と い う こ と です。 capture queue は datasource で識別 さ れます (例 : o.oraA)。 Export Queue export queue は ソ ース シ ス テ ムに存在 し ます。 SharePlex で処理 さ れたデー タ を 保持 し 、 タ ーゲ ッ ト シ ス テ ムに転送す る 準備がで き てい ます。 export queue の 数は、 ア ク テ ィ ブ設定ま たは タ ーゲ ッ ト シ ス テ ムの数に関係な く 、 デフ ォ ル ト で 1 つです。 さ ら に named export queues を作成す る よ う に SharePlex に指示す る こ と で、 よ り 複雑な複製方法が可能です。 デフ ォ ル ト の export queue は、 キ ュ ーが存在す る ソ ース シ ス テ ムの名前で識別 さ れます (例 : SysA)。 章2 SharePlex の動作方法 9 Post Queue Post queue は タ ーゲ ッ ト シ ス テ ム に存在 し ます。 こ のキ ュ ーは、 タ ーゲ ッ ト デー タ ベース に書 き 込む準備がで き てい る デー タ を保持 し ます。 各 タ ーゲ ッ ト シ ス テ ム において、 ソ ース と タ ーゲ ッ ト の Oracle イ ン ス タ ン ス間の複製ス ト リ ームに対 し て、 1 つの post queue があ り ます。 た と えば、 OraA と OraB が両 方 OraC に複製 し てい る 場合、 2 つの post queue があ り ます。 さ ら に named post queues を作成す る よ う に SharePlex に指示す る こ と で、 よ り 複雑な複製方法が 可能です。 デフ ォ ル ト の post queue は、 ソ ース シ ス テ ム と 、 ソ ースお よ び タ ー ゲ ッ ト Oracle イ ン ス タ ン ス の名前で識別 さ れます (例 : SysA (o.oraA-o.oraB))。 注 : すべての SharePlex キ ュ ー フ ァ イルは SharePlex 変数デー タ デ ィ レ ク ト リ の rim サブデ ィ レ ク ト リ に作成 さ れ、 保守 さ れます。 キ ュ ーの名前には、 すべてのプ ラ ッ ト フ ォ ームで大文字 と 小文字の区別があ り ます。 10 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex 複製プ ロ セス SharePlex では、 一般的に 「サービ ス」 と も 呼ばれ る 、 一連の複製 「プ ロ セ ス」 を使用 し てデー タ が複製 さ れ ます。 こ れ ら のプ ロ セ ス は必要に応 じ て自動的に 開始 さ れ ますが、 SharePlex ユーザーが発行す る コ マ ン ド に よ っ て制御す る こ と も で き ます。 SharePlex の一連の イ ベン ト の説明図は、 こ の章の 7 ページの 図 2 を参照 し て く だ さ い。 下記に SharePlex の複製プ ロ セ ス を、 機能順に説明 し ます。 1 Capture プ ロ セス : Capture プ ロ セ ス は、 ア ク テ ィ ブ設定に リ ス ト さ れたオ ブジ ェ ク ト への変更を、 ソ ース シ ス テ ムの redo ロ グ ま たはアーカ イ ブ ロ グ で読み取 り ます。 Capture はデー タ を 「capture queue」 に書 き 込み、 次の SharePlex プ ロ セ ス の準備がで き る ま でキ ュ ーで蓄積 し ます。 複製す る 各 datasource に対 し て個別の Capture プ ロ セ ス があ り 、 それぞれ同時に独立 し て機能 し ます。 Capture プ ロ セ ス の名前は、 sp_ocap (Oracle Capture) で、 そ の他の SharePlex プ ロ セ ス と 同 じ SharePlex 製品デ ィ レ ク ト リ 下の bin サブ デ ィ レ ク ト リ に存在 し ます。 2 Read プ ロ セス : Read プ ロ セ ス は、 ソ ース シ ス テ ム で動作 し 、 capture queue か ら のデー タ を読み取 り 、 デー タ にルーテ ィ ン グ情報を追加 し ます。 デー タ を処理 し た後、 次のキ ュ ーに送信 し ます。 各 datasource に対 し て個別の Read プ ロ セ ス があ り 、 それぞれ同時に独立 し て機能 し ます。 デフ ォ ル ト に よ り 、 すべての Read プ ロ セ ス は同 じ export queue を共有 し ます。 Read プ ロ セ ス の名前は、 sp_ordr (Oracle Reader) で、 その他の SharePlex プ ロ セ ス と 同 じ SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ に存在 し ます。 3 Export プ ロ セス : Export プ ロ セ ス は ソ ース シ ス テ ム で動作 し 、 デー タ を export queue か ら 読み取 り 、 ネ ッ ト ワー ク を通 し て タ ーゲ ッ ト シ ス テ ム に送 信 し ます。 デフ ォ ル ト に よ り 、 ソ ース シ ス テ ムにはその タ ーゲ ッ ト シ ス テ ム それぞれに対 し て 1 つの Export プ ロ セ ス があ り ます。 た と えば、 2 つの タ ーゲ ッ ト シ ス テ ムがあ っ た場合は、 2 つの Export プ ロ セ ス があ り ます。 各 Export プ ロ セ ス では、 ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ム に複製 し てい る すべての設定か ら の全デー タ の伝送が制御 さ れます。 Export プ ロ セ ス は Export/Import の転送ペアの前者であ り 、 TCP/IP ネ ッ ト ワー ク 上でデー タ を シ ス テ ム間で移動 し ます。 Export プ ロ セ ス の名前は、 sp_xport で、 そ の他の SharePlex プ ロ セ ス と 同 じ SharePlex 製品デ ィ レ ク ト リ 下の bin サブ デ ィ レ ク ト リ に存在 し ます。 4 Import プ ロ セス : Import プ ロ セ ス は Export/Import の転送ペアの後者であ り 、 タ ーゲ ッ ト シ ス テ ム上で動作 し 、 デー タ を受信 し post queue を構築 し ま す。 2 つの ソ ース シ ス テ ム が 1 つの タ ーゲ ッ ト シ ス テ ムに複製 し てい る 場 章2 SharePlex の動作方法 11 合、 2 つの Import プ ロ セ ス があ り ます。 デフ ォ ル ト に よ り 、 Import は 1 つの タ ーゲ ッ ト シ ス テ ム で、 ソ ース シ ス テ ムか ら 複製 し てい る datasource それぞ れに対 し て 1 つの Post queue を構築 し ます。 Import プ ロ セ ス の名前は、 sp_mport で、 その他の SharePlex プ ロ セ ス と 同 じ SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ に存在 し ます。 注 : 同一マシ ン上の Oracle イ ン ス タ ン スの間の複製では、 Export と Import プ ロ セスは 作成 さ れません。 Read プ ロ セスはデー タ を直接シ ス テムの post queue に置き ます。 5 Post プ ロ セス : Post プ ロ セ ス は タ ーゲ ッ ト シ ス テ ム上で動作 し 、 post queue を読み取 り 、 複製 さ れた操作に対す る SQL 文を構築 し 、 タ ーゲ ッ ト オブジ ェ ク ト に適用 し ます。 タ ーゲ ッ ト シ ス テ ム の各 Post queue に対 し て 1 つの Post プ ロ セ ス があ り 、 1 つのシ ス テ ム で複数の Post プ ロ セ ス を同時に 動作 さ せ る こ と も 可能です。 Post プ ロ セ ス は、 sp_opst_mt で、 その他の SharePlex プ ロ セ ス と 同 じ SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ に存在 し ます。 注 : SharePlex バイ ナ リ は、 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ に 存在 し ます。 12 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex がどのよ う にデー タ を複製するか SharePlex は、 複製す る 必要のあ る 操作を特定す る ため、 redo ロ グのブ ロ ッ ク を読み取 り ます。 SharePlex は設定フ ァ イ ルの情報 と 、 設定を ア ク テ ィ ベー ト す る 時に構築 さ れ る object cache 内の情報を基に、 ど の操作を複製す る か を判 断 し ます。 SharePlex は ソ ースデー タ への 「変更」 のみを複製す る ので、 迅速 で信頼性のあ る 複製 ソ リ ュ ーシ ョ ン を提供 し ます。 SharePlex は操作について持っ てい る 情報か ら 、 1 つま たは複数の 「 メ ッ セー ジ」 を作成 し 、 Capture プ ロ セ ス か ら Read プ ロ セ ス に、 そ し て Read プ ロ セ ス か ら 他のすべての複製プ ロ セ ス に順次に送信 し ます。 メ ッ セージは、 SQL 操 作ま たは SharePlex 内部操作を反映す る こ と があ り ますが、 ほ と ん ど の場合、 INSERT、 UPDATE、 DELETE、 COMMIT、 TRUNCATE ま たはサポー ト さ れた DDL 操作を含みます。 メ ッ セージにはサ イ ズの制限あ る ため、 LONG ま たは LOB 列にあ る よ う な大 規模な操作は複数の メ ッ セージが必要であ る 場合があ り ます。 小 さ な レ コ ー ド の配列の INSERT な ど、 ほかの操作には逆効果にな り ます。 膨大な数の操作に 対 し て 1 つの レ コ ー ド し かない可能性があ る ためです。 た と えば、 70,000 行の 配列の INSERT について、 デー タ に よ っ てわずか 700 個の メ ッ セージがあ る 場 合があ り ます。 一般的に、 LONG と BLOB に対す る 多数の変更を複製す る 場合は、 「プ ロ セ ス ま たはキ ュ ーの ス テー タ ス表示に表示 さ れ る メ ッ セージ数はおお よ そ SQL 操 作の数に相当す る 」 と 想定で き ます。 タ ーゲ ッ ト シ ス テ ム では、 Post プ ロ セ ス が メ ッ セージ を受信 し 、 複製 さ れた変 更を タ ーゲ ッ ト デー タ ベース に post す る ために、 標準の SQL 文を構築 し ます。 次に、 タ ーゲ ッ ト シ ス テ ム上で SharePlex が ど の よ う に SQL 文を構築す る か を 説明 し ます。 • も し 変更が INSERT の場合は、 SharePlex は行中の全列を使用 し て INSERT 文を構築 し ます。 • も し 変更が DELETE の場合は、 SharePlex は正 し い行を見つけ る ためにキー のみを使用 し て WHERE 句を構築 し ます。 も し 、 テーブルにキーがない場 合は、 SharePlex は LONG と LOB 列を除 く 、 すべての列の値を使用 し て キーを シ ミ ュ レー ト し ます。 (キーの詳細は、 第 4 章を参照 し て く だ さ い。) • も し 変更が UPDATE の場合は、 SharePlex は正 し い行を見つけ る ために、 キー と 「変更 さ れた」 列の値を使用 し て WHERE 句を構築 し ます。 変更を デー タ ベース に適用す る 前に、 Post プ ロ セ ス は ソ ース列の値の 「プ リ イ メ ージ」 を タ ーゲ ッ ト 列の 「既存の」 値 と 比較 し ます。 プ リ イ メ ージ と は、 それぞれ変更 さ れた列の、 UPDATE 前の値の こ と を指 し ます。 プ リ イ メ ー 章2 SharePlex の動作方法 13 ジの値 と 既存 タ ーゲ ッ ト の値が一致 し た場合は、 同期 さ れてい る 状態が確 認で き る ので、 Post が変更を適用 し ます。 も し 一致 し ない場合は、 Post が 操作を エ ラ ーフ ァ イ ルに ロ グ し 、 SharePlex が 「out-of-sync」 エ ラ ーを返 し ます。 こ の よ う に し て、 SharePlex は常に タ ーゲ ッ ト デー タ を確認 し ます • も し 変更が、 ソ ース マシ ン で複数行に影響す る UPDATE 文ま たは DELETE 文であ っ た場合、 SharePlex は タ ーゲ ッ ト に複数の文を発行 し 、 作業を完了 さ せます。 た と えば、 UPDATE 文 「update tableA set name = ‘Lisa’ where rownum < 101」 は ソ ース側には 1 つのみ文が発行 さ れた も の、 実際に 100 個 の UPDATE 文を SharePlex パ イ プに送信 し ます。 SharePlex がどのよ う にネ ッ ト ワー ク を使用するか SharePlex に よ る すべてのデー タ の通信 と 移動は、 非同期ス ト リ ーム プ ロ ト コ ル、 大規模なデー タ 転送に効率的な TCP/IP 接続を使用 し た、 内部 メ ッ セージ お よ び転送シ ス テ ムに よ っ て取 り 扱われてい ます。 こ の方法は通信の帯域幅を 節約す る と 共に、 最適なパフ ォ ーマ ン ス、 信頼性、 再起動の機能を実現 し ま す。 SharePlex は WAN 環境を含む、 いかな る TCP/IP ネ ッ ト ワー ク 上で も 複製 で き ます。 SharePlex は Commit や リ フ レ ッ シ ュ ス ケ ジ ュ ールではな く 、 変更が行われ る と 同時に複製 さ れ る ので、 複製に よ る ネ ッ ト ワー ク への イ ンパ ク ト が抑制 さ れ、 ネ ッ ト ワー ク のパフ ォーマ ン ス に ス パ イ ク を も た ら す こ と も あ り ません。 こ の デザ イ ン に よ り 、 ソ ース と タ ーゲ ッ ト シ ス テ ムの間の遅延が最小限に抑え ら れ ます。 SharePlex は、 ネ ッ ト ワー ク 障害か ら 回復 し ます。 ネ ッ ト ワ ー ク が使用不可能 の場合、 デー タ は ソ ース シ ス テ ムにキ ュ ー さ れ ます。 SharePlex はネ ッ ト ワー ク が再度使用可能にな っ た時点でそれを検知 し 、 転送を再開 し ます。 ま た、 ユーザーは SharePlex が 「いつ」 ネ ッ ト ワー ク を使用す る か を制御で き ます。 通常の場合デー タ は ソ ース か ら タ ーゲ ッ ト に継続的に転送 さ れ ますが、 Export プ ロ セ ス を停止す る こ と で、 た と えばネ ッ ト ワー ク の接続 コ ス ト が低い と き にデー タ が送信 さ れ る よ う に、 転送を遅 ら せ る こ と も で き ます。 デー タ は Export を再開す る ま で正常に export queue に保持 さ れます。 14 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex がどのよ う にエ ラ ーを報告するか SharePlex はエ ラ ーやその他の異常終了を、 次の よ う に報告 し ます。 • SharePlex は操作上のエ ラ ー、 通知、 警告を 「Event Log」 に報告 し ます。 Event Log は、 フ ァ イ ル名 event_log で、 SharePlex 変数デー タ デ ィ レ ク ト リ 下の log サブデ ィ レ ク ト リ に存在 し ます。 Event Log は複製プ ロ セ ス の段階 的な継続記録を含みます。 ロ グは直接 UNIX コ マ ン ド ラ イ ン か ら 、 ま たは sp_ctrl コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス を通 し て表示で き ます。 • Status Database は show statusdb コ マ ン ド を発行 し た際に生成 さ れ ます。 こ れには、 エ ラ ー メ ッ セージが生成 さ れなか っ た イ ベン ト や、 sp_ctrl ユー ザー イ ン タ ーフ ェ イ ス での警告な ど、 Event Log に報告 さ れた状況の詳細情 報が要約 さ れてい ます。 こ の情報は、 潜在的な問題を発見 し た り 、 既存の 問題を解決 し た り す る のに役立ち ます。 Status Database は sp_ctrl コ マ ン ド イ ン タ ーフ ェ イ ス を通 し て表示で き ます。 • Post プ ロ セ ス中に ソ ース と タ ーゲ ッ ト テーブルが非同期であ る こ と が判明 さ れた場合、 非同期の ト ラ ンザ ク シ ョ ンに対す る SQL 文の最初の 100 文 と デー タ が、 SID_errlog.sql の フ ァ イ ル名を持つエ ラ ーフ ァ イ ルに記録 さ れ ま す。 (SID は タ ーゲ ッ ト イ ン ス タ ン ス の ORACLE_SID ) こ の ロ グ を使用 し て 非同期の範囲を判断 し 、 状況が深刻でない場合は まず問題の原因を解決 し た後、 SQL 文を使用 し て タ ーゲ ッ ト テーブルを修復す る こ と がで き ます。 こ れ ら の ツールお よ びその他の ト ラ ブルシ ュ ーテ ィ ン グ用の ツールの詳細は、 『SharePlex Reference Manual』 の第 2 章 を参照 し て く だ さ い。 SharePlex 内部テーブル 複製プ ロ セ ス のほ と ん どは、 SharePlex の イ ン ス ト ール時 ora_setup を実行 し た 際に イ ン ス ト ール さ れた、 一連の内部テーブルに よ っ て制御、 追跡 さ れます。 テーブルは、 SharePlex ス キーマに存在 し 、 SharePlex Oracle ユーザーア カ ウ ン ト に属 し ます。 こ れ ら のテーブルは、 SharePlex が動作す る ために不可欠な も のなので、 決 し て変更 し ないで く だ さ い。 テーブル名 説明 SHAREPLEX_ACTID こ のテーブルの各行は設定のア ク テ ィ ベー シ ョ ンに該当 し ます。 ま た、 redo ロ グか ら の 前回のチ ェ ッ ク ポ イ ン ト も 含みます。 章2 SharePlex の動作方法 15 SHAREPLEX_COMMAND こ のテーブルは、 flush、 purge config、 abort config コ マ ン ド を制御 し ます。 SHAREPLEX_CONFIG 新 し い設定がア ク テ ィ ベー ト さ れた と き に、 新 し い行が こ のテーブルに挿入 さ れます。 SHAREPLEX_DATAEQUATOR こ のテーブルは、 いつ compare コ マ ン ド が発 行 さ れたかに関す る 情報を管理 し ます。 SHAREPLEX_LOBMAP こ のテーブルは LOB が複製 さ れてい る と き 、 それについての情報を保守 し ます。 SHAREPLEX_MARKER こ のテーブルは SharePlex がキーキ ャ ッ シ ン グに使用 さ れ る 、 読込み一貫性マーカーを生 成 し た と き に更新 さ れます。 SHAREPLEX_OBJMAP こ のテーブルには、 それぞれの設定ア ク テ ィ ベーシ ョ ンに対す る オブジ ェ ク ト ID レ コ ー ド が含ま れてい ます。 SHAREPLEX_PARTITION こ のテーブルは、 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンが使用 さ れてい る と き に情報を保 守 し ます。 SHAREPLEX_TRANS こ のテーブルは、 Post プ ロ セ ス に使用 さ れ、 処理 し てい る ト ラ ンザ ク シ ョ ンの状態を追跡 し ます。 DEMO_DEST こ のテーブルは、 SharePlex デモ用の ソ ース テーブルに使用 さ れます。 DEMO_SRC こ のテーブルは、 SharePlex デモ用の タ ーゲ ッ ト テーブルに使用 さ れます。 SharePlex デ ィ レ ク ト リ SharePlex では 2 つのデ ィ レ ク ト リ が主に使用 さ れ ます。 SharePlex プ ロ グ ラ ム と ラ イ ブ ラ リ が格納 さ れてい る 製品デ ィ レ ク ト リ と 、 キ ュ ーフ ァ イ ル、 ロ グ フ ァ イ ル、 現行の複製環境を構成す る その他の コ ン ポーネ ン ト が格納 さ れてい る 変数デー タ デ ィ レ ク ト リ です。 こ れ ら のデ ィ レ ク ト リ は、 それぞれ productdir お よ び vardir と 呼ばれてい ます。 SharePlex に よ っ て イ ン ス ト ール さ れた フ ァ イ ル ま たはデ ィ レ ク ト リ は、 Quest テ ク ニ カルサポー ト 、 Quest シ ス テ ム コ ンサル タ ン ト 、 ま たは SharePlex 文書に 記述 さ れた手順に よ っ て指示 さ れていない限 り 、 いかな る も ので も 削除、 名前 16 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 の変更ま たは編集 し ないで く だ さ い。 い く つかのデ ィ レ ク ト リ には、 複製に不 可欠な隠 し フ ァ イ ルが含ま れてい ます。 い く つかの フ ァ イ ルは空に見え ます が、 1 つま たは複数の SharePlex プ ロ セ ス に よ っ て参照 さ れ る ため、 元の名前 で存在す る 必要があ り ます。 util サブデ ィ レ ク ト リ にあ る い く つかの フ ァ イ ルは、 サポー ト への問い合わせ、 実現性の評価、 ま たは イ ン ス ト ールに併せて Quest テ ク ニ カルサポー ト ま たは Quest シ ス テ ム コ ンサル タ ン ト の係員の監視下のみで使用 し ます。 プ ロ ダ ク シ ョ ン環境での一般用途のユーテ ィ リ テ ィ は、 公開 さ れた SharePlex 文書に記 載 さ れてい ます。 util サブデ ィ レ ク ト リ やその他の SharePlex デ ィ レ ク ト リ の何 ら かに対す る 文書が見つか ら ない場合は、 フ ァ イ ルを実行 し ないで く だ さ い。 2 つの主なデ ィ レ ク ト リ 下のサブデ ィ レ ク ト リ の構造は UNIX と Windows プ ラ ッ ト フ ォーム間で若干異な り 、 い く つかの フ ァ イ ルは、 Windows 版にあ っ て も UNIX 版にない場合 (ま たはその逆) があ り ます。 さ ら に、 SharePlex の バージ ョ ン の間で も 機能の変更な ど で、 フ ァ イ ル と デ ィ レ ク ト リ が異な る こ と も あ り ますが、 基本的な構造は次の と お り です。 UNIX システ ム上のサン プ ル SharePlex 製品ディ レ ク ト リ : には、 SharePlex を実行す る ための実行可能フ ァ イ ルが存在 し てい ま す。 • bin • data には、 デフ ォ ル ト パ ラ メ ー タ 設定が存在 し てい ます。 には、 イ ン ス ト ール、 ラ イ セ ン ス、 ア ッ プグ レー ド に関連す る ス ク リ プ ト が存在 し てい ます。 • install • lib には、 SharePlex 共有 ラ イ ブ ラ リ が存在 し てい ます。 • util には、 SharePlex ユーテ ィ リ テ ィ が存在 し てい ます。 は、 内部隠 し デ ィ レ ク ト リ で、 実行可能 ロ ーフ ァ イ ルが存 在 し てい ます。 こ の フ ァ イ ルには環境パ ラ メ ー タ が必要で、 直接起動す る こ と はで き ません。 • .app-modules は内部隠 し デ ィ レ ク ト リ で、 イ ン ス ト ールの過程で使われ る メ タ 情報が存在 し てい ます。 • .meta-inf 注 : .app-modules デ ィ レ ク ト リ は隠 し デ ィ レ ク ト リ です。 プ ロ セスの起動には使用 し ないで く だ さ い。 SharePlex ユーザーが こ のデ ィ レ ク ト リ から プ ロ セス を起動する と 、 エ ラ ーが発生 し ます。 章2 SharePlex の動作方法 17 UNIX シス テム上の SharePlex 変数デー タ デ ィ レ ク ト リ : • config には、 SharePlex の イ ン ス ト ール用の設定フ ァ イ ルが存在 し てい ま す。 Status Database、 設定のア ク テ ィ ベーシ ョ ン情報、 ユーザー定義パ ラ メ ー タ 設定、 その他、 複製関連のユーザー定義フ ァ イ ルを含む。 • data • db には、 各ア ク テ ィ ベーシ ョ ン用の設定デー タ ベース が存在 し てい ます。 • dump には、 プ ロ セ ス が失敗 し た際の コ ア フ ァ イ ルが存在 し てい ます。 • log には、 SharePlex ロ グ フ ァ イ ルが存在 し てい ます。 • rim には、 複製キ ュ ーフ ァ イ ルが存在 し てい ます。 には、 ア ク テ ィ ブ設定、 非ア ク テ ィ ブ設定についての情報が存在 し てい ます。 • save には、 オブジ ェ ク ト やシーケ ン ス キ ャ ッ シ ュ な ど、 設定がア ク テ ィ ブな と き の現行の SharePlex の状態についての情報が存在 し てい ます。 • state • temp す。 は、 copy/append お よ び他の SharePlex 同期関連プ ロ セ ス が使用 し ま 18 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Windows シ ス テム上の SharePlex 製品デ ィ レ ク ト リ • bin SharePlex を実行す る ための実行可能フ ァ イ ルを含む。 • data デフ ォ ル ト パ ラ メ ー タ 設定を含む。 • util SharePlex ユーテ ィ リ テ ィ を含む。 • 製品デ ィ レ ク ト リ は イ ン ス ト ール関連のプ ロ グ ラ ムお よ びフ ァ イ ル、 変数 デー タ デ ィ レ ク ト リ も 含みます。 注 : Windows でのデ ィ レ ク ト リ 構造は、 UNIX と 異な り ます。 Windows シ ス テムでは、 変数デー タ デ ィ レ ク ト リ は製品デ ィ レ ク ト リ 内に イ ン ス ト ール さ れますが、 UNIX シ ス テムでは、 変数デー タ デ ィ レ ク ト リ と 製品デ ィ レ ク ト リ は splex 下の個別デ ィ レ ク ト リ です。 章2 SharePlex の動作方法 19 Windows システ ム上の SharePlex 変数データ ディ レ ク ト リ • config SharePlex の イ ン ス ト ール用の設定フ ァ イ ルを含む。 Status Database、 設定のア ク テ ィ ベーシ ョ ン情報、 ユーザー定義パ ラ メ ー タ 設定、 その他、 複製関連のユーザー定義フ ァ イ ルを含む。 • data • db 各ア ク テ ィ ベーシ ョ ン用の設定デー タ ベース を含む。 • dump • log プ ロ セ ス が失敗 し た際の コ ア フ ァ イ ルを含む。 SharePlex ロ グ フ ァ イ ルを含む 複製キ ュ ーフ ァ イ ルを含む。 • save ア ク テ ィ ブ設定、 非ア ク テ ィ ブ設定についての情報を含む • rim オブジ ェ ク ト やシーケ ン ス キ ャ ッ シ ュ な ど、 設定がア ク テ ィ ブな と き の現行の SharePlex の状態についての情報を含む • state 20 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Windows シス テムのレ ジス ト リ 環境 Windows シ ス テ ム では、 SharePlex は UNIX シ ス テ ム で使 う よ う なマーカー フ ァ イ ルは使用 し ません。 代わ り に、 Windows レ ジ ス ト リ を参照 し 、 デフ ォ ル ト デ ィ レ ク ト リ の場所やその他の環境情報を入手 し ます。 SharePlex レ ジ ス ト リ の場所は次の と お り です。 \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex 図 3. で示 さ れてい る よ う に、 SP_SYS_VARDIR な ど の環境変数はすべて こ こ に入力 さ れ ます。 SharePlex 各 イ ン ス タ ン ス は レ ジ ス ト リ でポー ト 番号 と し て 定義 さ れてお り 、 それぞれ固有の環境変数を持ち ます。 警告!レ ジス ト リ および Windows プ ラ ッ ト フ ォ ームの機能に詳 し く ない場合は、 レ ジ ス ト リ エ ン ト リ を追加、 変更、 または削除 し ないで く だ さ い。 レ ジ ス ト リ 設定を誤っ て 変更 し た場合は、 ソ フ ト ウ ェ ア またはシ ス テム自体の運用に悪影響を及ぼす こ と があ り ます。 レ ジス ト リ について詳 し く ない場合は、 シ ス テム管理者に相談 し て く だ さ い。 章2 SharePlex の動作方法 21 MKS Platform Components Windows プ ラ ッ ト フ ォーム上の SharePlex は Mortice Kern Systems (MKS) 社の ® MKS Toolkit オペレーテ ィ ン グ環境を使用 し ます。 MKS Toolkit はサービ ス と し て実行 し 、 SharePlex が UNIX と Windows プ ラ ッ ト フ ォ ーム に一様に移植 さ れ る こ と を可能に し ます。 SharePlex ユーザーは、 SharePlex サービ ス が実行 し てい る と き に NuTCRACKER サービ ス も 実行 さ れてい る こ と を確認す る 以外 は、 MKS Toolkit ソ フ ト ウ ェ ア を直接操作す る こ と はあ り ません。 MKS Toolkit は SharePlex の イ ン ス ト ールの際に、 デフ ォ ル ト で自動起動モー ド で イ ン ス ト ール さ れ ます。 MKS Toolkit の Windows レ ジ ス ト リ エ ン ト リ は、 メ ーカー名 「Mortice Kern Systems」、 お よ び 「Data Focus」 にあ り ます。 MKS Toolkit のデフ ォ ル ト フ ォ ル ダは、 C:\Program Files\MKS Toolkit ですが、 イ ン ス ト ール時に別の フ ォ ルダが 選択 さ れてい る 場合 も あ り ます。 イ ン ス ト ール後は、 MKS Toolkit フ ァ イ ルを 移動 し ないで く だ さ い。 22 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 3 SharePlex プ ログ ラ ムの実行 こ の章では、 SharePlex の 2 つの主なプ ロ グ ラ ム、 sp_cop と sp_ctrl の実行方法 について説明 し ます。 複製の確立、 設定の作成、 複製の制御、 複製の状態の監 視を行 う には、 こ れ ら 2 つのプ ロ グ ラ ムの実行方法を知っ てお く 必要があ り ま す。 こ の章は 2 つに分かれてい ます。 パー ト 1 では SharePlex ソ フ ト ウ ェ アの基本 的な操作方法、 パー ト 2 では高度な操作方法を説明 し ます。 目次 SharePlex の基本操作 SharePlex のその他の操作 24 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: SharePlex の基本操作 こ のセ ク シ ョ ン では、 SharePlex プ ロ グ ラ ム について紹介 し 、 それ ら のプ ロ グ ラ ム を実行す る 基本的な方法を説明 し ます。 こ こ では、 以下の ト ピ ッ ク を取 り 上げ ます。 • • • • • • SharePlex プ ロ グ ラ ム の紹介 UNIX シ ス テ ム と Windows シ ス テ ム のプ ロ セ ス の違い シ ス テ ムの起動 SharePlex の起動 SharePlex のシ ャ ッ ト ダ ウ ン sp_ctrl の実行 SharePlex プ ログ ラ ムの紹介 ユーザーが対話操作す る プ ロ グ ラ ムには、 SharePlex 制御プ ロ グ ラ ム の sp_cop と コ マ ン ド ラ イ ン ユーザー イ ン タ ーフ ェ イ ス の sp_ctrl の 2 種類のプ ロ グ ラ ム があ り ます。 sp_cop sp_cop プ ロ グ ラ ムは、 SharePlex の主要プ ロ セ ス (Capture、 Read、 Export、 Import、 Post) と SharePlex のキ ュ ーを調整す る ほか、 特定の タ ス ク を実行す る その他すべてのバ ッ ク グ ラ ウ ン ド プ ロ セ ス を開始 し ます。 ま た、 複製ネ ッ ト ワ ー ク 内の他のシ ス テ ム と の通信を維持 し ます。 複製に関与す る シ ス テ ム に は、 それぞれ sp_cop プ ロ セ ス が存在 し ます。 一般に、 起動 と 停止を行 う 以外、 ユーザーが sp_cop を操作す る こ と はほ と ん ど あ り ません。 起動後は、 sp_cop はバ ッ ク グ ラ ウ ン ド で稼働 し ます。 sp_ctrl 複製に関与す る シ ス テ ム には、 それぞれ sp_ctrl コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス が存在 し ます。 SharePlex の操作の大半は、 sp_ctrl か ら SharePlex ア ク テ ィ 章3 SharePlex プ ロ グ ラ ムの実行 25 ビ テ ィ を開始、 停止、 設定、 割 り 当て、 監視す る コ マ ン ド を発行 し て行い ま す。 sp_ctrl プ ロ グ ラ ムは sp_cnc ( コ マ ン ド お よ び制御) プ ロ セ ス と 連携 し ま す。 こ のプ ロ セ ス は sp_cop の子プ ロ セ ス で、 ユーザー コ マ ン ド を実行 し ます。 sp_cnc プ ロ セ ス はバ ッ ク グ ラ ウ ン ド で稼働 し ます。 ユーザーが こ のプ ロ セ ス を操作す る こ と はあ り ません。 図 4: sp_cop および sp_ctrl プ ロ セス 26 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 UNIX システムと Windows システムのプロセスの違い UNIX シ ス テ ム と Windows シ ス テ ム では、 SharePlex ソ フ ト ウ ェ アの動作が一 部異な り ます。 UNIX シ ス テムでの SharePlex の動作 UNIX シ ス テ ム の場合、 SharePlex は sp_cop を実行 し て起動 し ます。 sp_cop と sp_ctrl を起動す る と 、 sp_ctrl が sp_cnc な ど のバ ッ ク グ ラ ウ ン ド プ ロ セ ス を生成 し ます。 設定が正常にア ク テ ィ ベー ト さ れ る と 、 ソ ース マシ ンお よ び タ ーゲ ッ ト マシ ン上の sp_cop が、 Capture や Export な ど の、 必要な複製の子 プ ロ セ ス を独立 し て生成 し ます。 起動 し た sp_cop の イ ン ス タ ン ス は、 それぞ れが親プ ロ セ ス と な っ て、 一連の複製子プ ロ セ ス を生成 し ます。 Windows シ ス テムでの SharePlex の動作 Windows では、 SharePlex は Oracle と 同様にサービ ス と し て実行 さ れます。 [サービ ス] コ ン ト ロ ールパネルでは SharePlex [port#] と 表示 さ れ ます。 タ ス ク マネージ ャ では Sp_Copsrv.exe と 表示 さ れます。 こ の SharePlex サービ ス を 開始す る と 、 SharePlex が起動 し ます。 親にあ た る Sp_Copsrv.exe サービ ス は、 オペレーテ ィ ン グ シ ス テ ムが制御 し ます。 親プ ロ セ ス の Sp_Copsrv.exe は、 各 複製プ ロ セ ス (Capture、 Read、 Export、 Import、 Post、 sp_ctrl な ど) につ き 、 子プ ロ セ ス の Sp_Copsrv.exe を 1 つずつ生成 し ます。 デフ ォ ル ト キ ュ ーを介 し て 1 つの タ ーゲ ッ ト シ ス テ ムに複製を行 う 標準的な単 方向の設定では、 以下の よ う なプ ロ セ ス が使用 さ れ ます。 ソ ース シ ス テ ム側 • • • • • 1 つの Sp_Copsrv.exe 親プ ロ セ ス 1 つの Sp_Ocap (Capture) プ ロ セ ス と 1 つの Sp_Copsrv.exe 子プ ロ セ ス 1 つの Sp_Ordr (Read) プ ロ セ ス と 1 つの Sp_Copsrv.exe 子プ ロ セ ス 1 つの Sp_Xport (Export) プ ロ セ ス と 1 つの Sp_Copsrv.exe 子プ ロ セ ス 他に も sp_ctrl な ど の SharePlex プ ロ セ ス が実行 さ れてい る 場合は、 そのプ ロ セ ス ご と に Sp_Copsrv.exe プ ロ セ ス が追加 さ れ ます。 タ ーゲ ッ ト シ ス テ ム側 • 1 つの Sp_Copsrv.exe 親プ ロ セ ス • 1 つの Sp_Mport (Import) プ ロ セ ス と 1 つの Sp_Copsrv.exe 子プ ロ セ ス 章3 SharePlex プ ロ グ ラ ムの実行 27 • 1 つの Sp_Opst_Mt (Post) プ ロ セ ス と 1 つの Sp_Copsrv.exe 子プ ロ セ ス • 他に も sp_ctrl な ど の SharePlex プ ロ セ ス が実行 さ れてい る 場合は、 そのプ ロ セ ス ご と に Sp_Copsrv.exe プ ロ セ ス が追加 さ れ ます。 ア ク テ ィ ブな設定がない場合は、 SharePlex プ ロ セ ス は開始 さ れず、 親の Sp_Copsrv.exe のみが実行 さ れ ます。 重要! SharePlex の稼働中は、 NuTCRACKER サービ ス も実行する必要があ り ます。 NuTCRACKER サービ スの詳細は、 「MKS Platform Components」 (21 ページ) を参照 し て く だ さ い。 Windows シ ス テムでの Sp_Copsrv.exe プ ロ セスの特定方法 Windows タ ス ク マネージ ャ で親 Sp_Copsrv.exe プ ロ セ ス を特定す る には、 使用 し てい る メ モ リ 量が最 も 大 き いプ ロ セ ス を探 し ます。 子 Sp_Copsrv.exe プ ロ セ ス が消費す る メ モ リ は、 親プ ロ セ ス よ り も 少な く な り ます。 あ る 子 Sp_Copsrv.exe プ ロ セ ス と 関連付け ら れてい る 複製プ ロ セ ス を特定す る には、 その複製プ ロ セ ス がいつ起動 し たか を示す メ ッ セージ を SharePlex Event ロ グで調べます。 こ のエ ン ト リ には、 そのプ ロ セ ス の PID と 、 関連付け ら れて い る Sp_copsvr.exe プ ロ セ ス の PID が記載 さ れてい ます。 シス テムの起動 複製に関与す る シ ス テ ム を起動す る と き は、 以下の順序で コ ン ポーネ ン ト を起 動 し て く だ さ い。 1 シ ス テ ム を起動 し ます。 2 Oracle の イ ン ス タ ン ス を起動 し ます。 3 SharePlex を起動 し ます (手順は以下を参照)。 4 sp_ctrl を起動 し ます (手順は以下を参照)。 5 [オ プ シ ョ ン] ユーザーア ク セ ス を制御す る ために、 こ こ で、 ま たは後か ら ネ ッ ト ワー ク を起動 し ます。 28 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 lstatus コ マ ン ド を発行 し て、 SharePlex プ ロ セ ス が開始 さ れた こ と を確認 し ます。 sp_ctrl(sysA)> lstatus 7 ネ ッ ト ワ ー ク を ま だ起動 し ていない場合は、 起動 し ます。 8 ユーザーのシ ス テ ム利用を許可 し ます。 SharePlex の起動 こ のセ ク シ ョ ン では、 SharePlex の 1 つの イ ン ス タ ン ス を起動す る 基本的な方 法を説明 し ます。 高度な操作を行 う 前に、 こ の手順を覚え てお く 必要があ り ま す。 起動時の注意事項 複製を開始す る と き は、 以下のガ イ ド ラ イ ン に従っ て く だ さ い。 • SharePlex Administrator (SharePlex Admin グループの メ ンバ) のみが sp_cop を起動で き ます。 • sp_cop は、 複製に関与す る すべての ソ ースお よ び タ ーゲ ッ ト シ ス テ ム上で 実行す る 必要があ り ます。 • 主要な SharePlex プ ロ セ ス がいつで も 複製 ト ラ ンザ ク シ ョ ン を開始で き る よ う に、 ソ ース シ ス テ ム上のデー タ にユーザーがア ク セ スす る 前、 ま たはア ク セ ス し た ら 直ちに sp_cop を開始 し て く だ さ い。 こ れに よ っ て、 Capture が変更に同調で き ます。 Capture が Oracle の処理か ら 遅れを と る と 、 Capture が読み取 り を終了す る 前に、 REDO ロ グが ラ ッ プす る 場合があ り ます。 ロ グ ラ ッ プは、 オ ン ラ イ ンの Oracle REDO ロ グのサ イ ズ と 数が最大値に達 し 、 Oracle が新 し い ロ グ を既存の ロ グに上書 き し 始めた と き に発生 し ます ロ グ ラ ッ プ前に変更を キ ャ プチ ャ し 切れなければ、 SharePlex はアーカ イ ブ ロ グにア ク セ ス し ます が、 それ ま での間に ソ ースデー タ と タ ーゲ ッ ト デー タ の間に許容範囲を え た遅延が生 じ ます。 こ の よ う な ケース では、 デー タ を再同期 し た方が現実 的です。 • デー タ ベース のキ ャ ラ ク タ セ ッ ト にデフ ォ ル ト の US7ASCII キ ャ ラ ク タ セ ッ ト を 使用 し ていない 場合は、 SharePlex (sp_cop) を起動す る 前に、 NLS_LANG 環境変数を そのデー タ ベース の設定に設定 し て く だ さ い。 こ れ に よ っ て、 7F 以降のキ ャ ラ ク タ が正 し く 複製 さ れ る よ う にな り ます。 通常、 章3 SharePlex プ ロ グ ラ ムの実行 29 SharePlex はデー タ ベース の設定を検出 し て正 し いセ ッ ト を使用 し ますが、 SharePlex が万一デー タ ベース設定を検出で き ない場合の予防策 と し て環境 変数を設定 し て く だ さ い。 警告!デー タ ベースがデ フ ォル ト の US7ASCII キ ャ ラ ク タ セ ッ ト を使用 し ている場合 は、 NLS_LANG は設定 し ない で く だ さ い。 設定する と 、 7F を超え るキ ャ ラ ク タ が正常 に複製 さ れな く な り ます。 UNIX シス テム上での SharePlex の起動 sp_cop は、 次の 2 つの方法の 1 つで開始で き ます。 • オペレーテ ィ ン グ シ ス テ ム の コ マ ン ド ラ イ ン を使用す る • ス タ ー ト ア ッ プ フ ァ イ ルに組み込んでシ ス テ ム起動時に開始す る korn (ksh) ま たは C シ ェ ル (csh) の ど ち ら かか ら SharePlex を実行 し ます。 バ ッ ク グ ラ ウ ン ド プ ロ セ ス を処理す る 方法が SharePlex と 互換性がないので、 Bourne シ ェ ル (sh) は使用 し ないで く だ さ い。 Bourne シ ェ ルを使用す る 必要 があ る 場合は、 ksh ま たは csh へシ ェ ルを切 り 換え て SharePlex を実行 し 、 そ の後そのシ ェ ルを終了 し て Bourne シ ェ ルへ戻 り ます。 Exceed X ユーザーへの警告 : ウ ィ ン ド ウエ ミ ュ レー タ の Exceed X を使用 し ている場 合は、 デ フ ォル ト シ ェ ルの POSIX から ksh シ ェ ルに切 り 替え、 ksh シ ェ ル以外からは sp_cop を実行 し ないよ う に し て く だ さ い。 UNIX コ マ ン ド ラ イ ン で sp_cop を開始するには 1 UNIX パ ス ワ ー ド と ユーザー名を使用 し て SharePlex Administrator と し て UNIX に ロ グオ ン し ます。 ユーザー名は、 /etc/group フ ァ イ ルの spadmin グ ループに割 り 当て ら れてい る 必要があ り ます。 2 デ ィ レ ク ト リ の完全パ ス を入力す る か、 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ にデ ィ レ ク ト リ を変更 し て sp_cop を実行 し 、 sp_cop を 開始 し ます。 バ ッ ク グ ラ ウ ン ド で実行 し たい場合は、 & を使用 し て く だ さ い。 構文 $ /productdir/bin/sp_cop & 30 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ま たは $ cd /productdir/bin $ ./sp_cop & sp_cop セ ッ シ ョ ン にはそれぞれプ ロ セ ス ID 番号が与え ら れます。 シ ス テ ム が こ の sp_cop セ ッ シ ョ ン のプ ロ セ ス ID 番号を返 し 、 UNIX プ ロ ン プ ト が再び表 示 さ れます。 前の sp_cop セ ッ シ ョ ン でア ク テ ィ ベー ト さ れてい る 設定があ る 場合は、 複製が直ちに実行 さ れ ます。 ア ク テ ィ ブな設定がない場合、 sp_cop はバ ッ ク グ ラ ウ ン ド で受動的に稼働 し ます。 UNIX シ ス テム上でマシ ンの起動時に start sp_cop を開始するには シ ス テ ムの rc フ ァ イ ルに sp_cop & コ マ ン ド を追加す る と 、 シ ス テ ム起動時に 複製を開始で き ます。 SharePlex の前に Oracle を起動す る よ う に設定 し ます。 ス ク リ プ ト 実行時に「System call error: sp_cnc (connecting from cdrpx.mcit.med.umich.edu) Bad file number Can't dup2 stderr」の よ う なエ ラ ーが返 さ れ る 場合は、 ス タ ー ト ア ッ プ ス ク リ プ ト に nohup を追加 し てお試 し く だ さ い。 nohup コ マ ン ド に よ り 、 現在のユーザー (ス ク リ プ ト ) が ロ グ ア ウ ト し た 後に、 コ マ ン ド ( こ の場合は SharePlex の ス タ ー ト ア ッ プ) をバ ッ ク グ ラ ウ ン ド で続行す る こ と が指示 さ れ ます。 構文は次の と お り です。 #!/bin/ksh cd [product_dir]bin nohup sp_cop & Windows シ ス テム上での SharePlex の起動 Windows プ ラ ッ ト フ ォ ーム では SharePlex はサービ ス と し て稼動す る ため、 SharePlex サービ ス を開始す る のが sp_cop を起動す る 唯一の方法です。 SharePlex サービ ス が実行 さ れていなければ、 複製は行われません。 SharePlex の ド キ ュ メ ン ト で sp_cop を起動ま たは停止す る よ う に指示 さ れてい る 場合、 Windows プ ラ ッ ト フ ォ ーム では SharePlex サービ ス を開始ま たは停止 し て く だ さ い。 SharePlex は、 自動ス タ ー ト ア ッ プモー ド で イ ン ス ト ール さ れ ます。 つま り 、 シ ス テ ムが開始 さ れた と き に SharePlex サービ ス が自動的に開始 さ れ、 で き る だけ早 く 複製が始ま り ます。 起動オプシ ョ ンは、 Windows の [管理ツール] に あ る [ コ ン ピ ュ ー タ ーの管理] で変更で き ます。 章3 SharePlex プ ロ グ ラ ムの実行 31 SharePlex サービ ス を開始するには 1 シ ス テ ムパ ス ワー ド と ユーザー名を使用 し て SharePlex Administrator と し て Windows に ロ グオ ン し ます。 ユーザー名は、 SharePlex Admin グループに 割 り 当て ら れてい る 必要があ り ます。 2 SpUtils デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 ま たは Windows タ ス ク バーの [ ス タ ー ト ] を ク リ ッ ク し 、 [ プ ログ ラ ム] を選択 し て、 SharePlex 製品グループの [SpUtils] を選択 し ます。 [SharePlex Utilities] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 3 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 4 [Port] リ ス ト ボ ッ ク ス で、 開始す る SharePlex の イ ン ス タ ン ス のためのポー ト 番号を選択 し ます。 32 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 5 [SharePlex Service Status] で、 [Start] を ク リ ッ ク し ます。 6 [Current State] テ キ ス ト ボ ッ ク ス にサービ ス が開始 さ れた こ と が表示 さ れ た ら 、 [Close] を ク リ ッ ク し てダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 ヒ ン ト : SpClient ユーテ ィ リ テ ィ を使用する と 、 リ モー ト シス テムか ら SharePlex サービ ス を制御で き ます。 詳細は、 464 ページ を参照 し て く だ さ い。 重要! SharePlex は、 起動時に ラ イ セ ン スキーを チ ェ ッ ク し ます。 有効な ラ イ セ ン ス を検出で き なか っ た場合、 SharePlex は稼動を停止 し ます。 ラ イ セ ン スキーは paramdb フ ァ イルに格納 さ れていますが、 SharePlex を ア ン イ ン ス ト ール し た後で再 イ ン ス ト ールする と 、 こ の フ ァ イルが上書き さ れます。 い っ たんア ン イ ン ス ト ール し た 後で SharePlex を再イ ン ス ト ール し た場合は、 必ず ラ イ セ ン スキーを入力 し て く だ さ い。 ア ッ プグレー ド 中は paramdb フ ァ イルはそのま ま残 さ れ、 ラ イ セ ン スは変更 さ れ ません。 SharePlex のシ ャ ッ ト ダウン 通常、 SharePlex は、 複製す る デー タ があ る 限 り 起動 し た ま ま に し てお き ます。 SharePlex を シ ャ ッ ト ダ ウ ンす る と 、 複製が停止 さ れ ます。 SharePlex は、 た と えば次の よ う な場合にシ ャ ッ ト ダ ウ ン し ます。 • • • • 複製を中止す る 特定のパ ラ メ ー タ を ア ク テ ィ ベー ト す る SharePlex ユーテ ィ リ テ ィ を実行す る SharePlex の ド キ ュ メ ン ト で指示 さ れてい る 場合、 ま たは Quest Technical Support か ら 指示 さ れた場合 SharePlex は、 ユーザーがデー タ ベース にア ク セ ス中で も 、 ま たア ク テ ィ ブな 複製設定があ る 場合で も 、 安全にシ ャ ッ ト ダ ウ ン で き ます。 SharePlex は REDO ロ グの停止 し た と こ ろか ら 複製を再開 し 、 REDO ロ グが ラ ッ プ さ れてい る 場合はアーカ イ ブ ロ グにア ク セ ス し ます (アーカ イ ブ ロ グが有効な場合)。 警告! Oracle を シ ャ ッ ト ダウンする場合は、 SharePlex を先にシ ャ ッ ト ダウン し て く だ さ い。 先に Oracle を シ ャ ッ ト ダウンする と 、 SharePlex はイ ン ス タ ン スに障害が発 生 し た と 解釈 し 、 警告 メ ッ セージ を生成 し ます。 Oracle を シ ャ ッ ト ダウン し た後で、 ネ ッ ト ワー ク と シス テムを シ ャ ッ ト ダウン し ます。 章3 SharePlex プ ロ グ ラ ムの実行 33 SharePlex を停止する場合の注意 ユーザーに よ る デー タ の変更が継続 し てお り 、 ま たデー タ の同期 も 維持す る 必 要があ る 場合に複製を停止す る と き は、 注意が必要です。 SharePlex の再開が 遅れ る と 、 Oracle の処理に遅れを と り ます。 こ れに ど う 対処すべ き かは、 キ ュ ーに どれだけのデ ィ ス ク スペース を確保で き る か、 あ る いは ソ ースデー タ と タ ーゲ ッ ト デー タ 間の遅延を ど こ ま で許せ る か な ど、 その環境に よ っ て異な り ます。 Capture プ ロ セ ス がアーカ イ ブ ロ グ を読 み取 ら ざ る を え ない場合や、 ト ラ ンザ ク シ ョ ンのボ リ ュ ームが大 き い場合は、 SharePlex のバ ッ ク ロ グ処理を待つ よ り も 、 デー タ を再同期 し た方が現実的で す。 REDO ロ グが ラ ッ プ し 、 アーカ イ ブ ロ グが利用で き ない場合は、 再同期 し か打つ手はあ り ません。 sp_ctrl の stop コ マ ン ド を使用す る と 、 SharePlex を完全にシ ャ ッ ト ダ ウ ンす る こ と な く 、 個別の SharePlex 複製プ ロ セ ス を停止で き ます。 こ れ始め と す る SharePlex コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 sp_ctrl によ る シ ャ ッ ト ダウン (UNIX および Windows) UNIX お よ び Windows の ど ち ら のシ ス テ ム で も 、 sp_ctrl の shutdown コ マ ン ド で SharePlex を シ ャ ッ ト ダ ウ ン で き ます。 こ れは正常な シ ャ ッ ト ダ ウ ン であ り 、 各プ ロ セ ス の状態の保存、 チ ェ ッ ク ポ イ ン ト のデ ィ ス ク への実行、 バ ッ フ ァ 内 のデー タ の read/release、 子プ ロ セ ス の削除が行われます。 キ ュ ーの中のデー タ はその場に安全に と ど ま り 、 sp_cop を再び起動 し た と き は、 処理の準備が 整っ てい ます。 SharePlex が大容量の Oracle デー タ を操作 し てい る 場合、 シ ャ ッ ト ダ ウ ン には時間がかか り ます。 構文 sp_ctrl(sysA)> shutdown 必要な場合は、 shutdown コ マ ン ド と 一緒に [force] オプシ ョ ン を使用 し て、 強 制的に複製を シ ャ ッ ト ダ ウ ン で き ます。 こ れに よ っ て sp_cop は即座に終了 し 、 通常のシ ャ ッ ト ダ ウ ン手順は省略 さ れ ます。 shutdown コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 34 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex サービ スの停止 (Windows) Windows シ ス テ ム では、 SharePlex サービ ス を停止す る こ と で SharePlex を シ ャ ッ ト ダ ウ ン で き ます。 こ れは sp_ctrl 内の shutdown コ マ ン ド と 同様に、 正 常のシ ャ ッ ト ダ ウ ン です。 1 シ ス テ ムパ ス ワ ー ド と ユーザー名を使用 し て SharePlex Administrator と し て Windows に ロ グオ ン し ます。 ユーザー名は、 SharePlex Admin グループに 割 り 当て ら れてい る 必要があ り ます。 2 SpUtils デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 ま たは Windows タ ス ク バーの [ ス タ ー ト ] を ク リ ッ ク し 、 [ プ ログ ラ ム] を選択 し て、 SharePlex 製品グループの [SpUtils] を選択 し ます。 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス が表示 さ れ ます。 3 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 章3 SharePlex プ ロ グ ラ ムの実行 35 4 [Port] リ ス ト ボ ッ ク ス で、 シ ャ ッ ト ダ ウ ンす る SharePlex の イ ン ス タ ン ス の ためのポー ト 番号を選択 し ます。 5 [SharePlex Service Status] で、 [Stop] を ク リ ッ ク し ます。 6 [Current State] テ キ ス ト ボ ッ ク ス にサービ ス が停止 し た こ と が表示 さ れた ら 、 [Close] を ク リ ッ ク し てダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 ヒ ン ト : SpClient ユーテ ィ リ テ ィ を使用する と 、 リ モー ト シ ス テムから SharePlex サービ ス を制御で き ます。 詳細は、 464 ページ を参照 し て く だ さ い。 sp_ctrl の実行 ユーザーは、 SharePlex の コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス であ る sp_ctrl プ ロ グ ラ ム を通 じ て、 SharePlex の操作の大半を行い ます。 sp_ctrl か ら は、 SharePlex のア ク テ ィ ビ テ ィ を開始、 停止、 設定、 制御、 監視す る すべての コ マ ン ド を発行で き ます。 sp_ctrl を実行す る には、 SharePlex が動作 し ていなけ 36 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ればな り ません。 そ う でない場合、 「Your tcp port is not set properly or “sp_cop” is not running」 の よ う な メ ッ セージが表示 さ れ ます。 SharePlex ユーザーは誰で も sp_ctrl を実行で き ますが、 コ マ ン ド を実行す る に は、 その コ マ ン ド の権限レ ベル以上を持つ必要があ り ます。 権限レベルは、 SharePlex ユーザーグループ SharePlex Admin グループ ( 管理者 )、 spopr ( オペ レー タ )、 お よ び spview ( 閲覧者 ) のいずれかに対応 し てい ます。 sp_ctrl は、 SharePlex が イ ン ス ト ール さ れてい る 各マシ ン か ら 実行す る こ と も 、 あ る いは 1 台のマシ ン か ら 実行 し て、 その他のすべての複製マシ ン を制御す る こ と も で き ます。 sp_ctrl プ ロ グ ラ ムは、 SharePlex 製品デ ィ レ ク ト リ の bin サ ブデ ィ レ ク ト リ にあ り ます。 sp_ctrl を実行す る には、 次の 2 つの方法があ り ます。 • UNIX コ マ ン ド ラ イ ン ま たはWindows の コ マ ン ド プ ロ ン プ ト コ ン ソ ールか ら 1 つずつ コ マ ン ド を発行す る • 複製の状態をチ ェ ッ ク し 、 それに よ っ て SharePlex プ ロ セ ス を停止す る な ど、 複数の コ マ ン ド を イ ン タ ラ ク テ ィ ブに発行す る 注 : sp_ctrl コ マ ン ド ラ イ ン では、 スペース も含めて合計 255 文字ま で入力で き ます。 1 つの コ マ ン ド を sp_ctrl で実行するには コ マ ン ド ラ イ ンプ ロ ンプ ト で、 sp_ctrl バ イ ナ リ への完全パ ス名の後に コ マ ン ド 名を続けて入力 し ます。 次の構文の commandname を コ マ ン ド の名前 と 置 き 換え て く だ さ い。 ロ ーカル実行す る 場合で も 、 次の構文で hostname はシ ス テ ム 名に置換 し て く だ さ い。 コ マ ン ド が実行 さ れ、 コ マ ン ド ラ イ ン プ ロ ン プ ト に戻 り ます。 構文 UNIX プ ラ ッ ト フ ォ ーム : $ /productdir/bin/sp_ctrl commandname on hostname ま たは $ cd /productdir/bin $ ./sp_ctrl commandname on hostname Windows プ ラ ッ ト フ ォ ーム : C:\>drive:\productdir\bin\sp_ctrl commandname on hostname 章3 SharePlex プ ロ グ ラ ムの実行 37 重要! Windows のパス名にスペースが含まれている場合は、 “d:\Program Files\Quest Software\SharePlex\bin\sp_ctrl” のよ う に、 コ マ ン ド を二重引用符 で囲んで く だ さ い。 また、 Windows シス テムでは、 コ マ ン ド の後にユーザー名および パスワー ド を要求する プ ロ ン プ ト が表示 さ れる こ と があ り ます。 発行す る コ マ ン ド が リ モー ト ロ グ イ ン を許可す る 場合は、 次の例に示す よ う に、 いずれかの リ モー ト ロ グ イ ンのオプシ ョ ン を使用 し て、 別のシ ス テ ムやデ フ ォ ル ト 以外のポー ト 番号を指定で き ます。 リ モー ト ロ グ イ ン のオプシ ョ ン は、 『SharePlex Reference Manual』 の第 1 章で詳 し く 説明 さ れてい ます。 $ /productdir/bin/sp_ctrl status on hostname:portnumber 複数の コ マ ン ド を sp_ctrl で イ ン タ ラ ク テ ィ ブに実行す るには UNIX シ ス テ ム で sp_ctrl の イ ン タ ラ ク テ ィ ブセ ッ シ ョ ン を開始す る には、 コ マ ン ド ラ イ ンか ら sp_ctrl バ イ ナ リ の完全パ ス名を入力す る か、 SharePlex 製品 デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ にデ ィ レ ク ト リ を変更 し 、 そ こ か ら sp_ctrl を実行 し ます。 構文 $ /productdir/bin/sp_ctrl ま たは $ cd /productdir/bin $ ./sp_ctrl Windows シ ス テ ム上で sp_ctrl のセ ッ シ ョ ン を開始す る には、 [Sp_Ctrl] デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク す る か、 Windows のプ ロ グ ラ ム起動手 順のいずれか を使用 し ます。 イ ン タ ラ ク テ ィ ブセ ッ シ ョ ン の準備が整 う と 、 sp_ctrl プ ロ ン プ ト (sp_ctrl>) が表示 さ れ、 1 つま たは複数の SharePlex コ マ ン ド を入力で き る よ う にな り ま す。 sp_ctrl の コ マ ン ド が実行 さ れ る と 、 sp_ctrl プ ロ ンプ ト に戻 り ます。 sp_ctrl プ ロ ン プ ト は、 exit ま たは quit コ マ ン ド で こ の イ ン タ ーフ ェ イ ス を終了 す る ま で、 その ま ま表示 さ れてい ます。 ヒ ン ト (Windows) : sp_ctrl のウ ィ ン ド ウにス ク ロールバーが表示 さ れず、 コ マ ン ド 出力をすべて表示で き ない場合は、 『SharePlex Reference Manual』 の第 1 章を参照 し てス ク ロールバーの表示方法を確認 し て く だ さ い。 38 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 代替の sp_cop ポー ト 番号に接続するには UNIX シ ス テ ム で sp_ctrl を開始す る と 、 paramdb フ ァ イ ルか ら sp_cop 用の ポー ト 番号が読み取 ら れ ます。 そ こ にポー ト が見つか ら ない場合、 paramdefaults フ ァ イ ルを読み込んでデフ ォ ル ト のポー ト 番号 2100 が使用 さ れ ます。 paramdb ま たは param-defaults フ ァ イ ルでポー ト 番号が割 り 当て ら れた イ ン ス タ ン ス以外の sp_cop の イ ン ス タ ン ス に対 し て sp_ctrl を実行す る 場合、 sp_ctrl を開始 し て port コ マ ン ド を使っ て代替ポー ト 番号を指定 し て く だ さ い。 代替 ポー ト 番号はセ ッ シ ョ ン固有であ る ため、 sp_ctrl を終了す る と 失われ ます。 Windows シ ス テ ム では、 sp_ctrl は レ ジ ス ト リ の \HKEY_LOCAL_MACHINE\SOFTWARE\Quest Software\SharePlex の DefaultPort エ ン ト リ で指定 さ れてい る デフ ォ ル ト のポー ト 番号を読み取 り ます。 こ こ に指 定 さ れた値がない場合、 sp_ctrl はデフ ォ ル ト のポー ト 番号の 2100 か、 ま たは シ ス テ ム上に複数の SharePlex イ ン ス タ ン ス があ る 場合は、 最 も 下位のポー ト 番号に接続 し ます。 デフ ォ ル ト 以外の別のポー ト 番号に接続す る には、 sp_ctrl を起動 し て port コ マ ン ド を実行 し 、 代替ポー ト の番号を指定 し ます。 sp_ctrl 用にデ フ ォル ト シス テムを定義する には sp_ctrl の イ ン タ ラ ク テ ィ ブセ ッ シ ョ ン の全 コ マ ン ド を実行す る ための、 デ フ ォ ル ト のマシ ン を定義す る には、 host コ マ ン ド を発行 し ます。 こ れに よ っ て、 コ マ ン ド ご と に [on host] オプシ ョ ン を使用す る こ と な く 、 一連の コ マ ン ド を入力で き ます。 別のマシ ン (ポー ト 番号 2100 以外) をデフ ォ ル ト に定義す る と 、 新 し い設定はセ ッ シ ョ ン固有にな り 、 sp_ctrl を終了す る と 失われ ます。 構文 sp_ctrl> host hostname プ ロ ン プ ト は次の例の よ う にな り ます。 sp_ctrl(sysA)> sp_ctrl を終了するには UNIX ま たは Windows シ ス テ ム で sp_ctrl コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス を 終了す る には、 sp_ctrl プ ロ ン プ ト で exit ま たは quit コ マ ン ド を入力 し ます。 構文 sp_ctrl> exit 章3 SharePlex プ ロ グ ラ ムの実行 39 ま たは sp_ctrl> quit Windows シ ス テ ムの場合は、 sp_ctrl コ マ ン ド プ ロ ン プ ト の ウ ィ ン ド ウ を閉 じ て sp_ctrl を終了す る と い う 方法 も あ り ます。 sp_ctrl を終了 し て も 複製はシ ャ ッ ト ダ ウ ン し ません。 ア ク テ ィ ブ設定はいず れ も 、 SharePlex を シ ャ ッ ト ダ ウ ンす る か、 Capture プ ロ セ ス を停止す る ま で デー タ の複製を継続 し ます。 shutdown コ マ ン ド に よ っ て sp_cop がシ ャ ッ ト ダ ウ ン し 、 複製 も 終了 し ますが、 SharePlex のシ ャ ッ ト ダ ウ ン手順が完了す る と 、 UNIX お よ び Windows シ ス テ ム の sp_ctrl も 終了 し ます。 SharePlex コ マ ン ド と 権限レ ベルの詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 40 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 2 : SharePlex のその他の操作 こ のセ ク シ ョ ン では、 特定の複製ま たは操作要件を満たすために、 特別な方法 で SharePlex を実行す る 手順を説明 し ます。 こ こ では、 以下の ト ピ ッ ク を取 り 上げ ます。 • • • • • 複製プ ロ セ ス を開始せずに SharePlex を起動す る 同 じ UNIX シ ス テ ム での SharePlex for Oracle と SharePlex FS の実行 -u オプシ ョ ン を使用 し た UNIX シ ス テ ム での sp_cop の起動 複数の SharePlex イ ン ス タ ン ス の実行 異な る バージ ョ ンの SharePlex の同時実行 複製プ ロ セス を開始せずに SharePlex を起動する UNIX システムでプロ セスなし で SharePlex を 起動する には UNIX シ ス テ ム では、 [-s] オプシ ョ ン を使用す る と 、 Capture、 Read、 Export、 Import、 Post プ ロ セ ス を自動的に開始す る こ と な く sp_cop を起動で き ます。 こ の場合、 プ ロ セ ス はア イ ド ル状態で SharePlex が起動 し ます。 構文 $ /productdir/bin/sp_cop -s & ま たは $ cd /productdir/bin $ ./sp_cop -s & ア イ ド ル状態を確認す る には、 sp_ctrl で status コ マ ン ド を発行 し ます。 $ cd /productdir/bin $ ./sp_ctrl sp_ctrl> status 章3 SharePlex プ ロ グ ラ ムの実行 41 図 5: -s オプ シ ョ ン付き で sp_cop を開始 し た後の SharePlex プ ロ セスの状態 起動後に [-s] で プ ロ セス を開始するには [-s] オプシ ョ ン を使用 し て sp_cop を起動 し た場合、 start コ マ ン ド では SharePlex プ ロ セ ス を個別に開始す る こ と はで き ません。 た と えば、 Capture だ け を開始す る こ と はで き ません。 まず、 startup コ マ ン ド を使用 し て複製プ ロ セ ス を開始 し て く だ さ い。 こ の コ マ ン ド に よ っ て、 複製プ ロ セ ス が全部一度に 開始 さ れ ます。 構文 sp_ctrl(sysA)> startup startup コ マ ン ド を発行 し た後、 各複製プ ロ セ ス を必要に応 じ て停止 し て く だ さ い。 Windows シ ス テムで プ ロ セス な し で SharePlex を起動す るには 各複製プ ロ セ ス (Capture、 Read、 Export、 Import、 Post) を自動的に開始せず に SharePlex を起動す る こ と は、 Windows プ ラ ッ ト フ ォ ーム では不可能です。 複製プ ロ セ ス な し で SharePlex サービ ス (sp_cop) を開始す る には、 を シ ャ ッ ト ダ ウ ンす る 前に、 sp_ctrl の stop コ マ ン ド でプ ロ セ ス を停止 し ます。 構文 sp_ctrl(sysA)> stop {capture | read | export | import | post} 42 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 開始 し たいプ ロ セ ス ご と に start コ マ ン ド を発行 し ない限 り 、 SharePlex が起動 し て も 複製プ ロ セ ス は停止 し た ま ま にな り ます。 構文 sp_ctrl(sysA)> start {capture | read | export | import | post} sp_ctrl コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 を参照 し て く だ さ い。 章3 SharePlex プ ロ グ ラ ムの実行 43 同 じ UNIX シス テムでの SharePlex for Oracle と SharePlex FS の実行 SharePlex for Oracle と 、 フ ァ イ ルシ ス テ ムの複製アプ リ ケーシ ョ ン であ る SharePlex FS は、 ど ち ら も Quest Software の製品で、 同一シ ス テ ム上で並行 し て実行で き ます。 SharePlex for Oracle と SharePlex FS の以下のプ ロ セ ス は、 名 前が同一です。 • • • • • SharePlex (sp_cop) Command Line Interface ま たは CLI (sp_ctrl) Command お よ び Control (sp_cnc) Export (sp_xport) Import (sp_mport) 実行中に こ れ ら 両プ ロ グ ラ ム のプ ロ セ ス を区別す る には、 それぞれの sp_cop を起動す る と き に -u オプシ ョ ン を使用 し ます ( こ のセ ク シ ョ ン の後の 「-u オ プシ ョ ン を使用 し た UNIX シ ス テ ム での sp_cop の起動」 を参照)。 44 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 -u オプ シ ョ ン を使用 し た UNIX シ ス テムでの sp_cop の起動 -u オプシ ョ ン を UNIX シ ス テ ム で使用す る こ と で、 一意の識別子を付けて sp_cop を起動で き ます。 統合レ プ リ ケーシ ョ ン に複数の変数デー タ デ ィ レ ク ト リ が関わ っ てい る ため、 1 つのシ ス テ ム上で sp_cop の イ ン ス タ ン ス が複数 稼動 し てい る 場合、 ま た、 SharePlex フ ァ イ ルシ ス テ ム レ プ リ ケーシ ョ ン を実 行 し てい る ため、 独自のバージ ョ ンの sp_cop を使用 し てい る 場合は、 こ の方 法を使用 し て く だ さ い。 た と えば次の と お り です。 root 22362 24638 0 13:15:02 pts/3 0:00 sp_cop -umike8570 root 22375 22362 0 13:15:34 pts/3 0:00 /splexdata/mike/src/opt8/bin/ sp_cnc+PN+*+sp_cnc+0xa0101cf R -umike8570 root 22375 22362 0 13:15:34 pts/3 0:00 /splexdata/mike/src/opt8/bin/ sp_opst_mt -umike8570 root 22375 22362 0 13:15:34 pts/3 0:00 /splexdata/mike/src/opt8/bin/sp_mport umike8570 -u の命名には、 次の よ う な識別子をお勧め し ます。 • • • • SharePlex のポー ト 番号 (-u2100) 複製の対象であ る イ ン ス タ ン ス の ORACLE_SID (-uora10a) SharePlex Administrato の名前 (-ujad) SharePlex for Oracle sp_cop の識別子 (-usp_orcl) 構文 $ /productdir/bin/sp_cop -uname & ま たは $ cd /productdir/bin $ ./sp_cop -uname & 章3 SharePlex プ ロ グ ラ ムの実行 45 複数の SharePlex イ ン ス タ ン スの実行 UNIX ま たは Windows のいずれかのシ ス テ ム上で、 同 じ バージ ョ ン の SharePlex イ ン ス タ ン ス を複数実行で き ます。 た と えば、 複数の ソ ース シ ス テ ム か ら 中央の タ ーゲ ッ ト シ ス テ ムに複製を行 う よ う に設定 さ れてい る 場合は、 複数の sp_cop イ ン ス タ ン ス を実行 し て、 複製ス ト リ ーム を分け ます。 以下は、 同 じ バージ ョ ンの SharePlex を複数のポー ト で イ ン ス ト ールお よ び実 行す る 手順です。 複製を開始す る 前に、 こ のマニ ュ アル中の複製の方針に関す る すべての推奨事項に従っ てい る こ と を確認 し て く だ さ い。 UNIX シス テムでの複数の SharePlex イ ン ス タ ン スの実行 UNIX シ ス テ ム上で複数の sp_cop イ ン ス タ ン ス を実行す る には、 以下が必要 です。 • sp_cop プ ロ セ ス ご と に一意のポー ト 番号 と 変数デー タ デ ィ レ ク ト リ を割 り 当て る 。 こ れに よ っ て キ ュ ー (お よ びそのデー タ ) を sp_cop イ ン ス タ ン ス ご と に分け る こ と がで き ます。 • 変数デー タ デ ィ レ ク ト リ ご と に Oracle ユーザーア カ ウ ン ト を作成す る 。 • SP_SYS_VARDIR 環境変数 と -u オプシ ョ ン を使用 し て、 個別に sp_cop イ ン ス タ ン ス を起動す る 。 以下の手順で、 こ の処理を実行で き ます。 変数デー タ デ ィ レ ク ト リ を作成する には 1 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従 い、 SharePlex を通常の方法で イ ン ス ト ール し ます。 SharePlex は、 デフ ォ ル ト ポー ト 2100 を使用 し ます。 こ れ ら の手順では、 た と えば、 バ イ ナ リ が格 納 さ れ る SharePlex 製品デ ィ レ ク ト リ は /splex/proddir と い う 名前のデ ィ レ ク ト リ に イ ン ス ト ール さ れ、 SharePlex 変数デー タ デ ィ レ ク ト リ は /splex/ vardir と い う 名前のデ ィ レ ク ト リ に イ ン ス ト ール さ れ る と い う こ と を前提に し てい ます。 重要!以下の手順は、 ルー ト 特権のあるユーザーが実行 し て く だ さ い。 SharePlex は指示 さ れ る ま で起動 し ないで く だ さ い。 以下の手順では、 各 sp_cop 用の変数デー タ デ ィ レ ク ト リ を作成 し ます。 こ の例では、 2 つの デ ィ レ ク ト リ が作成 さ れ ます。 1 つはポー ト 2101 を、 も う 1 つはポー ト 46 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2200 を使用 し ます。 デフ ォ ル ト のポー ト 2100 は、 元の SharePlex イ ン ス ト ールに対 し て使用 さ れ ます。 2 オ リ ジナルの /splex/vardir と そのサブデ ィ レ ク ト リ を tar でアーカ イ ブ し ま す。 以下の コ マ ン ド では、 作成 さ れた tar フ ァ イ ルは 1 階層上の /splex に置 かれます。 tar コ マ ン ド の後の ド ッ ト に注意 し て く だ さ い。 $ cd /splex/vardir $ tar cvf ../splex.tar . 3 関連付け ら れた sp_cop イ ン ス タ ン ス が使用す る 変数デー タ デ ィ レ ク ト リ を 新たに作成 し ます。 各デ ィ レ ク ト リ の名前にはポー ト 番号 (ま たは一意の 識別子) を使用 し ます。 $ mkdir /splex/vardir/splex2101 (sp_cop の最初の イ ン ス タ ン ス用) $ mkdir /splex/vardir/splex2200 (sp_cop の 2 番目の イ ン ス タ ン ス用) 4 ポー ト 番号 2101 用に作成 し た変数デー タ デ ィ レ ク ト リ にデ ィ レ ク ト リ を変 更 し ます。 $ cd /splex/vardir/splex2101 5 変数デー タ デ ィ レ ク ト リ の元のデ ィ レ ク ト リ 構造を こ のデ ィ レ ク ト リ に復 元 し ます。 $ tar xvf /splex/splex.tar 6 各変数デー タ デ ィ レ ク ト リ に対 し て、 ス テ ッ プ 4 お よ び 5 を繰 り 返 し ます。 ( こ の例では、 1 つの追加デ ィ レ ク ト リ のみが存在 し てい ます ) $ cd /splex/vardir/splex2200 $ tar xvf /splex/splex.tar 7 作成 し た変数デー タ デ ィ レ ク ト リ ご と に、 SharePlex paramdb にあ る ポー ト パ ラ メ ー タ の TCP と UDP に、 ポー ト 番号を設定 し ます。 paramdb フ ァ イ ル は、 作成 し たそれぞれの変数デー タ デ ィ レ ク ト リ に格納 さ れてい ます。 ポー ト 番号の設定手順の詳細は、 256 ページ を参照 し て く だ さ い。 8 [ ア ク テ ィ ブ な設定があ る場合にのみ実行] SharePlex Administrator と し て ロ グオ ン し 、 作成 し た変数デー タ デ ィ レ ク ト リ ご と に clean_vardir.sh ス ク リ プ ト を実行 し ます。 こ の ス ク リ プ ト は重複 し た複製キ ュ ーを削除 し 、 それ ら を 新 し い状態に戻 し ます。 clean_vardir.sh を実行す る 手順は 441 ページ にあ り ます。 章3 SharePlex プ ロ グ ラ ムの実行 47 9 各変数デー タ デ ィ レ ク ト リ の rim サブデ ィ レ ク ト リ で、 shstinfo.ipc お よ び shmaddr.loc フ ァ イ ルを削除 し ます。 注 : その変数デー タ デ ィ レ ク ト リ に対 し て sp_cop を起動 し た こ と がなければ、 shstinfo.ipc および shmaddr.loc フ ァ イルは存在 し ません。 Oracle ユーザーを作成する には sp_cop イ ン ス タ ン ス用の変数デー タ デ ィ レ ク ト リ ご と に、 Oracle ユーザーア カ ウ ン ト を作成 し ます。 こ のア カ ウ ン ト に よ っ て、 Post プ ロ セ ス が Oracle に ロ グ イ ン し 、 デー タ を post で き ます。 ア カ ウ ン ト を作成す る には、 sp_cop の イ ン ス タ ン ス ご と に SharePlex の ora_setup プ ロ グ ラ ム を実行 し ます。 ア カ ウ ン ト を確認す る には、 splex2101 の よ う に、 ポー ト 番号を使用 し ます。 ora_setup の詳細は、 414 ページ を参照 し て く だ さ い。 sp_cop イ ン ス タ ン ス を開始および制御するには 複数の sp_cop セ ッ シ ョ ン を実行す る には、 変数デー タ デ ィ レ ク ト リ ご と に sp_cop お よ び sp_ctrl セ ッ シ ョ ン を開始 し ます。 次の ス テ ッ プ を実行 し ます。 1 最初の変数デー タ デ ィ レ ク ト リ を指 し 示すために SP_SYS_VARDIR 環境変 数を Export し ます。 $ export SP_SYS_VARDIR=/splex/vardir/splex2101 (ksh シ ェ ル) ま たは $ setenv SP_SYS_VARDIR /splex/vardir/splex2101 (csh シ ェ ル) 2 絶対パ ス名 と -uportnumber 引数を入力 し て sp_cop を起動 し ます。 portnumber は、 最初の変数デー タ デ ィ レ ク ト リ の sp_cop イ ン ス タ ン ス に割 り 当て ら れ たポー ト 番号です。 こ れに よ っ て SharePlex は正 し いポー ト を指 し 示す よ う にな り 、 ps -ef | grep sp_ コ マ ン ド を使用す る と 、 その sp_cop イ ン ス タ ン ス が表示 さ れ る よ う にな り ます。 sp_cop をバ ッ ク グ ラ ウ ン ド で実行 し たい場 合は、 & 引数を使用 し て く だ さ い。 $ /splex/proddir/bin/sp_cop -u2101 & 3 その sp_cop イ ン ス タ ン ス に対 し て sp_ctrl を実行す る には、 sp_ctrl を起動 し 、 port コ マ ン ド を発行 し ます。 $ ./sp_ctrl sp_ctrl(sysA)> port 2101 48 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 変数デー タ デ ィ レ ク ト リ ご と に、 こ れ ま での手順を繰 り 返 し ます。 2 番目の変数デー タ デ ィ レ ク ト リ に対する構文の例 $ export SP_SYS_VARDIR=/splex/vardir/splex2200 (ksh シ ェ ル) ま たは $ setenv SP_SYS_VARDIR /splex/vardir/splex2200 (csh シ ェ ル) $ /splex/proddir/bin/sp_cop -u2200 & $ ./sp_ctrl sp_ctrl(sysA)> port 2200 注 : 場合によ っ ては、 以下のよ う なエ ラ ー メ ッ セージが表示 さ れます。 Error cleaning up previous shared memory segment ###. Cannot delete because there are users attached. Check if SharePlex processes are running and kill them if necessary. その場合は、 別のユーザーが こ のポー ト 番号 と 変数デー タ デ ィ レ ク ト リ を使用 し て sp_cop セ ッ シ ョ ン を開始 し ていないか確認 し て く だ さ い。 そのセ ッ シ ョ ンに関連する プ ロ セス を kill し 、 改めて sp_cop を開始 し て く だ さ い。 Windows シ ス テムでの複数の SharePlex イ ン ス タ ン スの 実行 同一の Windows マシ ン上で複数の SharePlex イ ン ス タ ン ス を実行す る には、 以 下が必要です。 • イ ン ス ト ールご と に異な る ポー ト 番号 と 変数デー タ デ ィ レ ク ト リ を使用 し て、 SharePlex サービ ス を複数回 イ ン ス ト ールす る • SharePlex サービ ス の各 イ ン ス タ ン ス を開始す る SharePlex を イ ン ス ト ールするには 1 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム に SharePlex を イ ン ス ト ール し ます。 章3 SharePlex プ ロ グ ラ ムの実行 49 OraSetup の実行 と 、 ユーザーの割 り 当て も 行い ます。 SharePlex ユーザーの 割 り 当ては、 シ ス テ ム ご と に 1 回行えば十分です。 2 作成す る SharePlex イ ン ス タ ン ス ご と に イ ン ス ト ール手順を繰 り 返 し ます。 上 と 同 じ 製品デ ィ レ ク ト リ を使用 し ますが、 以下の点が異な り ます。 A 作成中の SharePlex イ ン ス タ ン ス ご と に、 異な る 変数デー タ デ ィ レ ク ト リ と 、 異な る ポー ト 番号 (た と えば 2101) を使用す る イ ン ス ト ールプ ロ グ ラ ムは利用可能なポー ト を検出 し ますが、 必要に応 じ て別のポー ト を優先す る こ と も で き ます。 B ラ イ セ ン ス キーの入力を求め ら れた場合は、 その イ ン ス ト ール用のポー ト 番号を ド ロ ッ プダ ウ ン リ ス ト か ら 選択 し 、 ラ イ セ ン ス キーを入力 し ま す。 イ ン ス ト ールす る ど の イ ン ス タ ン ス について も 、 同 じ ラ イ セ ン ス キーを使用 し て く だ さ い。 C OraSetup を実行す る と き は、 その イ ン ス ト ールに使用 し たポー ト 番号 を使用 し 、 作成 し てい る SharePlex イ ン ス タ ン ス用の ORACLE_SID を指 定 し ます。 SharePlex ユーザーご と に異な る 名前を使用 し て く だ さ い。 sp_cop イ ン ス タ ン ス を開始および制御するには 複数の SharePlex イ ン ス タ ン ス を実行す る には、 変数デー タ デ ィ レ ク ト リ ご と に SharePlex お よ び sp_ctrl セ ッ シ ョ ン を開始 し ます。 イ ン ス タ ン ス はすべて、 SpUtils ユーテ ィ リ テ ィ の 1 つの [SharePlex Services] ダ イ ア ロ グ ボ ッ ク ス か ら 制御 さ れ ます。 次の ス テ ッ プ を実行 し ます。 1 Windows に SharePlex Administrator と し て ロ グオ ン し ます。 2 [SpUtils] デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し て [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス を開 き ます。 3 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 50 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 [Port] リ ス ト ボ ッ ク ス で、 開始す る SharePlex の イ ン ス タ ン ス のためのポー ト 番号を選択 し ます。 5 [SharePlex Service Status] で、 [Start] を ク リ ッ ク し ます。 6 [Current State] テ キ ス ト ボ ッ ク ス にサービ ス が開始 さ れた こ と が表示 さ れ た ら 、 他の SharePlex イ ン ス タ ン ス を開始で き ます。 7 [Close] を ク リ ッ ク し て、 ダ イ ア ロ グ を閉 じ ます。 8 [Sp_Ctrl] デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク す る か、 SharePlex 製品デ ィ レ ク ト リ 内の格納場所ま で移動 し て、 SharePlex イ ン ス タ ン ス ご と に Sp_Ctrl セ ッ シ ョ ン を実行 し ます。 9 Sp_Ctrl では、 port コ マ ン ド を使用 し て、 処理す る SharePlex サービ ス のポー ト 番号を指定 し て く だ さ い。 sp_ctrl> port 2101 章3 SharePlex プ ロ グ ラ ムの実行 51 異な るバージ ョ ンの SharePlex の同時実行 異な る バージ ョ ンの SharePlex を同一シ ス テ ム上で実行す る のは、 以下の よ う な場合です。 • 両方のバージ ョ ン について、 同 じ ソ ースデー タ ベース を同 じ タ ーゲ ッ ト デー タ ベース に複製す る • 異な る ソ ースデー タ ベース (Oracle のバージ ョ ンは問わず) を異な る タ ー ゲ ッ ト デー タ ベース に複製す る • 新 し いバージ ョ ン の SharePlex を テ ス ト す る • 異な る バージ ョ ンの SharePlex を実行 し てい る タ ーゲ ッ ト シ ス テ ム に複製す る こ の手順では、 自律的な複製 イ ン ス タ ン ス が作成 さ れ ます。 各 イ ン ス タ ン ス の 開始、 制御、 保守は個別に行われ、 相互のや り 取 り は発生 し ません。 SharePlex 5.0 は、 SharePlex バージ ョ ン 4.0 ま たは 4.5 を実行 し てい る ソ ース シ ス テ ムか ら 、 バージ ョ ン 5.0 を実行 し てい る タ ーゲ ッ ト シ ス テ ムへの複製を サ ポー ト し ます。 バージ ョ ン 5.0 が イ ン ス ト ール さ れた タ ーゲ ッ ト シ ス テ ムは、 タ ーゲ ッ ト シ ス テ ム専用に使用 し て く だ さ い。 つま り 、 こ れを並行 し て他の設 定の ソ ース シ ス テ ムに使用す る こ と はで き ません。 SharePlex バージ ョ ン 5.0 か ら バージ ョ ン 4.0 お よ び 4.5 への複製はサポー ト さ れてい ません。 他のバージ ョ ン については、 ソ ース と タ ーゲ ッ ト のバージ ョ ンは同一でなけれ ばな り ません。 UNIX シス テムでの異な る SharePlex バージ ョ ンの実行 注 : これらの手順では、 例と し て Version A および Version B を使用し ています。 この手順 は、 並行し て実行する必要のある任意の 2 つの SharePlex バージ ョ ンに応用で き ます。 SharePlex の並行バージ ョ ンのイ ン ス ト ール 1 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 に記載 さ れて い る イ ン ス ト ール前の要件を、 すべて再確認 し ます。 SharePlex 製品デ ィ レ ク ト リ と 変数デー タ デ ィ レ ク ト リ を選択す る よ う に求め ら れた場合は、 52 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Version A に 1 組選び、 Version B には別の組を選びます。 た と えば、 論理的 な命名規則は次の よ う にな り ます。 Version A Version B /splex/VerA/prod_dirA /splex/VerB/prod_dirB /splex/VerA/var_dirA /splex/VerB/var_dirB 2 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従 い、 こ のバージ ョ ン用に指定 し た SharePlex 製品デ ィ レ ク ト リ と 変数デー タ デ ィ レ ク ト リ を使用 し て、 Version A を イ ン ス ト ール し ます。 こ の時点では ま だ ora_setup は実行 し ないで く だ さ い。 3 こ のバージ ョ ン用に指定 し た製品デ ィ レ ク ト リ と 変数デー タ デ ィ レ ク ト リ を使用 し て、 Version B を イ ン ス ト ール し ます。 こ の時点では ま だ ora_setup は実行 し ないで く だ さ い。 4 SP_SYS_VARDIR 用に、 Version A の変数デー タ デ ィ レ ク ト リ を Export し ま す。 Version A の bin デ ィ レ ク ト リ に移動 し 、 『SharePlex イ ン ス ト ールお よ び デモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て ora_setup を実行 し ます。 ora_setup ス ク リ プ ト のプ ロ ン プ ト が表示 さ れた ら 、 以下を実行 し て く だ さ い。 • Version A に関連付け ら れたデー タ ベース用の SID を入力 し ます。 • SYSTEM ア カ ウ ン ト 用のパ ス ワ ー ド を入力 し ます。 • こ の SharePlex イ ン ス タ ン ス用の SharePlex ユーザーを、 た と えば splexA の よ う に入力 し ます。 • SharePlex 用の表領域、 一時表領域、 イ ンデ ッ ク ス表領域を入力 し ます。 5 SP_SYS_VARDIR 用に、 Version B の変数デー タ デ ィ レ ク ト リ を Export し ま す。 Version B の bin デ ィ レ ク ト リ に移動 し 、 『SharePlex イ ン ス ト ールお よ び デモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て ora_setup を実行 し ます。 ora_setup ス ク リ プ ト のプ ロ ン プ ト が表示 さ れた ら 、 以下を実行 し て く だ さ い。 • Version B に関連付け ら れたデー タ ベース用の SID を入力 し ます。 • SYSTEM ア カ ウ ン ト 用のパ ス ワ ー ド を入力 し ます。 • こ の SharePlex イ ン ス タ ン ス用の SharePlex ユーザーを、 た と えば splexB の よ う に入力 し ます。 章3 SharePlex プ ロ グ ラ ムの実行 53 • SharePlex 用の表領域、 一時表領域、 イ ンデ ッ ク ス表領域を入力 し ます。 6 ま だ割 り 当て ていない場合は、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て、 SharePlex を操作お よ び閲覧す る ユー ザーを割 り 当て ます。 SharePlex の並行バージ ョ ン用のポー ト を設定 し ます。 実行 し てい る SharePlex バージ ョ ンには、 それぞれポー ト 番号を割 り 当て る 必 要があ り ます。 こ の番号は、 他の SharePlex パ ラ メ ー タ と 一緒に、 変数デー タ デ ィ レ ク ト リ の paramdb に格納 さ れます。 1 Version A の イ ン ス ト ール用に、 以下の SharePlex シ ス テ ム環境変数を Export し ます。 ksh シ ェ ルの場合 : export SP_COP_TPORT=Version A 用のポー ト 番号 export SP_COP_UPORT=SP_COP_TPORT と 同 じ ポー ト 番号 export SP_SYS_VARDIR=Version A 変数デー タ デ ィ レ ク ト リ の完全パス名 csh シ ェ ルの場合 : setenv SP_COP_TPORT Version A 用のポー ト 番号 setenv SP_COP_UPORT SP_COP_TPORT と 同 じ ポー ト 番号 setenv SP_SYS_VARDIR Version A 変数デー タ デ ィ レ ク ト リ の完全パス名 2 Version A 用に作成 し た製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら 、 Version A 用の sp_cop を開始 し ます。 こ の sp_cop を SharePlex Version B に 対 し て起動す る も の と 区別す る ために、 -uname オプシ ョ ン を使用 し て く だ さ い。 $ /splex/VerA/prod_dirA/bin/sp_cop -uVerA & ヒ ン ト : name 変数には、 バージ ョ ン番号 (-uVerA) やポー ト 番号 (-u2100) な ど、 こ の sp_cop イ ン ス タ ン スに固有の値を使用 し て く だ さ い。 3 Version A に対 し て sp_ctrl を実行 し ます。 $ /splex/VerA/prod_dirA/bin/sp_ctrl 54 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 以下の SharePlex パ ラ メ ー タ 用に、 set param コ マ ン ド を発行 し ます。 sp_ctrl(sysA)> set param SP_COP_TPORT Version A 用のポー ト 番号 sp_ctrl(sysA)> set param SP_COP_UPORT Version A 用のポー ト 番号 5 パ ラ メ ー タ の変更を有効にす る ため、 sp_cop を シ ャ ッ ト ダ ウ ン し てか ら 再 起動 し ます。 sp_ctrl(sysA)> shutdown $ /splex/VerA/prod_dirA/bin/sp_cop -uVerA & 6 Version B について、 ス テ ッ プ 1 か ら 5 を別の変数を使用 し て繰 り 返 し ます。 SharePlex の並行バージ ョ ンの実行 SharePlex を イ ン ス ト ールす る と 、 defaults.yaml フ ァ イ ルが /proddir/data/ デ ィ レ ク ト リ に作成 さ れ ます。 通常であれば、 SharePlex は sp_cop の起動時に こ の フ ァ イ ルを参照 し 、 変数デー タ デ ィ レ ク ト リ の場所を始め と す る 環境情報を取 得 し ます。 marker file には最後に イ ン ス ト ール さ れた、 1 つのバージ ョ ン の SharePlex に関す る 情報 し か保存 さ れていないため、 SharePlex のバージ ョ ン を 複数実行す る 場合は marker file は使用で き ません。 こ の代わ り に、 sp_cop の イ ン ス タ ン ス ご と に SP_SYS_VARDIR 環境変数を Export し て使用す る 必要が あ り ます。 1 Version A 用に、 SP_SYS_VARDIR 環境変数を Export し ます。 ksh シ ェ ルの場合 : export SP_SYS_VARDIR=Version A 変数デー タ デ ィ レ ク ト リ の完全パス名 csh シ ェ ルの場合 : setenv SP_SYS_VARDIR Version A 変数デー タ デ ィ レ ク ト リ の完全パス名 2 Version A 用に作成 し た製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら 、 Version A 用の sp_cop を開始 し ます。 こ の sp_cop を SharePlex Version B に 対 し て起動す る も の と 区別す る ために、 -uname オプシ ョ ン を使用 し て く だ さ い。 こ う す る こ と に よ り 、 ps -ef | grep sp_ コ マ ン ド を発行す る 際ま たは プ ロ セ ス を kill す る 際に、 それ ら を区別す る こ と がで き ます。 $ /splex/VerA/prod_dirA/bin/sp_cop -uVerA & 章3 SharePlex プ ロ グ ラ ムの実行 55 3 Version B について、 ス テ ッ プ 1 お よ び 2 を繰 り 返 し ます。 2 つの SharePlex バージ ョ ン を実行する場合の注意事項 • Version A に対する コ マ ン ド を、 SharePlex の Version B のイ ン ス タ ン スに発行 し ない で く だ さ い。 同様に、 Version B に対する コ マ ン ド を、 SharePlex の Version A のイ ン ス タ ン スに発行 し ないで く だ さ い。 イ ン ス タ ン スは、 それぞれ個別に起動および制御 し て く だ さ い。 • イ ン ス ト ール し た各 SharePlex は、 個別に保守およびア ッ プグレー ド し て く だ さ い。 Windows システ ムでの異なる SharePlex バージョ ン の実行 SharePlex の並行バージ ョ ン を Windows シ ス テ ム で実行す る には、 2 つの異な る ソ フ ト ウ ェ アプ ロ グ ラ ム を イ ン ス ト ールす る 場合の よ う に、 2 つの異な る バージ ョ ン を、 異な る フ ォ ルダ ( デ ィ レ ク ト リ ) に、 異な る ポー ト 番号で イ ン ス ト ール し ます。 こ れに よ っ て、 2 つの独立 し た SharePlex サービ ス と 、 2 つの 独立 し た レ ジ ス ト リ エ ン ト リ が作成 さ れ ます。 こ れ ら のサービ ス は、 必要に応 じ て別々に、 ま たは同時に開始で き ます。 SpClient ユーテ ィ リ テ ィ の タ ス ク マネージ ャ では、 複数ポー ト での複製の実行 時で も SharePlex プ ロ セ ス を区別で き る よ う にな っ てい ます。 こ のユーテ ィ リ テ ィ の詳細は、 「SpClient リ モー ト ア ク セ ス ユーテ ィ リ テ ィ の使用」 (464 ペー ジ) を参照 し て く だ さ い。 Windows プ ラ ッ ト フ ォーム での SharePlex プ ロ セ ス の特定の詳細については、 「UNIX シ ス テ ム と Windows シ ス テ ム のプ ロ セ ス の 違い」 (26 ページ) を参照 し て く だ さ い。 56 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 SharePlex での複製の計画 SharePlex for Oracle の複製はユーザー介入を ほ と ん ど必要 と し ませんが、 実装 には緻密な計画 と 準備が必要です。 こ のプ ロ セ ス は、 こ の後続 く 章に渡っ て説 明 し ます。 複製を正 し く 確立す る ために も 、 こ の章か ら 順にお読み く だ さ い。 こ の章は情報が簡単に見つか る よ う に、 そ し て簡単に理解で き る よ う に分割 さ れてい ます。 初めの 2 つの部分は、 SharePlex でサポー ト し てい る 操作 と 複製 方法を紹介 し 、 最後の部分で実装前のシ ス テ ムお よ びデー タ の重要な問題に対 処 し ます。 こ の後の章では、 複製の確立 と 開始方法を説明 し ます。 目次 SharePlex で複製で き る操作 SharePlex の最良の処理 SharePlex の複製方法 レ ポー ト のイ ン ス タ ン ス を維持する ための複製 高可用性お よびデー タ リ カバ リ のための複製 デー タ 分散のための複製 分散処理 と 負荷バラ ン シ ン グのための複製 中間シ ス テムを使用 し た複製 集中化レ ポー ト のための複製 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 複製を始める前に 複製のためのシ ス テムの設定 58 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: SharePlex で複製で き る操作 こ のセ ク シ ョ ン では、 複製設定に ど のオブジ ェ ク ト を含み、 ど のオブジ ェ ク ト を除外す る か を判断す る 方法を説明 し ます。 SharePlex が複製する オブ ジ ェ ク ト 一般的に、 設定フ ァ イ ルに挙げ ら れたオブジ ェ ク ト に対す る 変更を SharePlex で複製 し ます。 こ の変更は、 任意の Oracle アプ リ ケーシ ョ ン で行われ る 可能 性があ り ます。 SharePlex が複製す る Oracle コ ン ポーネ ン ト の最新の リ ス ト については、 リ リ ース ノ ー ト の 「サポー ト す る 操作 と 非サポー ト の操作」 を参照 し て く だ さ い。 ご利用のバージ ョ ン の SharePlex リ リ ース ノ ー ト に表示 さ れていない コ ン ポーネ ン ト は、 SharePlex に よ り 複製 さ れない と みなす必要があ り ます。 重要! SharePlex のア ッ プグレー ド やパ ッ チ適用によ り 、 コ ンポーネ ン ト のサポー ト が追加 さ れます。 次の リ ス ト に優先するサポー ト および非サポー ト コ ンポーネ ン ト につ いては、 ご利用のバージ ョ ンの SharePlex に対応する最新のパ ッ チのお知ら せを参照 し て く だ さ い。 または、 Quest の営業担当者に連絡するか、 Quest Support Web サイ ト http://support.quest.com を参照 し て く だ さ い。 SharePlex が複製 し ないオブ ジ ェ ク ト SharePlex が複製し ない Oracle コ ン ポーネン ト の最新のリ ス ト については、 リ リ ー ス ノ ート の「 サポート する 操作と 非サポート の操作」 を 参照し てく ださ い。 ご 利用のバージョ ン の SharePlex リ リ ース ノ ート に表示さ れていないコ ン ポーネン ト は、 SharePlex によ り 複製さ れないと みなす必要があり ま す。 Oracle と SharePlex が継続し て変更およ び改善する ので、 除外の一覧は完全ではあり ま せん。 重要! SharePlex のア ッ プグレー ド やパ ッ チ適用によ り 、 コ ンポーネ ン ト のサポー ト が追加 さ れます。 次の リ ス ト に優先するサポー ト および非サポー ト コ ンポーネ ン ト につ いては、 ご利用のバージ ョ ンの SharePlex に対応する最新のパ ッ チのお知ら せを参照 し て く だ さ い。 または、 Quest の営業担当者に連絡するか、 Quest Support Web サイ ト http://support.quest.com を参照 し て く だ さ い。 章4 SharePlex での複製の計画 59 SharePlex の最良の処理 次の忠告は、 デー タ を複製す る と き の考慮事項です。 LOB、 VARRAY、 お よび XML の複製 • LOB を複製 し て、 Post プ ロ セ ス が ORA-00060 エ ラ ーを受け取っ た場合は、 Oracle か ら ト レース ロ グ を調べます。 次の ロ グが表示 さ れた場合 Deadlock graph: ---------Blocker(s)-------- ---------Waiter(s)--------Resource Name process session holds waits process session holds waits TX-0008002e-00002d1e 18 18 X 18 18 S session 18: DID 0001-0012-00000002session 18: DID 0001-0012-00000002 Rows waited on: Session 18: no row Information on the OTHER waiting sessions: End of information on OTHER waiting sessions. こ の場合は、 Oracle の問題が発生 し てい ます。 既知の回避策は、 こ のテー ブルに何 ら かのオプシ ョ ン をつけて ALTER TABLE コ マ ン ド を発行 し Post プ ロ セ ス を再起動す る こ と です。 TAR 番号は 3661187.994 です。 • LOB 列のあ る 範囲パーテ ィ シ ョ ン化テーブルで非同期状態を回避す る には、 ソ ース テーブル と タ ーゲ ッ ト テーブルの両方に一意の イ ンデ ッ ク ス を作成 し 、 それ ら に イ ンデ ッ ク ス キー列の中の範囲列を含め ます。 • その後間 も な く 列を ド ロ ッ プす る か列を未使用に設定す る ために ALTER TABLE を発行す る つ も り であ る 場合は、 VARRAY 列ま たは抽象デー タ タ イ プ列を追加 し ないで く だ さ い。 サプ リ メ ン タ ルロギン グの変更 • 複製処理中は、 サプ リ メ ン タ ル ロ ギ ン グ を 「決 し てオ フ に し ない」 で く だ さ い。 オ フ にす る と 、 エ ラ ーが発生 し 、 テーブルが破壊 さ れ る こ と があ り ま す。 パ フ ォ ーマ ン ス上の考慮事項 • ビ ッ ト マ ッ プ イ ンデ ッ ク ス が タ ーゲ ッ ト シ ス テ ム で使用 さ れてい る と き は、 Post のパフ ォ ーマ ン ス に悪影響があ り ます。 パフ ォ ーマ ン ス のために も 、 Post プ ロ セ ス がデー タ を適用 し てい る 間は、 bitmap indices を使用 し ない こ と をお勧め し ます。 60 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 弊社では、 LinuxThread お よ び Linux 上の Native POSIX Threading Library (NPTL) を サポー ト し てい ますが、 SharePlex では NPTL を使用す る こ と を お勧め し ます。 LinuxThread は、 LD_ASSUME_KERNEL 環境変数を使用 し てプ ロ セ ス ご と に有効にで き ますが、 こ れを設定す る と パフ ォーマ ン ス に 影響があ り 、 個別の ス レ ッ ド がプ ロ セ ス リ ス ト 内のプ ロ セ ス と し て表示 さ れ ます。 NPTL は さ ら に速 く 、 他の UNIX OS と 同 じ よ う に動作 し ます。 LD_ASSUME_KERNEL が使用 さ れてい る 場合は、 2.4.21 の設定をお勧め し ます。 パーテ ィ シ ョ ン化お よびサブパーテ ィ シ ョ ン化テーブルの複製 • LOB 列のあ る 範囲パーテ ィ シ ョ ン化テーブルで非同期状態を回避す る には、 ソ ース テーブル と タ ーゲ ッ ト テーブルの両方に一意の イ ンデ ッ ク ス を作成 し 、 それ ら に イ ンデ ッ ク ス キー列の中の範囲列を含め ます。 DDL の複製 • カ ス ケー ド 設定で中間シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムに複製す る と き に ALTER TABLE を使用す る こ と はお勧め し ません。 • 主キーま たは一意の制約のあ る 列を追加す る ために ALTER TABLE 操作を 使用す る こ と は、 設定を再ア ク テ ィ ベー ト し ない限 り お勧め し ません。 • その後間 も な く 列を ド ロ ッ プす る か列を未使用に設定す る ために ALTER TABLE を発行す る つ も り であ る 場合は、 VARRAY 列ま たは抽象デー タ タ イ プ列を追加 し ないで く だ さ い。 • SharePlex は、 デー タ が列にあ る と き に、 char (2) か ら char (5) な ど の固定長 列のサ イ ズ を変更す る ALTER TABLE コ マ ン ド をサポー ト し てい ません。 こ の よ う な状況では、 Oracle は最初に各行に UPDATE を発行 し 、 ALTER TABLE コ マ ン ド を完了す る ために十分な領域があ る よ う に、 列に スペース を追加 し ます。 た と えば UPDATE tableA set value (col1 = 'ro ') where col1 = 'ro'... Shareplex は UPDATE を複製 し ます。 次に Oracle が ALTER TABLE コ マ ン ド を発行 し て、 列のサ イ ズ を変更 し 、 SharePlex がそれを複製 し ます。 Post は、 UPDATE メ ッ セージ を受信 し た と き には、 ま だ ALTER TABLE メ ッ セージ を受信 し てい ません。 こ のために、 タ ーゲ ッ ト 列は、 UPDATE か ら の追加スペース を格納す る ために正 し いサ イ ズにな っ てい ません。 こ れが、 Post が posting を停止 し て Event Log へエ ラ ーを記録す る 原因 と な り ます (ORA-01401: inserted value too large for column). • テーブルにデー タ があ る と き に列にデフ ォ ル ト 値を設定す る ために ALTER TABLE を実行 し た と き は、 SharePlex はテーブルの中の各レ コ ー ド について 1 つの メ ッ セージ を タ ーゲ ッ ト マシ ン に送信 し ます。 非常に大 き なテーブル の場合は、 DDL ト ラ ンザ ク シ ョ ンの一部 と し て Oracle が redo ロ グに多数の UPDATE を配置す る ために、 こ れに よ り 複製が大幅に Oracle よ り 遅れ る こ と があ り ます。 章4 SharePlex での複製の計画 61 ダ イ レ ク ト パスに よ る ロー ド の複製 • テーブル当た り 1 つの ロ ー ド だけが存在す る と き (PARALLEL=FALSE) は ダ イ レ ク ト パ ス に よ る ロ ー ド (SQL*Loader) を使用 し ます。 デー タ ベース がアーカ イ ブモー ド にな っ てい る 場合は、 異な る テーブルへの同時 ロ ー ド がサポー ト さ れてい ます。 NCHAR お よび NVARCHAR2 デー タ タ イ プの複製 • Linux お よ び Windows の場合、 AL16TUF16 文字セ ッ ト でデー タ タ イ プ NCHAR お よ び NVARCHAR2 を複製 し ます。 • NCHAR 列への 2000 バ イ ト を超え る デー タ 更新を伴 う 複製の場合、 複数バ イ ト 文字セ ッ ト を考慮す る 必要があ り ます。 た と えば、 NCHAR(2000) お よ び 2 バ イ ト の文字セ ッ ト を持つテーブルの場合、 4000 バ イ ト が必要にな り 、 2000 バ イ ト の列制限を超え て し ま い ます。 character set の複製 SharePlex は次のキ ャ ラ ク タ セ ッ ト を サポー ト し てい ます。 • • • • • • US7ASCII WE8ISO8859P1 UTF8 AL32UTF8 AL16UTF16 KO16KSC5601 ( こ のキ ャ ラ ク タ セ ッ ト を使用す る 際の制約については、 3 番目の黒丸を参照) SharePlex の動作は、 Compare/Repair を含めて、 上の リ ス ト で明記 さ れていない キ ャ ラ ク タ セ ッ ト については定義 さ れてい ません。 次の点に注意 し て く だ さ い。 • 同一のキ ャ ラ ク タ セ ッ ト 間の複製はサポー ト さ れてい ます。 • 次の条件に従 う こ と で、 異な る キ ャ ラ ク タ セ ッ ト 間の複製がサポー ト さ れ てい ます。 -- ソ ース キ ャ ラ ク タ セ ッ ト が タ ーゲ ッ ト キ ャ ラ ク タ セ ッ ト のサブセ ッ ト で ある こ と。 -- 複製 さ れ る すべてのデー タ が 「両方の」 キ ャ ラ ク タ セ ッ ト で有効な文字で ある こ と。 62 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • KO16KSC5601 ソ ース か ら の複製は、 KO16KSC5601 タ ーゲ ッ ト 「のみ」 で サポー ト さ れ ます。 • 0-127 の範囲外の文字で表 さ れ る 所有者名、 テーブル名、 列名は、 サポー ト さ れ ません。 • 2 つの異な る キ ャ ラ ク タ セ ッ ト 間で複製す る 場合は、 最初に ソ ースデー タ ベース に対 し て Oracle csscan ユーテ ィ リ テ ィ を実行 し 、 タ ーゲ ッ ト デー タ ベース の CHAR お よ び NCHAR キ ャ ラ ク タ セ ッ ト を指定 し ます。 ユーテ ィ リ テ ィ の実行で問題が発生 し た場合は、 Quest テ ク ニ カルサポー ト に連絡 し て く だ さ い。 キ ャ ラ ク タ セ ッ ト に関す る 他の問題については、 こ の章の後にあ る 「キ ャ ラ ク タ セ ッ ト 」 の節を参照 し て く だ さ い。 他の考慮事項 • あ る 水平パーテ ィ シ ョ ン か ら 別のパーテ ィ シ ョ ンへのデー タ 切 り 替えが発 生す る 可能性があ る 列条件内の列を更新す る 場合、 SP_ORD_HP_IN_SYNC に 1 を、 SP_ORD_FIRST_FIND に 0 を設定す る 必要があ り ます。 こ れ ら の 個別のパ ラ メ ー タ の詳細は、 『SharePlex for Oracle リ フ ァ レ ン ス ガ イ ド 』 を 参照 し て く だ さ い。 • 制約が target テーブルで DEFERRED さ れ、 ト ラ ンザ ク シ ョ ン が非同期に な っ た場合は、 Post プ ロ セ ス は制約検証で失敗す る こ と があ り ます。 こ の 問題を回避す る には、 SP_OPO_DISABLE_OBJNUM パ ラ メ ー タ を有効に し て、 Post プ ロ セ ス を失敗 さ せずに ト ラ ンザ ク シ ョ ンが処理で き る よ う に し ます。 再同期す る ま で、 基底にあ る タ ーゲ ッ ト テーブルは非同期の ま ま に な り ます。 • SharePlex は、 ソ ース オブジ ェ ク ト の ス ト レージパ ラ メ ー タ を、 ALTER TABLE コ マ ン ド で変更 さ れたのがその中の一部であ っ て も 、 すべて複製 し ます。 ソ ースお よ び タ ーゲ ッ ト のオブジ ェ ク ト が同 じ ス ト レージパ ラ メ ー タ で作成 さ れていない場合は、 次の 2 つの状態のいずれかが発生す る こ と があ り ます。 タ ーゲ ッ ト テーブルが ソ ース テーブルのパ ラ メ ー タ を引 き 受 け る か、 その DDL を Oracle がサポー ト し ていない場合は、 Oracle のエ ラ ー が生成 さ れ る かのいずれかです。 た と えば、MAXEXTENTS 525 お よ び MINEXTENTS 20 の source テーブル と MAXEXTENTS 505 お よ び MINEXTENTS 4 の タ ーゲ ッ ト テーブルを想定 し ます。 source オブジ ェ ク ト の MAXEXTENTS が unlimited に変更 さ れた場合 は、 SharePlex は変更 さ れた MAXEXTENTS と 20 か ら 変更 さ れていない MINEXTENTS の両方を複製 し ます。 MINEXTENTS は現在割 り 当て ら れて 章4 SharePlex での複製の計画 63 い る 範囲 よ り も 大 き く で き ないため、 こ れで Oracle エ ラ ーの 01570 が発生 し ます。 ま た、 ソ ース で MINEXTENTS が 1 に変更 さ れたが、 MAXEXTENTS が変更 さ れない場合は、 SharePlex が両方を複製 し 、 タ ー ゲ ッ ト パ ラ メ ー タ が MAXEXTENTS 525 と MINEXTENTS 1 にな り ます。 • イ ン ス ト ール処理では、 ORACLE_HOME を指定す る 必要があ り ます。 SharePlex では、 Oracle 共有 ラ イ ブ ラ リ の検索に ORACLE_HOME が使用 さ れ ます。 複数の Oracle のマ イ ナー/パ ッ チ リ リ ース バージ ョ ンが同 じ サー バーに イ ン ス ト ール さ れてい る 場合は、 SharePlex は Oracle の よ り 低いマ イ ナー/パ ッ チ リ リ ース バージ ョ ンのバ イ ナ リ お よ び ラ イ ブ ラ リ に リ ン ク す る 必要があ り ます。 64 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 2 : SharePlex の複製方法 設定を作成 し 複製を開始す る 前に、 SharePlex for Oracle を ど の よ う に使 う か を 決定す る 必要があ り ます。 SharePlex は レ ポー ト 、 高可用性、 デー タ 分散、 障 害回復におけ る 優れた柔軟性を提供 し ます。 高可用性を目的にデー タ ベース全 体のデー タ を複製す る こ と も で き れば、 た と えば選択 さ れたテーブル ま たは選 択 さ れた行お よ び列な ど、 レ ポー ト やデー タ 分散に必要なだけのデー タ ベース のサブセ ッ ト を複製す る こ と も で き ます。 こ のセ ク シ ョ ン では、 次の SharePlex の複製方法を紹介 し 、 ど の方法 (組み合 わせ も 可能) が ビ ジネ ス環境に最 も 適 し てい る か を決定 し ます。 その後、 第 5 章 で選択 し た方法の環境確立について、 詳細を説明 し ます。 一目でわかる SharePlex の複製方法 • • • • • • • レ ポー ト の イ ン ス タ ン ス を維持す る ための複製 高可用性お よ びデー タ リ カバ リ のための複製 デー タ 分散のための複製 分散処理 と 負荷バ ラ ン シ ン グのための複製 中間シ ス テ ム を使用 し た複製 集中化レ ポー ト のための複製 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 章4 SharePlex での複製の計画 65 レポー ト のイ ン ス タ ン ス を維持する ための複製 scott.emp bill.emp 1 つのシ ス テムから 別シ ス テムへ 最 も 一般的な複製方法は単方向複製で、 ソ ース マシ ン か ら タ ーゲ ッ ト マシ ン に 複製を行い、 レ ポー ト と ク エ リ 処理をの負荷を分散 し ます。 こ れに よ り 、 オ ン ラ イ ン ト ラ ンザ ク シ ョ ン処理の妨げ と な る こ と な く 、 最新でア ク セ ス で き る セ カ ン ダ リ イ ン ス タ ン ス を維持す る こ と がで き ます。 プ ロ ダ ク シ ョ ンデー タ ベー ス はオ ン ラ イ ン処理用に最適化 し た状態に残 し 、 セ カ ン ダ リ イ ン ス タ ン ス を ユーザー固有のニーズ を満たすために最適化す る こ と がで き ます。 レ ポー ト 環境では、 オーナー と 該当す る ソ ースお よ び タ ーゲ ッ ト テーブルの名 前が一致 し なければなければな り ません。 レ ポー ト イ ン ス タ ン ス はプ ロ ダ ク シ ョ ンデー タ ベース内のすべてのテーブル、 ま たはプ ロ ダ ク シ ョ ン テーブルの サブセ ッ ト のみを含む こ と がで き ます。 複製は、 テーブルへの変更すべて を複 製 し た り 、 ま たは選択 さ れた列ま たは行への変更のみを複製す る こ と で レ ポー ト に必要なデー タ のみを流布 し た り す る こ と も で き ます。 複数の レ ポー ト サ イ ト では、 レ コ ー ド への変更を その レ コ ー ド を使用す る ロ ケーシ ョ ンのみに排他的にルー ト す る 追加オプシ ョ ンがあ り ます。 こ れに よ り 、 すべてのユーザーに対 し て無意味ま たは不適切なデー タ を全 ロ ケーシ ョ ン で保持す る 必要がな く な り ます。 66 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 同一シス テム上の複製 (UNIX のみ) UNIX シ ス テ ム では、 設定フ ァ イ ルで ロ ーカルシ ス テ ム を複製先シ ス テ ム と し て指定す る こ と で、 デー タ を同一 シ ス テ ム内の代替 ロ ケーシ ョ ン に複製す る こ と がで き ま す。 こ の方法ではネ ッ ト ワー ク が使用 さ れていないた め、 Export お よ び Import プ ロ セ ス はあ り ません。 Read プ ロ セ ス はデー タ を シ ス テ ムの post queue に直接置 き ま す。 jim.emp jim.salary 1 つの Oracle イ ン ス タ ン ス内で、 同 じ ス キーマ内の別テーブルに複製す る か、 別ス キーマの同 じ テーブルに複製す る こ と がで き ます。 あ る いは、 プ ラ イ マ リ イ ン ス タ ン ス の I/O リ ソ ース を使用す る こ と な く 、 ユーザーが レ ポー ト にア ク セ ス で き る 別 イ ン ス タ ン ス に複製す る こ と も で き ます。 レ ポー ト では、 ソ ース と タ ーゲ ッ ト オーナーお よ びテーブルの名前が一致す る 必要はあ り ません。 Windows プ ラ ッ ト フ ォ ーム上では、 SharePlex は同 じ シ ス テ ム上に存在す る デー タ ベース間の複製をサポー ト し ません。 デー タ ベース は、 異な る Oracle バージ ョ ン の別シ ス テ ム にあ る 必要があ り ます。 章4 SharePlex での複製の計画 67 高可用性およびデー タ リ カバ リ のための複製 scott.emp scott.emp SharePlex では LAN お よ び WAN 接続を通 し て複製す る よ う に設定で き 、 2 つ 目の Oracle イ ン ス タ ン ス を常に更新す る こ と で、 ソ ース シ ス テ ム の メ ン テナ ン ス が予定 さ れてい る 際ま たは障害が発生 し た際にプ ロ ダ ク シ ョ ン イ ン ス タ ン ス の代行に使 う 準備がで き てい る 状態に保つ こ と がで き ます。 定期的に物理的 リ フ レ ッ シ ュ を使っ てデー タ ベース構造への変更を更新 し 、 SharePlex では デー タ への変更を複製 し ます。 こ の方法では、 代替 イ ン ス タ ン ス はプ ロ ダ ク シ ョ ン環境の ミ ラ ー イ メ ージであ り 、 すべてのオブジ ェ ク ト が全体 と し て両方のシ ス テ ム に存在 し ます。 こ の方 法を効率化す る には、 すべてのセ カ ン ダ リ オブジ ェ ク ト のオーナーお よ び名前 が、 プ ラ イ マ リ シ ス テ ム上の ソ ース オブジ ェ ク ト と 同 じ であ る 必要があ り ま す。 高可用性の方法では、 双方向複製が使用 さ れ ます。 SharePlex は通常の動作中 にセ カ ン ダ リ シ ス テ ム に複製 し ますが、 プ ラ イ マ リ シ ス テ ムがオ フ ラ イ ン で ユーザーがセ カ ン ダ リ シ ス テ ムに移転 さ れた場合は、 SharePlex はそれ ら への 変更を キ ャ プチ ャ し 、 デー タ を セ カ ン ダ リ シ ス テ ム上にキ ュ ー し ます。 プ ラ イ マ リ シ ス テ ムが回復 さ れた と き 、 SharePlex は こ れ ら の変更で更新 し ます。 も し ソ ース と タ ーゲ ッ ト イ ン ス タ ン ス が同一であ る 場合は、 高可用性の イ ン ス タ ン ス を使用 し て レ ポー ト す る こ と がで き る 可能性があ り ます。 こ れは H/A テーブル と レ ポー ト テーブル間で競合があ る ため、 い く つかの ERP アプ リ ケーシ ョ ン では可能ではあ り ません。 68 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 デー タ 分散のための複製 scott.prod scott.cust scott.prod scott.cust scott.prod scott.cust scott.prod scott.cust 多数の リ モー ト ユーザーが中央デー タ ベース を利用す る 必要があ る 場合、 SharePlex は問題を解決す る 手助け を し ます。 リ モー ト ユーザーがプ ロ ダ ク シ ョ ン シ ス テ ムに直接 ロ グ イ ン し て ク エ リ を実行す る (その結果シ ス テ ム に負 荷がかか り 、 オ ン ラ イ ン処理が遅 く な る ) のではな く 、 常時更新 さ れてい る 複 製デー タ ベース にア ク セ ス し 、 ロ ーカルで ク エ リ を実行 し ます。 こ れで、 よ り 速いア ク セ ス を得 る こ と がで き 、 ま た主デー タ ベース のユーザー も さ ら に効率 良 く 仕事をす る こ と がで き ます。 こ の方法では、 ソ ース と タ ーゲ ッ ト オブジ ェ ク ト のオーナーお よ び名前は、 同 じ で も 異な っ ていて も 構い ません。 上図は、 「ブ ロ ー ド キ ャ ス ト 」 複製を使用 し たデー タ 分散です。 章4 SharePlex での複製の計画 69 分散処理 と 負荷バラ ン シ ン グのための複製 scott.emp scott.prod scott.cust jane.emp jane.prod jane.cust joe.cust mary.emp SharePlex では複数の タ ーゲ ッ ト シ ス テ ム に同時複製す る こ と がで き る ため、 重要でない処理の負荷を セ カ ン ダ リ シ ス テ ムに移す こ と で生産性の向上に使用 で き ます。 こ の方法は 「ブ ロ ー ド キ ャ ス ト 」 複製を使用 し 、 デー タ を レ ポー ト やその他の処理のために複数の リ モー ト ロ ケーシ ョ ンに送信す る な ど、 同 じ デー タ を各シ ス テ ムに配信す る ために使用で き ます。 ま た、 各シ ス テ ム に異 な っ たデー タ を送信す る こ と も で き ます。 こ れは、 複数のマシ ン の間で複製を 分割す る こ と で、 デー タ 負荷をバ ラ ン スす る こ と を目的 と し ます。 SharePlex で分散す る デー タ の量の制御には、 異な る レベルがあ り 、 テーブル へのすべての変更を複製 し た り 、 特定の列に対す る 変更のみを複製 し た り す る こ と がで き ます。 ま た、 ど の行への変更を ど の タ ーゲ ッ ト に複製す る か を制御 で き 、 ユーザーが必要なデー タ のみを特定す る こ と で、 無意味あ る いは不適切 なデー タ が反映 さ れない よ う にす る こ と がで き ます。 こ のシナ リ オでは、 ソ ース と タ ーゲ ッ ト オブジ ェ ク ト のオーナーお よ び名前 は、 同 じ で も 異な っ ていて も 構い ません。 70 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 中間シ ス テムを使用 し た複製 hq.price reg.price loc.price loc.price 多層の複製 「カ ス ケー ド レ プ リ ケーシ ョ ン」 を行 う と 、 ネ ッ ト ワ ー ク 費用や複 数 タ ーゲ ッ ト への複製に関連す る その他の問題を最小限に抑え る こ と がで き ま す。 次の場合に役立ち ます。 • 1 つま たは複数の タ ーゲ ッ ト シ ス テ ムが直接 ソ ース シ ス テ ム に接続 さ れてい ない。 • ソ ース シ ス テ ムに影響を及ぼすネ ッ ト ワー ク 活動ま たは経費を制限 し たい 場合 複数の タ ーゲ ッ ト シ ス テ ムに直接ブ ロ ー ド キ ャ ス ト す る 代わ り に、 複製 さ れた デー タ は中間シ ス テ ム (ま たは 「pass-through」 シ ス テ ム) を通 し て 1 つま た は複数の タ ーゲ ッ ト シ ス テ ムにルー ト さ れ ます。 複製 さ れたデー タ は中間シ ス テ ム のデー タ ベース に post す る か、 タ ーゲ ッ ト シ ス テ ム に直接転送す る こ と がで き ます。 た と えば、 ニ ュ ー ヨ ー ク ( ソ ース シ ス テ ム) か ら ロ ン ド ン (中間 シ ス テ ム) に、 そ し て ロ ン ド ン か ら パ リ と ロ ーマの事務所 ( タ ーゲ ッ ト シ ス テ ム) に複製が行われた場合が、 こ の方法の一例です。 カ ス ケー ド レ プ リ ケーシ ョ ン では異な る 種類の複製がサポー ト さ れてい ます。 た と えば、 デー タ 分散 (68 ページ と 69 ページ参照) と 高可用性 (67 ページ参 照) を組み合わせ、 一部の タ ーゲ ッ ト シ ス テ ム を レ ポー ト に使い、 別シ ス テ ム を高可用性に使 う こ と がで き ます。 中間シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムへの DDL 複製はサポー ト さ れてい ません。 こ れは、 ソ ース シ ス テ ム か ら 中間シ ス テ ム のみでサポー ト さ れてい ます。 章4 SharePlex での複製の計画 71 集中化レポー ト のための複製 sales.dat mfg.dat sales.dat cust.dat mfg.dat emp.dat cust.dat emp.dat SharePlex は 「異な る 」 シ ス テ ム か ら 「異な る 」 デー タ を単一シ ス テ ムに複製 す る よ う に設定で き 、 集中化レ ポー ト ベース を提供す る こ と がで き ます。 こ の方法を 「集約レ プ リ ケーシ ョ ン」 と 呼び、 デー タ ウ ェ アハ ウ ス ま たはデー タ マー ト 環境に理想的です。 集約レ プ リ ケーシ ョ ン の設定では、 該当す る ソ ース と タ ーゲ ッ ト のオブジ ェ ク ト は同 じ 、 あ る いは異な る オーナーお よ び名前を持つ こ と がで き ます。 すべて のテーブルあ る いは任意の一部のみを、 中央 タ ーゲ ッ ト シ ス テ ム に複製す る こ と がで き ます。 必要な場合は、 複製を テーブルで指定 し た列ま たは行、 ま たは その両方に制限 し 、 中央デー タ サ イ ト で入手可能にす る 情報を制御す る こ と が で き ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン オプシ ョ ン では更な る 汎用性が提供 さ れ、 複製 さ れたデー タ を中央デー タ ベースお よ びそのアプ リ ケーシ ョ ン の構造 と デザ イ ンに一致 さ せ る 処理がで き ます。 こ れ ら のオプシ ョ ンに よ っ て、 異な る ソ ース (人事部や業務部) か ら のデー タ を レ ポー ト 用の中央テーブルに混合す る こ と がで き ます。 SharePlex では中央 イ ン ス タ ン ス が継続的に更新 さ れ、 レ ポー ト や ク エ リ のためにエ ン タ ープ ラ イ ズ全体に渡っ て ア ク セ ス可能な状態に保ち ます。 72 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン sales.dat cust.dat mfg.dat emp.dat sales.dat cust.dat mfg.dat emp.dat sales.dat cust.dat mfg.dat emp.dat ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン では、 複数のデー タ ベース間で、 複数のユー ザーが同時に他のア ク テ ィ ブデー タ ベース内の同 じ デー タ に対 し て変更す る こ と がで き ます。 各シ ス テ ム上の SharePlex 設定に よ り ロ ーカルでの変更がすべ ての他シ ス テ ムに複製 さ れ、 すべてのデー タ ベース が同期状態に維持 さ れ ま す。 SharePlex を使っ た ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 一部のデー タ ベース サ イ ト がデー タ ベース、 シ ス テ ム、 ま たはネ ッ ト ワ ー ク の障害に よ っ て使用不可 と な っ た と き のために、 ミ ッ シ ョ ン ク リ テ ィ カルデー タ ベース の可用性を保守 す る ために使用で き ます。 ま た、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン方法は、 複数 のデー タ ベース情報へのア ク セ ス ポ イ ン ト を必要 と す る OLTP (Online Transaction Processing) アプ リ ケーシ ョ ン で使用 し 、 アプ リ ケーシ ョ ン負荷を 分散す る こ と で継続的な可用性を実現 し 、 さ ら に ロ ーカルでのデー タ ア ク セ ス を向上 し ます。 こ れ ら すべての状況において、 デー タ ベース は相互的な ミ ラ ー イ メ ージであ り 、 すべてのオブジ ェ ク ト が全体 と し て全シ ス テ ム に存在 し ま す。 た と えば、 電子商取引会社にて 3 つの異な る デー タ ベース が互いに複製 し てい る 場合、 こ れはピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の一例 と いえ ます。 ユーザーが Web ブ ラ ウ ザを使用 し て アプ リ ケーシ ョ ン を ア ク セ ス し た と き 、 Web サーバー は こ れ ら のデー タ ベース のいずれかに総当 り で順に接続 し ます。 も し その う ち 章4 SharePlex での複製の計画 73 1 つのデー タ ベース が使用不可の場合、 サーバーは次の使用可能なデー タ ベー ス サーバーに接続 し ます。 し たが っ て、 こ の設定はフ ェ イ ルオーバーだけでな く 、 複製ス キーム内のすべての ピ アの間で、 均一に負荷を分散す る 手段 と し て も 役立ち ます。 業務レ ポー ト を製作す る 必要があ る 場合は、 リ ス ナーでデー タ ベース名を無効にす る か Web サーバーを再設定す る こ と で、 1 つのデー タ ベー スへのア ク セ ス を一時的に停止す る こ と がで き ます。 そのデー タ ベース を レ ポー ト に使用す る こ と がで き ます。 レ ポー ト が完了 し た と き 、 ユーザーア ク セ ス を再確立す る こ と がで き ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 すべての複製環境に適 し てい ません。 デー タ ベースデザ イ ンに対す る 大規模な コ ミ ッ ト メ ン ト を要す る ので、 パ ッ ケージ アプ リ ケーシ ョ ン を使用 し てい る 場合は、 実用的でない可能性があ り ます。 ま た、 複数のユーザーが同時あ る いは、 ほぼ同時に同 じ デー タ を変更 し た場合、 SharePlex で ど の ト ラ ンザ ク シ ョ ン を受け入れ タ ーゲ ッ ト デー タ ベース に post す る のか を優先付け る 、 conflict resolution ルーチン が必要です。 74 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 3 : 複製を始める前に SharePlex はシ ス テ ム、 イ ン ス タ ン ス、 デー タ が最適化 さ れ、 正常に準備 さ れ た と き に最 も 効果があ り ます。 こ のセ ク シ ョ ン では、 複製に影響を及ぼす問題 を取 り 上げ ます。 複製が実行 し 始めた ら 、 こ のマニ ュ アルや 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 の ト ラ ブルシ ュ ーテ ィ ン グについてのセ ク シ ョ ン に記 載 さ れた ア ド バ イ ス をお読みにな り 、 必要に応 じ てデー タ ベース と 環境へ追加 調整を行っ て く だ さ い。 同期の理解 ソ ース と タ ーゲ ッ ト デー タ が必ず同期 さ れた状態に維持 さ れ る よ う にデー タ ベース と シ ス テ ム を設定す る こ と は重要です。 非同期の状態の解決は時間がか か り 、 ユーザー活動に も 悪影響を及ぼ し ます。 同期 さ れた複製環境を確立 し 保 守す る には、 SharePlex が ど の よ う に複製 し 、 ど の よ う に非同期状態を識別す る のかについて、 基礎的な理解が必要です。 同期 さ れた ソ ースお よ び タ ーゲ ッ ト オブジ ェ ク ト の基本的な特性は、 次の と お り です (241 ページで説明 さ れてい る ト ラ ン ス フ ォ ー メ ーシ ョ ン機能が使われ ていない場合のみ)。 • 対応す る 列が同 じ 属性 と デー タ 型を持っ てい る 。 • 対応す る 行のデー タ の値が同一であ る 。 • ソ ースデー タ ベース に行が存在す る 場合は、 その行が タ ーゲ ッ ト デー タ ベース に も 存在す る 。 ただ し セ レ ク テ ィ ブ ロ ーレ プ リ ケーシ ョ ン が使用 さ れていない こ と を想定す る (「複製オプシ ョ ン」 (81 ページ) を参照)。 SharePlex は複製 さ れたデー タ を タ ーゲ ッ ト シ ス テ ムに post す る 前に、 デー タ が同期 さ れた環境に適用 さ れ る のか を確認 し ます。 デー タ の整合性を確認す る のは、 Post プ ロ セ ス の役目です。 次の イ ベン ト が Post プ ロ セ ス中に発生 し た 場合、 SharePlex は非同期エ ラ ーを返 し ます。 • ソ ース シ ス テ ム で INSERT が実行 さ れ、 SharePlex がそれを post し よ う と し た と き 行がすでに タ ーゲ ッ ト デー タ ベース に存在 し ていた場合、 非同期状 態が発生 し ます。 SharePlex は複製 さ れた行を タ ーゲ ッ ト デー タ ベース に追加す る ために INSERT 文を構築す る と き 、 行にあ る すべての列を使用 し ます。 も し 章4 SharePlex での複製の計画 75 SharePlex が タ ーゲ ッ ト テーブルに既に存在す る 行を挿入 し よ う と し た場合、 Oracle 一意キー違反エ ラ ーの原因 と な り ます。 INSERT は失敗 し 、 SharePlex が非同期エ ラ ーを返 し ます。 • ソ ース シ ス テ ム で UPDATE が実行 さ れ、 ソ ース シ ス テ ムの行が変更 さ れ る 「前の」 イ メ ージが タ ーゲ ッ ト 行 と 一致 し ない場合、 非同期状態が発生 し ま す。 SharePlex は タ ーゲ ッ ト デー タ ベース に適用す る UPDATE 文を構築す る と き 、 SharePlex キーを使っ て行を見つけ ます。 SharePlex キーには次のキーを 使用で き ます。 -- 主キー - テーブル内の各行を一意に識別で き る 値を持っ た、 1 つま たは 複数の フ ィ ール ド (列)。 主キーは NULL 値が許可 さ れ ません。 -- 一意のキー - Oracle テーブル内の各行を一意に識別す る ために使用 し ま す。 一意のキーの各値に対 し て、 1 行のみあ り ます。 -- ユーザー定義キー 同期を検証す る 更な る 手段 と し て、 SharePlex は更新 さ れた列の 「プ リ イ メ ージ (「前」 の値)」、 すなわち UPDATE 「前」 の値を含んだ WHERE 句を 構築 し ます。 も し プ リ イ メ ージ と キーが ソ ース と タ ーゲ ッ ト 行の間で一致 し た場合、 SharePlex は操作を post し ます。 も し プ リ イ メ ージが一致 し ない 場合、 あ る いは SharePlex キーを使用 し て行を見つけ る こ と がで き なか っ た 場合は、 SQL 文は失敗 し SharePlex が非同期エ ラ ーを返 し ます。 タ ーゲ ッ ト での SharePlex UPDATE 文の例 SQL> UPDATE scott.employee_source SET Salary = 32000 WHERE EmpNo = 3 AND Salary = 30000; (this is the amount before the salary value was updated to 32000.) • ソ ース シ ス テ ム で DELETE が実行 さ れ、 SharePlex が削除す る 行を タ ー ゲ ッ ト シ ス テ ムに見つけ る こ と がで き ない場合、 非同期状態が発生 し ます。 SharePlex が タ ーゲ ッ ト デー タ ベース か ら 行を削除す る ために DELETE 文を 構築す る と き 、 WHERE 句にあ る キーの値 「のみ」 を使用 し ます。 も し 、 行 がすでに削除 さ れたか、 キーの列が変更 さ れたために タ ーゲ ッ ト シ ス テ ム でキーが使用不可であ る 場合は、 SharePlex は行を見つけ る こ と がで き ませ ん。 DELETE 文は タ ーゲ ッ ト デー タ ベース上で失敗 し 、 SharePlex が非同期 エ ラ ーを返 し ます。 SharePlex が非同期エ ラ ーを返 し た と き 、 SharePlex は 「その時点」 で、 「その 行」 が非同期の状態にあ る と 判断 し ます。 こ れは、 こ のテーブル ま たは他の 76 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 テーブル内の行が何行、 タ ーゲ ッ ト デー タ ベース で非同期にな っ てい る か を示 す も のではあ り ません。 SharePlex は 1 行ずつ非同期の確認す る のではあ り ま せん (Post が許容で き ない レベルま で遅 く な っ て し ま う ため)。 SharePlex は SQL 文に よ っ て変更 さ れてい る 行のみを比較す る デザ イ ン と な っ てい る ため、 本章の条件がすべて満た さ れ る こ と が重要です。 ヒ ン ト : 複製を開始 し た後、 compare コ マ ン ド を使用 し て、 ソ ース と タ ーゲ ッ ト テー ブルを比較 し 同期を検証する こ と がで き ます。 詳細は、 『SharePlex Reference Manual』 の第 1 章を参照 し て く だ さ い。 複製のためにシ ス テム リ ソ ース を設定するには 複製の計画過程では、 複製処理中にシ ス テ ム リ ソ ース にかか る 負荷 も 考慮 し ま す。 SharePlex のための UNIX リ ソ ースの設定 SharePlex は、 そのサービ ス の強度を最大限に し 、 サービ ス が機能を独立 し て 実行で き る よ う に、 ほ と ん ど の UNIX ベース のオペレーテ ィ ン グ シ ス テ ム で提 供 さ れ る プ ロ セ ス間通信ツールを使用 し ます。 SharePlex は大抵のシ ス テ ム で 使用可能な 「SystemV」 ス タ イ ルのセマ フ ォ お よ び共有 メ モ リ ツールを使用 し ます。 SharePlex は BSD ま たは POSIX ス タ イ ルの共有 メ モ リ ま たはセマ フ ォ を 使用 し ません。 SharePlex は固有のキ ュ ーモジ ュ ールを使用 し ます。 そのため、 System V メ ッ セージ キ ュ ー、 POSIX メ ッ セージ ツール、 名前つ き パ イ プは使 用 し ません。 SharePlex で複製を開始す る 前に、 SharePlex の実装で必要な カーネル リ ソ ース を計算 し 、 該当す る リ ソ ース パ ラ メ ー タ を変更す る 必要があ り ます。 SharePlex ソ フ ト ウ ェ ア を サポー ト す る ために UNIX シ ス テ ム を設定す る には、 次の操作 を行 う 必要があ り ます。 1 2 3 4 シ ス テ ム リ ソ ース を計算 し ます。 それ ら の リ ソ ース を変更す る ために、 カーネルの設定を編集 し ます。 必要な場合はカーネルを再構築 し ます。 シ ス テ ム を再起動 し ます。 章4 SharePlex での複製の計画 77 注 : カ ーネル設定フ ァ イルでシ ス テムパラ メ ー タ を変更する と きは、 変更を有効にする ために カ ーネルの変更後にシ ス テムを再起動する必要がある可能性があ り ます。 共有 メ モ リ セグ メ ン ト リ ソ ース 共有 メ モ リ セ グ メ ン ト はキ ュ ーお よ び静的モジ ュ ールに よ っ て使用 さ れ、 すべ てのプ ロ セ ス が他プ ロ セ ス に よ っ て書 き 込ま れたデー タ を参照す る こ と を可能 に し ます。 キ ュ ーモジ ュ ールはユーザーアプ リ ケーシ ョ ンやデ ィ ス ク デー タ フ ァ イ ルか ら の、 ま たはそれ ら へのすべての転送に、 共有 メ モ リ を使用 し ます。 デー タ は チ ェ ッ ク ポ イ ン ト にてデ ィ ス ク に書 き 込まれます。 デー タ がデ ィ ス ク か ら 読み 込まれ る と き 、 処理 さ れ る 前に共有 メ モ リ へ転送 さ れ ます。 共有 メ モ リ セグ メ ン ト 数 SharePlex は起動時に、 キ ュ ーグ ロ ーバル領域 と SHS セ グ メ ン ト の、 最低 2 つ の共有 メ モ リ セグ メ ン ト を作成 し ます。 . 各キ ュ ーにつ き 、 も う 1 つ共有 メ モ リ セ グ メ ン ト が作成 さ れ ます。 各キ ュ ーの共有 メ モ リ セグ メ ン ト の作成は、 SharePlex の起動時ま たは設定を ア ク テ ィ ベー ト し た と き に動的に行われ ます。 シス テム 設定を サポート する ために使用可能な共有メ モリ 識別子の最大数を 指 定する 必要があり ま す。 共有メ モリ 識別子はシス テム 設定パラ メ ータ SHMMNI を 使用し て設定し ま す。 SHMMNI の最低設定値は 100 を お勧めし ま す。 共有 メ モ リ セグ メ ン ト のサイ ズ シ ス テ ム設定パ ラ メ ー タ SHMMAX は許容 さ れた共有 メ モ リ セ グ メ ン ト の最大 サ イ ズです。 SHMMAX の値は、 最大の SharePlex 共有 メ モ リ セグ メ ン ト に対 応す る ま で大 き く なければな り ません。 大抵の場合、 こ れはキ ュ ー情報セ グ メ ン ト と な り ます。 キ ュ ーのパフ ォ ーマ ン ス は、 SP_QUE_POST_SHMMAX と SP_QUE_Q_SHMMAX の 2 つのキ ュ ーパ ラ メ ー タ に割 り 当て ら れ る 共有 メ モ リ サ イ ズに関係 し ます。 シ ス テ ム設定パ ラ メ ー タ SHMMAX は こ の 2 つのキ ュ ー パ ラ メ ー タ の う ち大 き い方の値 よ り 大 き く なければな り ません。 SHMMAX の 最低設定値は 60 MB をお勧め し ます。 共有 メ モ リ セグ メ ン ト の場所 SharePlex はシ ス テ ムデフ ォ ル ト マ ッ ピ ン グ を使用 し て共有 メ モ リ を マ ッ プ し ます。 こ れはシ ス テ ム が、 共有 メ モ リ がマ ッ プ さ れ る ア ド レ ス を選択す る と い う 意味です。 デフ ォ ル ト マ ッ ピ ン グ ロ ケーシ ョ ン が十分に高 く 設定 さ れていな 78 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 い と 、 プ ラ イ ベー ト デー タ 領域を動的に拡張す る プ ロ グ ラ ムは問題に直面す る 場合があ り ます。 シ ス テ ム設定パ ラ メ ー タ SHMBRK を使用 し 、 プ ラ イ ベー ト と 共有のデー タ 領 域の間に距離を と り ます。 大抵のシ ス テ ム では、 パ ラ メ ー タ を 4 MB に設定す る こ と で十分です。 SHMBRK がページで表現 さ れてい る シ ス テ ム では、 バ イ ト 数をページサ イ ズで除算す る こ と でパ ラ メ ー タ 値を得 る こ と がで き ます。 共有 メ モ リ パ ラ メ ー タ 表 パラ メ ー タ 名 定義 SHMMNI 共有 メ モ リ 識別子の数 SHMMAX 共有 メ モ リ セグ メ ン ト の最大サイ ズ SHMBRK プ ラ イ ベー ト と 共有のデー タ 領域の間に距離を設定する 共有セマ フ ォ セグ メ ン ト リ ソ ース SharePlex は起動時に 2 つの共有セマ フ ォ セ グ メ ン ト を必要 と し ます。 シ ス テ ムの推奨設定は、 『 イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 共有セマ フ ォ セグ メ ン ト 数 設定パ ラ メ ー タ SEMMNI は、 シ ス テ ム内のセマ フ ォ設定識別子数です。 SEMMNI の値は、 シ ス テ ム で必要なセマ フ ォ の数に SharePlex イ ン ス タ ン ス数 の 2 倍を足 し た値です。 SharePlex イ ン ス タ ン ス 1 つに対する セマ フ ォの数 設定パ ラ メ ー タ SEMMNS は、 シ ス テ ム内の個別のセマ フ ォ 数です。 一般的に SharePlex イ ン ス タ ン ス が必要 と す る セマ フ ォ 数は、 SHS モジ ュ ールが必要 と す る セマ フ ォ 数に 3 を加え た値にな り ます。 デフ ォ ル ト ではキ ュ ーの数は 25 に設定 さ れてい る ため、 1 つの SharePlex イ ン ス タ ン ス について 28 個のセマ フ ォ があ る こ と にな り ます。 章4 SharePlex での複製の計画 79 プ ロ セス ご と のセマ フ ォの数 設定パ ラ メ ー タ SEMMSL は、 1 つのセマ フ ォ セ ッ ト 内に存在で き る 最大 System V セマ フ ォ 数です。 SharePlex の推奨設定は 128 です。 SharePlex イ ン ス タ ン ス 1 つに対する UNDO の数 設定パ ラ メ ー タ SEMMNU は、 シ ス テ ム上の任意の IPC セマ フ ォ で UNDO 操 作を保留中にで き る 最大プ ロ セ ス数です。 UNDO は SharePlex で信号ま たはそ の他の理由でセマ フ ォ を待っ てい る プ ロ セ ス が存在す る 場合、 セマ フ ォ のデ ッ ド ロ ッ ク を防 ぐ ために使用 さ れます。 SharePlex は 1 つのセマ フ ォ 操作に 1 つ の UNDO を使用 し ます。 SEMMNU のデフ ォ ル ト 設定は、 64 です。 プ ロ セス ご と の UNDO の数 設定パ ラ メ ー タ SEMUME は、 任意の時点で特定のプ ロ セ ス が UNDO 操作を保 留中にで き る 最大 IPC セマ フ ォ数です。 デフ ォ ル ト 設定は 64 です。 共有セマ フ ォ パラ メ ー タ 表 パラ メ ー タ 名 定義 SEMMNI シ ス テムに必要なセマ フ ォ セ ッ ト ID 数。 SEMMNS シ ス テム内の個別のセマ フ ォ数。 SEMMNU シ ス テム上の任意の IPC セマ フ ォ で UNDO 操作を保留中に で き る最大プ ロ セス数です。 SEMMSL 1 つのセマ フ ォ セ ッ ト 内に存在で き る最大 System V セマ フ ォ数。 SEMUME 任意の時点で特定のプ ロ セスが UNDO 操作を保留中にで き る最大 IPC セマ フ ォ数。 80 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 複製のためのデー タ ベースの設定 Oracle サプ リ メ ン タ ルロギング Oracle 9i では、 複製を支援す る デー タ を redo ロ グに書 き 込む よ う にデー タ ベース に指示で き ます。 rowid 情報お よ びキー列情報を redo ロ グに書 き 込むた めの コ マ ン ド を、 デー タ ベース レベルで発行で き ます。 SharePlex では、 最低限のサプ リ メ ン タ ル ロ ギ ン グ を設定す る 必要があ り ます。 こ う す る こ と に よ っ て、 rowid 情報が redo ロ グに記録 さ れ、 SharePlex が こ の情 報を管理す る 手間を省け ます。 ま た、 変更 さ れた各行のプ ラ イ マ リ キー列、 変更 さ れた各行の一意のキーの キー列、 ま たは両方を Oracle が ロ グに記録す る よ う にデー タ ベース を設定す る こ と も 可能です。 SharePlex は タ ーゲ ッ ト の変更を post す る 際に、 redo ロ グ に記録 さ れた キー情報を活用 し ます。 行更新のキー列が redo ロ グにない場合 は、 SharePlex がその情報をデー タ ベース か ら 取得す る 必要があ り ます。 ビ ジー状態のシ ス テ ム でデー タ がた ま る と 、 こ の余分な処理がパフ ォーマ ン ス に 悪影響を与え る 可能性があ り ます。 こ の よ う な理由か ら 、 プ ラ イ マ リ キーお よ び一意のキーの両方のサプ リ メ ン タ ル ロ ギ ン グ を有効にす る こ と をお勧め し ま す。 プ ラ イ マ リ キー と 一意のキーのサプ リ メ ン タ ル ロ ギ ン グ を有効に し てお り 、 テーブルにプ ラ イ マ リ キーがない場合、 ど のキーを ロ グに記録す る のか を Oracle が決定す る 必要があ り ます。 テーブルに一意のキーがあ る 場合、 Oracle は 「最良」 と 思われ る キーを判断 し 、 各更新時にそれ ら の列の値を ロ グに記録 し ます。 テーブルにキーがない場合は、 LONG ま たは LOB ではないすべての 列を ロ グに記録 し ます。 ま た SharePlex は、 デー タ の複製に使用す る キーを識別す る 必要があ り ます。 SharePlex は Oracle の よ う に、 プ ラ イ マ リ キー ( 存在す る 場合 )、 「最良」 ( ま た は唯一 ) と 判断 し た一意のキー ( 存在す る 場合 ) を使用 し ます。 ど ち ら も 存在 し ない場合は、 キーのすべてのキー列を使用 し ます。 SharePlex が複製 し てい る テーブルにプ ラ イ マ リ キーがな く 、 複数の一意のキーが存在 し てい る 場合、 Oracle が ロ グに記録 し た キー列が SharePlex が必要 と す る キー列ではない可能 性があ り ます。 注 : SharePlex のキー と Oracle がロ グに記録するキーに関する質問があ る場 合は、 http://support.quest.com の SupportLink を使用 し て Quest ま でお問い合 わせ く だ さ い。 章4 SharePlex での複製の計画 81 複製オプ シ ョ ン 複製方法を計画す る と き 、 複製す る ソ ースデー タ の量を考慮 し ます。 SharePlex ではい く つかのオプシ ョ ンがあ り ます。 SharePlex はテーブルのすべての列 と 行を複製で き ます。 こ れはフルテーブル レ プ リ ケーシ ョ ン と し て知 ら れます。 ま たは、 SharePlex は選択 し た行、 ま た は選択 し た列、 ま たはその両方を 1 つのテーブルか ら 別テーブルに、 た と え タ ーゲ ッ ト ス キーマが ソ ース ス キーマ と 同一でな く て も 、 複製す る こ と がで き ます。 こ れを 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン」、 ま たは 「セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン」 を呼びます。 • 従業員名や部署な ど の選択 し た情報を配信す る 一方で機密個人情報や給与 な ど のその他のデー タ を別なオブジ ェ ク ト にデー タ セ ッ ト と し て分離 し な いで保護す る ために、 「垂直分割レ プ リ ケーシ ョ ン」 (ま たは 「セ レ ク テ ィ ブカ ラ ム レ プ リ ケーシ ョ ン」 と も いい ます) を使用す る こ と がで き ます。 • 営業担当者 と 顧客のデー タ を それに責任を持つ個々の ス ト アへな ど、 さ ま ざ ま なデー タ セ グ メ ン ト を別々の タ ーゲ ッ ト シ ス テ ムへ配信す る ために、 「水平分割レ プ リ ケーシ ョ ン」 (ま たは 「セ レ ク テ ィ ブ ロ ーレ プ リ ケーシ ョ ン」 と も いい ます) を使用す る こ と がで き ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンは、 フ ェ イ ルオーバーに完全な レ プ リ カ を 必要 と す る 、 高可用性環境には適 し てい ません。 レ ポー ト 、 負荷バ ラ ン シ ン グ、 デー タ マー ト ま たはその他の環境でプ ロ ダ ク シ ョ ンデー タ の完全レ プ リ カ が必要でない場合は、 テーブルのすべて あ る いは一部においてパーテ ィ シ ョ ン 化レ プ リ ケーシ ョ ンが適切で、 情報配信お よ びネ ッ ト ワ ー ク 負荷の制御が向上 さ れ ます。 た と えば、 テーブルにパブ リ ッ ク と プ ラ イ ベー ト の コ ン ポーネ ン ト があ っ た場合、 パブ リ ッ ク 要素を フ ァ イ ア ウ ォ ールを越え て複製す る こ と に よ り 、 機密情報は参照を制限す る だけでな く 、 フ ァ イ ア ウ ォールに よ っ て も 保護 さ れ ます。 SharePlex をパーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン用に設定す る 詳細は、 「SharePlex 設定の構築」 (122 ページ) を参照 し て く だ さ い。 ソ ース テーブル SharePlex は複製が ど の よ う に設定 さ れてい る かに よ っ て同一の、 ま たは同一 でない タ ーゲ ッ ト ス キーマ間での複製を サポー ト し ます。 テーブル全体の複製 フルテーブルレ プ リ ケーシ ョ ン ( ソ ース テーブルのすべてのデー タ を複製) を 使用す る 場合は、 次の決ま り が 「 タ ーゲ ッ ト テーブル」 適用 さ れます。 82 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • タ ーゲ ッ ト 列の名前は ソ ース列の名前 と 同一でなければな ら ない。 こ の制 約は、 垂直分割レ プ リ ケーシ ョ ン ( こ の後の 『垂直分割レ プ リ ケーシ ョ ン の使用』 を参照) を使用す る こ と で回避で き ます。 • SharePlex デー タ 同期操作を使用す る には、 タ ーゲ ッ ト 列の数が ソ ース列の 数 と 同 じ でなければな り ません。 - ま たは タ ーゲ ッ ト テーブルは、 ソ ース テーブル よ り も 多 く の列を持つ こ と がで き ますが、 SharePlex は タ ーゲ ッ ト の余分な列を無視 し ます。 INSERT は、 ソ ース テーブルの中に対応す る 列があ る タ ーゲ ッ ト 列に値を挿入 し ますが、 余分な列には値を挿入 し ません。 余分な列に NOT NULL 制約があ り 、 デ フ ォ ル ト 値がない場合は Oracle エ ラ ーが起 き ます。 タ ーゲ ッ ト テーブルの 余分な列では、 デフ ォ ル ト 値を使用す る こ と をお勧め し ます。 UPDATE は、 ソ ース テーブルの中に対応す る 列があ る タ ーゲ ッ ト 列の値を更新 し ますが、 余分な列の値には影響はあ り ません。 DELETE は、 タ ーゲ ッ ト テーブルの 中の余分な列に よ っ て影響を受け ません。 こ れは、 SharePlex が、 一致す る 列の中のキーま たは列デー タ に基づいて行を選択す る ためです。 タ ーゲ ッ ト テーブルが ソ ース テーブル よ り も 列が多い場合は、 compare コ マ ン ド を使っ て同期を検証 し 、 非同期の行を修正 し た り 、 固有の同期手順 を開発 し た り す る こ と がで き ます。 compare コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 • タ ーゲ ッ ト テーブルは ソ ース テーブルの列数 よ り 少ない列を持つ こ と はで き ません。 • 対応す る ソ ース と タ ーゲ ッ ト 列は同 じ デー タ 型 (同 じ 型、 サ イ ズ、 精度) を含んでい る 必要があ り ます。 • 対応す る ソ ース と タ ーゲ ッ ト 行は、 同 じ 値を持っ てい る 必要があ り ます。 垂直分割レ プ リ ケーシ ョ ンの使用 垂直分割レ プ リ ケーシ ョ ン を使用す る と き は、 タ ーゲ ッ ト テーブルに次の決ま り が適用 さ れ ます。 • タ ーゲ ッ ト テーブルは ソ ース テーブル と 同 じ 列すべて、 ま たは ソ ース テー ブルか ら 複製 さ れてい る 列のみを含む こ と が可能です。 た と えば、 ソ ース テーブルにあ る 20 列の う ち 8 列か ら デー タ を複製す る 場合は、 その 8 列の みが タ ーゲ ッ ト テーブルにあ る 必要があ り ます。 • 対応す る 列は同一でな く て も 構い ません。 列の名前は、 設定フ ァ イ ルを作 成す る と き 指定す る こ と がで き ます。 章4 SharePlex での複製の計画 83 • 対応す る 列は同 じ デー タ 型 (同 じ 型、 サ イ ズ、 精度) を含んでい る 必要が あ り ます。 • 対応す る 行は、 同 じ 値を持っ てい る 必要があ り ます。 テーブルの名前 大抵の複製方法では、 ソ ース オブジ ェ ク ト の名前ま たはオーナーま たはその両 方は タ ーゲ ッ ト オブジ ェ ク ト と 異な っ ていて も 構い ません。 SharePlex は、 設 定フ ァ イ ル内にてオブジ ェ ク ト を そのオーナー と テーブル名で指定す る こ と で、 正 し いオブジ ェ ク ト へ複製 し ます。 高可用性の設定には、 ソ ース テーブル のオーナー と 名前 と 、 タ ーゲ ッ ト オブジ ェ ク ト のそれが同 じ でなければな り ま せん。 複製するべき でないテーブル い く つかのアプ リ ケーシ ョ ン では一時テーブルが使用 さ れ ます。 こ れ ら は重要 でないデー タ ベース コ ン ポーネ ン ト であ る ため、 こ の よ う な テーブルは複製の 設定か ら 除外 し ます。 作業テーブル や イ ン ス タ ン ス特有のテーブルはいかな る も ので も 除外 し ます。 タ ーゲ ッ ト テーブルのア ク セス ピ ア ト ゥ ピ ア複製を除 く すべてのシナ リ オにおいて、 ora_setup の実行中に作 成 し た SharePlex Oracle ユーザーのみが DML ま たはサポー ト さ れた DDL を タ ーゲ ッ ト に実行す る こ と がで き ます。 も し 他の人間に よ っ て タ ーゲ ッ ト オブ ジ ェ ク ト に DML ま たは DDL 変更が実行 さ れた場合は、 デー タ が非同期 と な り ます。 次の例で、 SharePlex ユーザー以外のユーザーに よ っ て タ ーゲ ッ ト オ ブジ ェ ク ト が変更 さ れた場合に起 こ り 得 る 、 検出可能お よ び検出不可の非同期 状態を説明 し ます。 こ の例では、 開始点 と し て ソ ース と タ ーゲ ッ ト テーブル (COLOR、 SIZE、 WEIGHT の列を持つ) が同期状態にあ る と 想定 し ます。 検出可能な非同期状態 あ る ユーザーが直接、 「 タ ーゲ ッ ト 」 テーブル COLOR の列の 1 行目を 「blue」 か ら 「red」 に変更 し た と し ます。 そ し て、 別のユーザーが 「 ソ ース」 テーブ ルに同 じ 変更を行い、 SharePlex がそれを タ ーゲ ッ ト に複製 し ます。 Post は WHERE 句を使っ て同期を検証 し ます ( 「同期の理解」 (74 ページ) を参照 )。 そのため、 タ ーゲ ッ ト テーブルのプ リ イ メ ージ を 「blue」 と 予測 し ますが、 そ 84 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 う ではな く 「red」 にな り ます。 Post は非同期状態を警告す る 非同期エ ラ ーを 生成 し ます。 隠れた非同期状態 あ る ユーザーが直接、 「 タ ーゲ ッ ト 」 テーブルの COLOR の列の 2 行目を 「blue」 か ら 「red」 に変更 し 、 その変更を ソ ース テーブルに 「行わなか っ た」 ため、 複製 さ れなか っ た と し ます。 2 つのテーブルは非同期状態にあ り ます が、 Post に よ る 処理がないため、 前例にあ っ た よ う なエ ラ ー メ ッ セージはあ り ません。 た と え、 こ の行の他の列 (SIZE、 WEIGHT) に ど の よ う な変更があ っ て も 、 誰かが ソ ース テーブルの COLOR 列を更新す る ま で、 COLOR 列の非同 期状態が維持 さ れ、 タ ーゲ ッ ト 上のユーザーは不正確な情報を持つ こ と と な り ます。 ソ ース上での変更が複製 さ れ る 時点で Post に よ っ てプ リ イ メ ージが比 較 さ れ、 初めてエ ラ ー メ ッ セージが表示 さ れ ます。 ヒ ン ト : 複製を開始 し た後、 compare コ マ ン ド を使用 し て、 ソ ース と タ ーゲ ッ ト テー ブルを比較 し 同期を検証する こ と がで き ます。 詳細は、 『SharePlex Reference Manual』 の第 1 章を参照 し て く だ さ い。 タ ーゲ ッ ト テーブルのア ク セスの要件 • レ ポー ト お よ びその他の一方向レ プ リ ケーシ ョ ンの場合 : 複製設定の 「外」 にあ る タ ーゲ ッ ト シ ス テ ム上のすべてのテーブルは、 複製に影響を与え る こ と な く 通常通 り にア ク セ ス (ま た場合に よ っ ては変更) で き ます。 複製 設定 「以内の」 の タ ーゲ ッ ト テーブルは、 複製中に ク エ リ お よ びレ ポー ト のためにア ク セ ス で き ますが、 いかな る 種類の DML ま たは DDL の実行を 許可す る こ と はで き ません。 タ ーゲ ッ ト オブジ ェ ク ト への DML ま たは DDL 変更は 11 章 に記載 さ れてい る 手順に従っ て行 う こ と がで き ます。 • 高可用性の場合 : い く つかの ERP アプ リ ケーシ ョ ン では、 H/A テーブル と レ ポー ト レ ポー ト の間で競合が生 じ る 場合があ る ため、 ク エ リ ま たは レ ポー ト のために タ ーゲ ッ ト デー タ ベース を使用す る こ と が許可 さ れ ません。 ソ ース と タ ーゲ ッ ト デー タ ベース が同一であ る 場合は、 レ ポー ト と ク エ リ が可能であ る 場合があ り ます。 SharePlex 複製を高可用性に使用す る と き 、 INSERT、 UPDATE お よ び DELETE の権限を許可す る よ う に タ ーゲ ッ ト シ ス テ ム を準備す る こ と がで き ます。 し か し 、 シ ス テ ム が フ ェ イ ルオーバーマ シ ン と し て使用 さ れ る ま でそれ ら を実行 し ないで く だ さ い。 詳細は、 「高可 用性お よ びデー タ リ カバ リ のための複製の設定」 (182 ページ) を参照 し て く だ さ い。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合 : DML が複数の ピ アのプ ロ ダ ク シ ョ ン イ ン ス タ ン ス の間で複製 さ れ る ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 正 し 章4 SharePlex での複製の計画 85 いデー タ ベース の準備 と conflic resolution ルーチン が必要です。 詳細は、 「ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定」 (202 ページ) を参照 し て く だ さ い。 SharePlex キー SharePlex で構築さ れる SQL 文のキーの役割を 理解する こ と は、 データ の同期を 理解およ び維持する ために重要です。 SharePlex は SQL 文を キーを 使っ て UPDATE およ び DELETE の対象と なる 正し い行を タ ーゲッ ト テーブルで検索し 、 挿入する 行が既に存在し ていないこ と を 確認し ま す。 タ ーゲッ ト シス テム から 行を 検索する のに ROWID を 使用する こ と はでき ま せん。 ROWID はソ ース と タ ーゲッ ト シス テム の間で異なり 、 ま た REDO ロ グに含ま れないためです。 SharePlex は複製す る すべてのテーブル、 特に大 き な テーブルや LONG 列を含 むテーブルに対 し て主キーま たは一意のキーが存在す る 場合に、 最 も 速 く 動作 し ます。 使用す る キーを選択す る と き 、 SharePlex は最適な キー列を次の優先 順位で使用 し ます。 • 主キー • 少な く と も 列の 1 つが NULL でない、 最小の列のあ る 一意のキー • 最小の列あ る 一意のキー。 も し キーで NULL が許可 さ れてい る 場合は、 SharePlex は UPDATE お よ び DELETE で行の一意性を保証す る こ と がで き ず、 タ ーゲ ッ ト シ ス テ ム で誤っ た行を変更 し て し ま う 可能性があ り ます。 SharePlex で NULL が可能な キーを制御す る には SP_SYS_IN_SYNC パ ラ メ ー タ を設定 し ます。 こ のパ ラ メ ー タ の詳細は、 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 の第 2 章を参照 し て く だ さ い。 • も し キーを確定で き ない場合は、 SharePlex は LONG と LOB を除 く 、 すべ ての列を使用 し て キーを構築 し ます。 こ のキーは内部で保守 さ れ、 テーブ ル自体に作成 さ れ ません。 こ のオプシ ョ ン では、 結果の WHERE 句が行を 見つけ る ために Oracle に完全な テーブル ス キ ャ ン を実行 さ せ、 複製が著 し く 遅 く な る ため、 最 も 好ま し く ないオプシ ョ ン です。 さ ら に、 シ ミ ュ レー シ ョ ン さ れた キーを使用 し て も 、 必ず一意性が実現 さ れ る と は限 り ません。 詳細は、 「Long 列」 (96 ページ) を参照 し て く だ さ い。 • ユーザー定義キー。 Post プ ロ セ ス でデー タ を テーブルに Post す る 際に イ ン デ ッ ク ス を使用で き る よ う にす る ため、 タ ーゲ ッ ト シ ス テ ム で一意でない イ ンデ ッ ク ス を作成 し 、 SharePlex ヒ ン ト フ ァ イ ルに追加す る 必要があ り ま す。 86 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ソ ース シ ス テ ムへの影響 : テーブルが一意のキーを持っ て ないため、 SharePlex が UPDATE のためのシ ミ ュ レーシ ョ ン さ れた全列のキーを構築す る 必要があ る 場合、 こ の手順は多数の列を持つテーブルで非常に時間がかか る 可能性があ り ます。 タ ーゲ ッ ト シ ス テ ムへの影響 : タ ーゲ ッ ト テーブルの主キーま たは一意のキー に よ る 手助けな し では、 Post (構築 さ れた全列のキー) はテーブルを 1 列ずつ 比較す る 必要があ り ます。 こ れは、 ト ラ ンザ ク シ ョ ンデー タ がキ ュ ーで蓄積 し 、 ソ ース と タ ーゲ ッ ト イ ン ス タ ン ス間の遅延が許容で き ない レベル ま で大 き く な る 原因 と な り ます。 推奨 : も し 主キーを追加す る こ と が可能でない場合 (た と えばパ ッ ケージ アプ リ ケーシ ョ ンが使用 さ れてい る 場合)、 「キー定義」 を作成す る こ と で、 ユー ザー定義キーを作成す る こ と がで き ます。 キー定義を作成す る ためには設定 フ ァ イ ルで特別な シ ン タ ッ ク ス を使用 し 、 行の一意性を保証す る 1 つま たは複 数の列を リ ス ト し ます。 SharePlex は WHERE 句で Post す る タ ーゲ ッ ト 行を見 つけ る 一意のキー と し て、 それ ら の列を使用 し ます。 こ のキーはテーブルのた めに作成 さ れた、 いかな る 他のキーに も 優先 し ます。 キー定義の構築について の詳細は、 「SharePlex 設定の構成要素」 (125 ページ) を参照 し て く だ さ い。 キー定義の別の手段 と し て、 一意性を確立す る 1 つま たは複数の列を基 と す る 一意の イ ンデ ッ ク ス を作成ま たは使用す る こ と も で き ます。 詳細は、 「 イ ン デ ッ ク ス群」 (88 ページ) を参照 し て く だ さ い。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン のキー : 「主キー」 はピ ア ト ゥ ピ ア レ プ リ ケー シ ョ ンにおいて重要であ り 、 複製に関わ る すべてのデー タ ベース の間で一意で あ る 必要があ り ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン のキーについての詳細 は、 207 ページ を参照 し て く だ さ い。 キーの値の変更 キーにシーケ ン ス が使用 さ れてい る 場合で、 も し キーの値が更新 さ れ る 可能性 があ る 場合は、 更新に よ っ て タ ーゲ ッ ト シ ス テ ム でキーが重複 さ れない よ う に、 シーケ ン ス を作成 し ます。 そ う し なければ、 新 し い値が他の行にキー と し て既に タ ーゲ ッ ト シ ス テ ムに存在す る 場合は、 conflict が生 じ SharePlex が一意 のキーの制約違反お よ び非同期エ ラ ーを返 し ます。 章4 SharePlex での複製の計画 87 こ の種類のエ ラ ーは、 値を 「x +n (n は増分値)」 の公式で更新 し た場合に発生 す る 可能性があ り ます。 x+n の値の 1 つが既存値であ る 可能性があ り ます。 た と えば、 次のサン プルのキー列の値が 1 単位増加 し た と 想定 し ます。 Key_Col 1 4 5 7 SQL> update table X set a=a+1; commit 新 し い値は次の よ う にな り 、 タ ーゲ ッ ト シ ス テ ム に複製 さ れます。 Key_Col 2 5 6 8 SharePlex は こ の更新を次の ス テ ッ プ を使用 し て行い、 操作が REDO ロ グに含 ま れ る よ う に し ます。 update x set a=2 where a=1; update x set a=5 where a=4; ( update x set a=6 where a=5; update x set a=8 where a=7; ( こ れは成功 し ます。) こ れは、 5 が既に存在する ため、 失敗し ま す。) ( こ れは成功 し ます。) ( こ れは成功 し ます。) デー タ の整合性を保証す る 役割を持つ Post プ ロ セ ス は、 ソ ース か ら 複製 さ れ た増加 さ れた値 と 同 じ タ ーゲ ッ ト シーケ ン ス のプ リ イ メ ージの値を処理 し ま す。 Oracle は、 一意の制約違反 と し て こ の操作を拒否 し ます。 別の例 と し て、 A か ら B に更新 し 、 そ し て B か ら C へ更新す る ト ラ ンザ ク シ ョ ン を考慮 し ま す。 重要!ピ ア ト ゥ ピ ア複製を実行する場合は、 追加のキー要件があ り ます。 こ の章に記載 さ れている残 り の要件を読み終わっ た後、 202 ページにある ピ ア ト ゥ ピ ア レ プ リ ケー シ ョ ン を確立する手順を参照 し て く だ さ い。 88 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 イ ンデ ッ ク ス群 一意の イ ンデ ッ ク ス を持つ ソ ース テーブルを複製す る と き 、 タ ーゲ ッ ト テーブ ル も 一意の イ ンデ ッ ク ス を持っ てい る 必要があ り ます。 イ ンデ ッ ク ス は タ ー ゲ ッ ト デー タ の整合性を維持 し 、 ユーザーが重複デー タ を入力す る のを防ぎ ま す。 すべての大 き なテーブルは タ ーゲ ッ ト シ ス テ ム に少な く と も 一意の イ ン デ ッ ク ス を持っ てい る べ き です。 一意の イ ンデ ッ ク ス がない場合は、 Oracle は Post で変更す る 行を見つけ る ためにテーブル全体を ス キ ャ ン し ます。 い く つかのアプ リ ケーシ ョ ン では主キーの制約が使用 さ れないため、 デフ ォ ル ト で一意の イ ンデ ッ ク ス が作成 さ れ ません。 し か し 、 人の名前ま たは従業員の ID 番号な ど の一意の値が入力 さ れた 1 つま たは複数の列に対 し て イ ンデ ッ ク ス が作成 さ れたのに、 一意な イ ンデ ッ ク ス と し て名前がつけ ら ない (CREATE UNIQUE INDEX コ マ ン ド が使用 さ れなか っ た) 場合 も あ り ます。 テーブルに 対 し て一意の イ ンデ ッ ク ス が存在 し ない場合、 1 つま たは複数のユーザー定義 キーを作成す る こ と をお勧め し ます。 一度一意の イ ンデ ッ ク ス を識別ま たは作成 し た ら 、 SharePlex の hints 機能を 使っ て Oracle が確実にその イ ンデ ッ ク ス を使用す る よ う にで き ます。 詳細は、 「高速 posting のための INDEX ヒ ン ト の使用」 (234 ページ) を参照 し て く だ さ い。 計画についてのその他の ヒ ン ト : • イ ンデ ッ ク ス は常に更新 し ない と 、 Post プ ロ セ ス が遅 く な り ます。 断片化 さ れた も のは再構築 し ます。 • 主に INSERT 文を行 う アプ リ ケーシ ョ ンに対 し ては、 保持を制限す る ため にい く つかのみ イ ンデ ッ ク ス を作成 し ます。 • UPDATE 文には、 INSERT 文の後に変更 し ない列に対 し て イ ンデ ッ ク ス を作 成す る よ う に し ます。 • DELETE 文は、 で き る だけ多 く の イ ンデ ッ ク ス群を削除 し ます。 • 多数の イ ンデ ッ ク ス群を持つテーブルに対 し て何百万 も の SQL 操作を行 う 、 大 き なバ ッ チジ ョ ブ を実行す る と き は、 不要な イ ンデ ッ ク ス群をバ ッ チジ ョ ブの前に削除 し 、 最後に再構築 し ます。 こ れに よ っ て、 SharePlex が さ ら に速 く 動作す る よ う にな り 、 ま た後で も っ と 編成 さ れた イ ンデ ッ ク ス 群 と な り ます。 • も し テーブルが参照整合性 (外部キー) を使用す る 場合は、 外部キーへの 変更が完全な テーブル ス キ ャ ン を実行 さ せ る こ と のない よ う に、 正 し い列 に対 し て イ ンデ ッ ク ス を作成 し ます。 • ビ ッ ト マ ッ プ イ ンデ ッ ク ス群を タ ーゲ ッ ト テーブルに使用す る 場合は、 ク エ リ に対す る 利点 と Post の SQL ト ラ ンザ ク シ ョ ンへの影響を評価 し ます。 章4 SharePlex での複製の計画 89 Oracle が ビ ッ ト マ ッ プエ ン ト リ を追加ま たは更新す る と き 、 ビ ッ ト マ ッ プ セグ メ ン ト に関連付け ら れたすべての行を ロ ッ ク し ます。 1 つのビ ッ ト マ ッ プセ グ メ ン ト は何百 も の行への参照を含む こ と がで き ます。 その結果、 異 な る Post セ ッ シ ョ ン に よ る 変更 ( ソ ース シ ス テ ムの 1 つのセ ッ シ ョ ン につ いて 1 つの Post セ ッ シ ョ ン があ り ます) が、 同 じ ビ ッ ト マ ッ プセ グ メ ン ト 内の ビ ッ ト マ ッ プエ ン ト リ を更新 し た場合、 互いにブ ロ ッ ク す る 可能性が あ り ます。 続行す る には、 Post が こ のブ ロ ッ ク を検出 し 解決 し なければな り ませんが、 ロ ッ ク さ れた数が多い場合は Post が著 し く 遅れます。 一般的 に、 複数の同時セ ッ シ ョ ン に よ る テーブルへの頻繁な挿入は ロ ッ ク 競合の 原因 と な り ますが、 テーブルへの任意の更新お よ び削除は競合が発生す る こ と はあ り ません。 注 : SharePlex では Oracle か ら の推奨に従い、 静的な テーブル上に ビ ッ ト マ ッ プ イ ンデ ッ ク ス を持ち ます。 • ビ ッ ト マ ッ プ イ ンデ ッ ク ス群を複製す る こ と は、 毎回ビ ッ ト マ ッ プ イ ン デ ッ ク ス でテーブルを変更が さ れ る 度に イ ンデ ッ ク ス が再構築 さ れ る ので、 お勧め し ません。 こ の再構築に関連す る コ ス ト (Oracle の時間お よ び リ ソ ース) は、 SQL UPDATE 文に追加 さ れ ます。 ヒ ン ト : タ ーゲ ッ ト テーブルに イ ンデ ッ ク スがあ り すぎ る場合は、 行の追加および削除 に伴い、 Oracle がそれら をすべて更新する必要があ り ます。 こ れによ り 複製を含み、 シ ス テム全体が遅 く な り ます。 イ ンデ ッ ク ス群を最も 使用する ものに制限する こ と を考 慮 し て く だ さ い。 イ ンデ ッ ク ス編成 さ れたテーブル ロ ーカル管理テーブル領域内の イ ンデ ッ ク ス編成 さ れたテーブルを複製す る 場 合、 ora_setup の後に iot_setup.sh ス ク リ プ ト を実行 し てい る こ と を確認 し て く だ さ い。 こ の ス ク リ プ ト は、 SYS.X$KTFBUE を表示す る SYS.QSA_KTFBUE ビ ュ ーを作成 し 、 SharePlex Oracle ユーザーに対 し て こ の ビ ュ ーの選択特権を許可 し ます。 ビ ュ ー と 特権が存在 し てい る こ と を確認 し 、 存在 し ていない場合は SYSDBA ロ ールを持つ Oracle ユーザー と し て ス ク リ プ ト を実行 し て く だ さ い。 一貫性制約 次の ト ピ ッ ク では一貫性制約が複製を ど の よ う に影響す る かについて説明 し ま す。 90 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 参照整合性 別テーブル と の参照整合性を持つテーブルは、 正確な複製が行われ る ために、 すべて設定フ ァ イ ルに含ま れてい る 必要があ り ます。 し たがっ て、 タ ーゲ ッ ト デー タ ベース に存在す る 必要があ り ます。 1 つま たは複数のテーブルが欠けて い る 場合は参照整合性が破損 し て し ま う 場合があ り ます。 Named export ま たは post キ ュ ーを使用す る 場合は、 相互に参照整合性を持つす べてのテーブルは同 じ キ ュ ーに含まれてい る 必要があ り ます。 Named queue の 詳細は、 第 5 章を参照 し て く だ さ い。 外部キー制約 / カ スケー ド 削除 タ ーゲ ッ ト シ ス テ ム で ON DELETE CASCADE 制約を使用す る アプ リ ケーシ ョ ンは、 特別な対策が必要です。 元の ト ラ ンザ ク シ ョ ン中に こ れ ら の制約が実行 さ れ る と き 、 SharePlex はプ ラ イ マ リ (元の) と 依存す る (カ ス ケー ド ) DELETE 操作の両方を タ ーゲ ッ ト シ ス テ ムに複製 し ます。 こ れは、 こ れ ら がす べて REDO ロ グに入力 さ れ る ためです。 SharePlex は複製 さ れた操作が受信 さ れ る ために、 こ れを post す る こ と を期待 し ます。 も し プ ラ イ マ リ の DELETE が依存す る 行を削除す る 外部キー制約を、 タ ーゲ ッ ト テーブル上でア ク テ ィ ベー ト し た場合、 SharePlex がカ ス ケー ド さ れた DELETE の複製を行 う こ と を 期待 し ます。 その結果、 SharePlex が非同期エ ラ ーを返 し ます。 推奨 : ON DELETE CASCADE 制約を タ ーゲ ッ ト シ ス テ ム で無効に し ます。 次 の ス ク リ プ ト を し て無効にす る こ と がで き ます。 SELECT 'ALTER TABLE ' || owner || '.' || table_name || ' DISABLE CONSTRAINT ' || constraint_name || ';' FROM dba_constraints WHERE constraint_type = 'R' And delete rule=’CASCADE’ AND owner NOT IN ('SYSTEM', 'SYS') / も し カ ス ケー ド 削除機能が ピ ア ト ゥ ピ ア複製ま たは フ ェ イ ルオーバーの準備に 必要な場合は、 制約を使用す る 代わ り に必要な DELETE 関数を ト リ ガに組み 込みます。 こ の よ う に参照整合性を維持す る こ と がで き ます。 章4 SharePlex での複製の計画 91 制約を ト リ ガに変換 し た後、 sp_add_trigger.sql ス ク リ プ ト を実行 し 、 SharePlex ユーザーを無視す る よ う に ト リ ガに指示 し ます。 ト リ ガは ソ ース デー タ ベース内の依存す る 行を削除す る 「 ソ ース」 ト ラ ンザ ク シ ョ ン のために 実行 さ れ ますが、 SharePlex が複製 さ れたプ ラ イ マ リ DELETE を タ ーゲ ッ ト に post す る 際に ト リ ガは実行 さ れ ません。 複製 さ れた依存す る DELETE 操作が ソ ース か ら 着信 さ れ る ま で、 依存す る 行は削除 さ れません。 sp_add_trigger.sql お よ びその他の SharePlex ト リ ガ ス ク リ プ ト の詳細は、 434 ページ を参照 し て く だ さ い。 チ ェ ッ ク 制約 パフ ォ ーマ ン ス を向上す る には、 タ ーゲ ッ ト シ ス テ ム でチ ェ ッ ク 制約を無効に し ます。 こ の よ う なチ ェ ッ ク は ソ ース シ ス テ ム で既に実行 さ れ、 タ ーゲ ッ ト で のオーバーヘ ッ ド が増加す る だけなので、 冗長です。 高可用性を目的 と す る 場 合は、 フ ェ イ ルオーバーの手順の 1 部 と し て制約を再度有効にす る ス ク リ プ ト を構築す る こ と がで き ます。 ト リガ ソ ース シ ス テ ム上で ト リ ガが実行 さ れた結果であ る DML 変更は、 REDO ロ グ に入力 さ れ る ため、 SharePlex に よ っ て複製 さ れ、 タ ーゲ ッ ト デー タ ベース に post さ れ ます。 その結果、 同 じ ト リ ガが タ ーゲ ッ ト 上で実行 さ れ、 (既に複製 に よ っ て追加済みの) 同 じ DML 変更が開始 さ れた場合、 非同期エ ラ ーが生 じ ます。 た と えば、 ソ ース シ ス テ ム上で TableA への INSERT が TableB への INSERT を ト リ ガ し た場合、 SharePlex は両方の INSERT を タ ーゲ ッ ト シ ス テ ムに複製 し ます。 Post プ ロ セ ス は 1 つ目の INSERT を タ ーゲ ッ ト シ ス テ ム上の TableA に 適用 し 、 それに よ っ て TableB へ INSERT が ト リ ガ さ れ ます。 し たがっ て、 Post が複製 さ れた TableB への INSERT を post し よ う と し た と き 、 TableA に対 し て ト リ ガが実行 さ れ、 行は既に存在す る ため、 一意のキーの違反が生 じ ます。 推奨 : 複製方法に よ っ て、 複製の設定で タ ーゲ ッ ト テーブルの ト リ ガ を無効に す る か、 sp_add_trigger.sql ス ク リ プ ト で SharePlex ユーザーを無視 し ます。 • 高可用性お よ びピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン : 高可用性ま たはピ ア ト ゥ ピ アの複製環境内のすべて シ ス テ ム では、 SharePlex ユーザー以外のユー ザー も 対象に ト リ ガ を有効にす る 必要があ り ます。 こ れは、 フ ェ イ ルオー バーの準備のため、 ま たは ト ラ ンザ ク シ ョ ンが複数の ソ ース シ ス テ ム上で 実行 さ れてい る ためです。 SharePlex ユーザーの ト リ ガ を無効にす る には、 92 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 sp_add_trigger.sql ス ク リ プ ト を実行 し ます。 こ の ス ク リ プ ト は個々の ト リ ガの文に、 SharePlex ユーザーに よ っ て post さ れた操作を無視す る よ う に指 示す る WHEN 句を置 き ます。 こ の ス ク リ プ ト の詳細は、 434 ページ を参照 し て く だ さ い。 • レ ポー ト : レ ポー ト お よ びその他の非デー タ リ カバ リ を目的 と し た場合は、 タ ーゲ ッ ト シ ス テ ム全体で ト リ ガ を無効にす る か、 sp_add_trigger.sql ス ク リ プ ト を実行 し ます。 ト リ ガお よ びパ ッ チ : Oracle パ ッ チ (場合に よ っ ては ト リ ガ を作成 も し く は編 集す る も の も あ る ) を適用 し た後、 ト リ ガが無効にな っ ていない場合は、 sp_add_trigger.sql を タ ーゲ ッ ト シ ス テ ム で再実行 し ます。 注 : SharePlex ト リ ガス ク リ プ ト は、 行レ ベルの ト リ ガのみをサポー ト し ます。 文レ ベ ルの ト リ ガは、 SharePlex ユーザー別に個別に有効 ・ 無効にする必要があ り ます。 複製 さ れないテーブルのデー タ を変更す る ト リ ガ : 複製ス キーム に 「ない」 オ ブジ ェ ク ト 内のデー タ を複製す る ト リ ガは、 必要であれば タ ーゲ ッ ト シ ス テ ム で実行で き ます。 シーケ ン ス SharePlex は ト ラ ンザ ク シ ョ ン中、 ま たは ALTER SEQUENCE コ マ ン ド に よ っ て作成 さ れたシーケ ン スへの変更を複製 し ます。 シーケ ン ス を複製す る には、 設定にて テーブルの場合 と 同 じ 様にオーナー と 名前で指定 し ます。 SharePlex は ALTER SEQUENCE コ マ ン ド を使用 し て タ ーゲ ッ ト シーケ ン ス を次の よ う に 更新 し ます。 1 増分値を {source_INCREMENT_BY_value} x {source_CACHE_value} に変更 し 、 no caching を設定 し ます。 2 シーケ ン ス を UPDATE し ます。 3 再度次の値を使用 し て シーケ ン ス を ALTER し ます。 Increment value = source_INCREMENT_BY_value Cache value = source_CACHE_value シーケ ン ス を操作す る と き は、 次の点に注意 し て く だ さ い。 章4 SharePlex での複製の計画 93 • SharePlex は ALTER SEQUENCE 操作を シーケ ン ス の簡単な SELECT (UPDATE) の よ う に扱い ます。 こ れは、 REDO ロ グで 2 つの操作を区別す る こ と がで き ないためです。 • シーケ ン ス の タ ーゲ ッ ト シ ス テ ム での一意性を保証す る には、 タ ーゲ ッ ト シーケ ン ス の開始値が ソ ース シーケ ン ス の開始点 よ り 大 き く なければな り ません。 次の公式を使っ て、 タ ーゲ ッ ト の START_WITH の値を求め ます。 source current value + [{source_INCREMENT_BY_value} x {source_CACHE_value}] = target START_WITH_value 重要! {source_INCREMENT_BY_value} x {source_CACHE_value} は、 2 GB 以下で なければな り ません。 そ う し ない と 、 シーケ ン スの複製は失敗 し ます。 • シーケ ン ス が タ ーゲ ッ ト シ ス テ ム で不要な場合は、 複製 し ないで く だ さ い。 複製を低速す る 可能性があ り ます。 た と えば、 ソ ース テーブルでキーを生 成す る ためにシーケ ン ス を使用 し た場合、 シーケ ン ス の値は、 複製 さ れた 行が タ ーゲ ッ ト シ ス テ ム に挿入 さ れた と き のキー列の一部です。 シーケ ン ス その も のは複製す る 必要があ り ません。 • も し シーケ ン ス を複製す る 場合は、 キ ャ ッ シ ン グ を使用 し て キ ャ ッ シ ュ を 最低 20 の増分値に設定 し ます。 シーケ ン ス がキ ャ ッ シ ュ さ れ る 場合は、 SharePlex は値を グループ と し て複製 し ます。 シーケ ン ス がキ ャ ッ シ ュ さ れ ない場合、 SharePlex はシーケ ン ス か ら 値を取得す る 度にデ ィ ス ク を ア ク セ スす る 必要があ る ため、 重要なデー タ の複製を低速 し て し ま い ます。 高可用性におけ る シーケ ン ス : 高可用性を実現す る ためにシーケ ン ス を複製 し ます。 SharePlex がシーケ ン ス を複製す る 方法に よ っ て、 ユーザーはフ ェ イ ル オーバーデー タ ベース を シーケ ン ス を増分 し た り 、 再利用 し た り す る こ と な く 、 直ちに使用 し 始め る こ と がで き ます。 レ ポー ト におけ る シーケ ン ス : シーケ ン ス は通常 イ ン ス タ ン ス の レ ポー ト のた めには複製 さ れ ません。 ピ ア ト ゥ ピ ア複製におけ る シーケ ン ス : SharePlex は同一シーケ ン ス の ピ ア ト ゥ ピ ア複製をサポー ト し ません。 ピ ア ト ゥ ピ ア複製のシーケ ン ス に関す る 重 要な手順は、 「ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定」 (202 ページ) を参照 し て く だ さ い。 94 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 オブ ジ ェ ク ト リ レーシ ョ ナル構造 SharePlex は abstract デー タ 型 (ユーザー定義型、 UDT と し て も 知 ら れ ます) お よ び可変配列の コ レ ク タ (VARRAY) を サポー ト し てい ますが、 次の例外が あ り ます。 • • • • ネ ス ト さ れたテーブルの複製 VARRAY 列を含む abstract デー タ 型の記録 デー タ 型ま たは UDT を含む VARRAY 列 該当す る SQL 文がユーザー定義ではな く シ ス テ ム定義の名前を使用す る Abstract デー タ 型 • 列を ド ロ ッ プす る か列を未使用に設定す る ために ALTER TABLE がその後 間 も な く 発行 さ れ る 場合の VARRAY 列ま たは abstract デー タ 型の列を追加 す る 操作 • ソ ースお よ び タ ーゲ ッ ト ス キーマが異な る 名前を持っ てい る 場合は、 UDT お よ び VARRAY の複製はサポー ト さ れ ません。 UDT ま たは VARRAY が ソ ース ま たは タ ーゲ ッ ト 上の異な る ス キーマに属す る ばあいは、 ソ ースお よ び タ ーゲ ッ ト テーブルが同 じ 名前付 き ス キーマに存在 し て も 、 Post プ ロ セ ス がエ ラ ーで失敗 し ます。 LOB デー タ 型 LOB の複製の考慮 • Quest Spotlight on Oracle な ど のチ ュ ーニ ン グ ツールを使用す る こ と に よ っ て、 REDO ロ グで影響す る I/O 競合を解消 し ます。 • LOB を含むテーブルに対 し ては 1 つま たは複数の named export queue を使用 し ます。 こ れに よ っ て固有の Post プ ロ セ ス を持つ、 個別の Export プ ロ セ ス お よ び named post queue が自動的に作成 さ れ ます。 LOB デー タ 型の処理を 個別にす る こ と で、 複製の速度が全体的に向上 し ます。 named export queue の作成方法は、 『第 5 章』 を参照 し て く だ さ い。 • LOB を含むテーブルが相互に参照整合性を持つ場合は、 すべて同 じ named queue を使用 し て複製 し ます。 • 巨大 LOB の複製は SharePlex post キ ュ ーに影響を及ぼ し ます。SharePlex post キ ュ ーは実際はそれぞれサ イ ズが 8 MB の複数のサブキ ュ ーフ ァ イ ルで構成 さ れ ます。 サブキ ュ ーフ ァ イ ルは必要に応 じ て動的に追加 さ れ ます。 LOB ア ク テ ィ ビ テ ィ は異常に大量のサブキ ュ ーフ ァ イ ルの原因 と な る 場合があ り 、 さ ら な る 共有 メ モ リ が必要 と な り ます。 SharePlex に LOB を複製す る た 章4 SharePlex での複製の計画 95 めの メ モ リ が十分にあ る こ と を保証す る ため、 SP_QUE_POST_SHMSIZE パ ラ メ ー タ を初期設定であ る 60 MB に増加 し ます。 「Error: sp_cop process sp_mport/sp_opst_mt killed due to SIGSEGV」 な ど の共有 メ モ リ セグ メ ン ト エ ラ ーが発生 し た場合は、 設定値を増や し て く だ さ い。 SP_QUE_POST_SHMSIZE の設定の手順は、 『SharePlex Reference Manual』 の 第 4 章を参照 し ます。 注 : 共有 メ モ リ セグ メ ン ト が大き いほど、 大き なスワ ッ プ領域がシス テムで使用 さ れる こ と にな るので、 十分なデ ィ ス ク 領域が使用可能である こ と を確認 し て く だ さ い。 • LOB を持つテーブルは水平分割レ プ リ ケーシ ョ ン を設定で き ません。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 LOB の複製をサポー ト し ません。 も し LOB 複製を有効に し た場合、 conflict resolution に よ っ てバ イ パ ス さ れデー タ が非同期にな る 可能性が生 じ る 原因 と な り ます。 • デー タ ベース が コ ス ト ベース オプチマ イ ザ (CBO) を使用 し 、 複製 し てい る テーブルに膨大な数の LOB が含まれてい る 場合は、 SHAREPLEX_LOBMAP テーブルを分析ス ケ ジ ュ ールへ組み込みます。 こ の テーブルは頻繁に更新 さ れ、 イ ンデ ッ ク ス群を効率的な状態に維持す る た めに継続的に分析す る 必要があ り ます。 TIMESTAMP デー タ 型 TIMESTAMP、 TIMESTAMP WITH TIMEZONE、 TIMESTAMP WITH LOCAL TIMEZONE デー タ 型は Oracle バージ ョ ン 9i 以降でサポー ト さ れてい ます。 次 の点に注意 し て く だ さ い。 • TIMESTAMP WITH TIME ZONE では、 あ る 時間帯の ソ ース マシ ン か ら 別時 間帯の タ ーゲ ッ ト マシ ンへの複製に よ っ て時間帯が変更 さ れ る こ と はあ り ません。 つま り 、 た と えば ソ ース マシ ン が太平洋時間帯で タ ーゲ ッ ト マシ ン が東部時間帯にあ る 場合、 複製 さ れたデー タ の タ イ ム ス タ ン プが ソ ース デー タ の タ イ ム ス タ ン プか ら 変更 さ れ る こ と がない と い う こ と です。 • TIMESTAMP WITH LOCAL TIMEZONE デー タ 型では、 Oracle は DB_TIME_ZONE に相対 し て こ のデー タ を格納 し ます。 SharePlex は ソ ース と タ ーゲ ッ ト マシ ン間の DB_TIME_ZONE のいかな る 差異に応 じ て タ イ ム ス タ ンプ を調整 し ます。 同一のセ ッ シ ョ ン時間帯のデー タ を選択す る ユー ザーは、 ソ ース と タ ーゲ ッ ト の両方か ら 同一のデー タ を フ ェ ッ チ し ます。 96 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Long 列 テーブルが主キーま たは一意のキーを持たない場合は、 SharePlex は WHERE 句にあ る LONG 列を除 く すべての列を使用す る こ と に よ っ てシ ミ ュ レーシ ョ ン さ れた キーを内部的に構築す る 必要があ り ます。 異な る 行にあ る 非 LONG 列が同一の値を含み、 LONG 列が異な る 値を含む可能性があ る 場合、 一意性は 保証 さ れ ません。 も し こ れが起 こ っ た場合はテーブルが非同期にな り 、 ユー ザーま たは SharePlex に よ っ て検出で き ない場合があ り ます。 次の図を使っ て、 こ の問題を説明 し ます。 テーブルにあ る 行は LONG 列を除 いて同一の も ので、 主キーま たは一意のキーはあ り ません。 列A 列B 列 C (LONG) 10 20 100 10 20 200 10 20 300 ソ ース シ ス テ ムのユーザーが列 A の 1 行目を 15 に変更 し た と し ます。 変更を タ ーゲ ッ ト テーブルに対 し て適用す る ために SQL 文を構築す る と き 、 SharePlex は変更す る 行を検索す る ために列 A と B (UPDATE tablename SET Column A to 15 WHERE Column A = 10 and Column B = 20) を使用 し て キーを構築 し ます。 こ の条件を満たす行は 3 行あ る ため、 SharePlex は誤っ た行への変更を post す る 可能性があ り ます。 推奨 : 可能であれば SharePlex が object cache を更新で き る よ う に、 キーを追加 し てか ら 再同期お よ び再ア ク テ ィ ベー ト し ます。 DDL 複製 デフ ォ ル ト で SharePlex は、 複製内の任意のテーブルに対 し て発行 さ れた TRUNCATE TABLE と ALTER TABLE DDL を複製 し ます。 こ の機能は、 SP_OCT_REPLICATE_DDL パ ラ メ ー タ で制御 さ れます。 ま た、 SharePlex は複 製内のテーブルに イ ンデ ッ ク ス を作成す る 任意の CREATE INDEX DDL を複製 し ます。 こ の機能は、 SP_OCT_AUTOADD_ENABLE パ ラ メ ー タ で制御 さ れま す。 SharePlex は、 その他のすべての DDL の複製 も サポー ト し てい ます。 こ の機能 は、 SP_OCT_REPLICATE_ALL_DDL パ ラ メ ー タ で制御 さ れ ます。 こ のパ ラ メ ー タ を設定 し た場合、 ソ ースデー タ ベース に対 し て任意のユーザーが発行 し 章4 SharePlex での複製の計画 97 た任意の DDL がデー タ ベース の redo ロ グに書 き 込ま れ ます。 Capture プ ロ セ ス が DDL を受信 し 、 タ ーゲ ッ ト デー タ ベース に複製 し ます。 次に Capture が REDO ロ グの DDL 文を読み取 り Read プ ロ セ ス に渡 し 、 それが DDL を タ ー ゲ ッ ト マシ ンにルー ト し ます。 そ し て Post プ ロ セ ス が DDL を タ ーゲ ッ ト デー タ ベース に適用 し ます。 SP_OCT_REPLICATE_ALL_DDL を設定す る 場合、 複製 さ れた DDL を タ ー ゲ ッ ト シ ス テ ム上で正常実行す る ために、 同一の ソ ースデー タ ベースお よ び タ ーゲ ッ ト デー タ ベース でなければな り ません。 こ の DDL 複製が Read プ ロ セ ス に よ っ てすべての タ ーゲ ッ ト マシ ンに 「ブ ロ ー ド キ ャ ス ト 」 さ れ る ため、 す べての タ ーゲ ッ ト シ ス テ ムが同一でなければな り ません。 SharePlex は、 ス キーマオブジ ェ ク ト お よ びア カ ウ ン ト のためにすべてのサポー ト 対象 DDL を 複製す る ので、 操作が成功す る ためには、 こ れ ら の コ ン ポーネ ン ト が タ ーゲ ッ ト デー タ ベース に存在 し てい る 必要があ り ます。 SharePlex ユーザー、 SYS ユーザー、 SYSTEM ユーザー、 ま たは SYSMAN ユーザー以外のユーザーが所有す る オブジ ェ ク ト 上で DDL 操作が実行 さ れた 場合にのみ、 DDL が複製 さ れます。 基本的に SharePlex ユーザー、 SYS ユー ザー、 SYSTEM ユーザー、 ま たは SYSMAN ユーザーが所有す る オブジ ェ ク ト に対す る DDL は複製 さ れません。 テーブルの名前変更 ALTER TABLE RENAME コ マ ン ド を使用 し て テーブルの名前を変更す る こ と がで き ます。 も し テーブルが複製に含まれてい る 場合は、 SharePlex はア ク テ ィ ブ設定フ ァ イ ルで古い設定の行を コ メ ン ト ア ウ ト し 、 新 し い行を追加す る こ と でテーブルの名前を変更 し ます。 も し タ ーゲ ッ ト テーブル名が ソ ース テー ブル名 と 同 じ 場合は、 新 し い設定の行は ソ ース と タ ーゲ ッ ト の両方に名前の変 更を反映 し ます。 同 じ でない場合は、 タ ーゲ ッ ト 名は変更 さ れ ません。 た と えば、 ソ ース テーブルであ る scott.table1 は タ ーゲ ッ ト の scott.table1 に複 製 さ れます。 scott.table1 ====> scott.table1 ソ ース テーブルの名前を scott.table2 に変更 し た場合、 タ ーゲ ッ ト テーブルの 名前 も scott.table2 に変更 さ れます。 scott.table2 ====> scott.table2 Capture は設定フ ァ イ ルにあ る 古いエ ン ト リ の行の 1 バ イ ト 目に 「#」 記号を挿 入す る こ と で コ メ ン ト ア ウ ト し ます。 こ れは名前の一部を上書 き す る 可能性が あ り ます。 #scott.table1 scott.table1 [email protected] 98 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 次に、 新 し いエ ン ト リ が設定フ ァ イ ルの末端に次の よ う に追加 さ れます。 # Table scott.table1 renamed to scott.table2 August 5, 2003 10:14 scott.table2 scott.table2 [email protected] ソ ース テーブルの名前変更は、 scott.table1 が タ ーゲ ッ ト に存在 し ない場合、 タ ーゲ ッ ト でのエ ラ ーの原因 と な り ます。 Post プ ロ セ ス が停止す る か否かは SP_OPO_STOP_ON_DDL_ERR パ ラ メ ー タ の設定に依存 し ます。 こ のパ ラ メ ー タ の詳細は、 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 し て く だ さ い。 DDL ロギング SharePlex は、 ソ ース マシ ン と タ ーゲ ッ ト マシ ン に個別の DDL ロ グ を保有 し て い ます。 Capture が REDO ロ グか ら 読み出すすべての DDL、 そ し て Post がプ ロ セ スす る すべての DDL が ロ グ さ れます。 Capture プ ロ セ ス は REDO ロ グで見つか っ たすべての DDL に対す る SQL、 DDL が Capture に よ っ てプ ロ セ ス さ れた日付 と 時間、 そ し て DDL がデー タ ベース に対 し て発行 さ れた日付 と 時間を ロ グ し ます。 ま た Capture が DDL を 複製す る 場合は、 こ の情報 も ロ グに追加 さ れます。 Capture ロ グは次の よ う に 指定 さ れてい ます。 ORACLE_SID_ocap_ddl_[log file number].log 例: o.ora10_ocap_ddl_01.log Post プ ロ セ ス は タ ーゲ ッ ト デー タ ベース に適用す る すべての DDL、 DDL が Post に よ っ てプ ロ セ ス さ れた日付 と 時間、 そ し て DDL が ソ ースデー タ ベース に対 し て発行 さ れた日付 と 時間を ロ グ し ます。 ま た、 も し SQL が失敗 し た場 合、 Post が失敗 し た旨お よ び Oracle エ ラ ーを ロ グ し ます。 こ の 2 つ目の メ ッ セージは、 DDL を SQL 全体ではな く 、 コ マ ン ド と オブジ ェ ク ト だけで説明 し ます。 Post ロ グは次の よ う に指定 さ れてい ます。 ORACLE_SID_[machine name]_opo_ddl_[log file number].log 例: 0.ora10a_irvspxub_opo_ddl_01.log Oracle DDL 複製のエ ラ ー処理 デフ ォ ル ト では、 複製 さ れた DDL の適用にエ ラ ーがあ っ た場合、 Post プ ロ セ ス が停止 し ます。 通常、 エ ラ ーは DDL が ソ ース シ ス テ ム で実行 さ れたデー タ ベース コ ン ポーネ ン ト が タ ーゲ ッ ト デー タ ベース に存在 し ない こ と を示 し 、 そ 章4 SharePlex での複製の計画 99 の後の DML 変更 も 失敗す る こ と を示 し ます。 Post を停止す る と 、 DML の失敗 が防止 さ れ、 問題を訂正 し てデー タ ベース を同期 し た状態に保つ こ と がで き ま す。 こ の動作は SP_OPO_STOP_ON_DDL_ERR パ ラ メ ー タ で変更す る こ と がで き ます。 こ のパ ラ メ ー タ の詳細は SharePlex リ フ ァ レ ン ス マニ ュ アルを参照 し て く だ さ い。 注 : SharePlex は複製 さ れた DDL を Event Log に入力 し ますが、 2000 文字以上の文は 切 り 捨て ら れ、 最初の 60 文字のみがログに記録 さ れます。 完全な DDL は Post プ ロ セ スの DDL ログに入力 さ れます。 カ スケー ド レ プ リ ケーシ ョ ンおよび DDL の複製 DDL 複製は ソ ース シ ス テ ム か ら 中間シ ス テ ム ま で し かサポー ト さ れてい ませ ん。 中間シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ム ま での複製はサポー ト さ れてい ませ ん。 カ ス ケー ド レ プ リ ケーシ ョ ン の場合、 ALTER TABLE の各 コ マ ン ド は、 SP_OCT_REPLICATE_DDL が有効に さ れてい る と 複製 さ れます。 TRUNCATES は複製 さ れません。 カ ス ケー ド レ プ リ ケーシ ョ ン で DDL の複製を停止す る に は、 SP_OCT_REPLICATE_DDL お よ び SP_OCT_REPLICATE_ALL_DDL パ ラ メ ー タ を無効に し ます。 ダ イ レ ク ト パスによ る ロー ド SharePlex は SQL*Loader ダ イ レ ク ト パ ス に よ る ロ ー ド (DIRECT=TRUE keyword parameter) に よ っ て変更 さ れたテーブルを複製 し ます。 ロ ー ド は 異な る テーブル上で同時 ロ ー ド があ る こ と も 可能ですが、 1 つのテーブルあ た り 1 つのみ ロ ー ド があ り ます (PARALLEL=FALSE)。 デー タ ベース はアーカ イ ブ モー ド にな っ てい る 必要があ り 、 ま たテーブル ロ ギ ン グ を有効にす る 必要があ り ます。 ダ イ レ ク ト パ ス に よ る ロ ー ド がシ ス テ ム上で長時間持続す る 場合は、 複製に頼 る よ り も タ ーゲ ッ ト デー タ ベース に直接デー タ を ロ ー ド し た方が効率的であ る 可能性があ り ます。 大 き なダ イ レ ク ト パ ス に よ る ロ ー ド は、 アプ リ ケーシ ョ ン ユーザーに よ る 変更が REDO へ追加 さ れ る ペース に Capture が追いつかな く な っ て し ま い、 ソ ース と タ ーゲ ッ ト の間の遅延が生 じ る 場合があ り ます。 ダ イ レ ク ト パ ス に よ る 複製を 「 し ないで」、 その代わ り に ロ ー ド を タ ーゲ ッ ト シ ス テ ム で繰 り 返 し 、 それに よ っ て ロ ー ド の後で参照お よ びチ ェ ッ ク 制約を そ のテーブルで有効にす る こ と が必要にな る 場合は、 制約が満た さ れた時点で制 約が再度無効にな る よ う に し て く だ さ い。 100 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 こ のパ ラ メ ー タ は、 SP_OCT_REPLICATE_DLOAD パ ラ メ ー タ のダ イ レ ク ト パ ス の読み込みを複製す る か ど う か を制御 し ます。 デフ ォ ル ト の 1 を指定す る と 、 ダ イ レ ク ト パ ス の読み込みの複製が有効にな り ます。 ダ イ レ ク ト パ ス の読 み込みの複製を無効にす る には、 こ のパ ラ メ ー タ を 0 に変更 し ます。 SP_OCT_REPLICATE_DLOAD を変更す る 手順は、 『SharePlex Reference Manual』 の第 4 章 を参照 し て く だ さ い。 REDO およびアー カ イ ブ ログ SharePlex は Oracle が リ カバ リ プ ロ セ ス のバ ッ ク ア ッ プ と し て作成す る オ ン ラ イ ン REDO ロ グか ら デー タ を capture し ます。 Oracle は REDO ロ グが満杯にな る ま で変更を書 き 込みます。 満杯にな っ た ら 、 ロ グが ラ ッ プ し ます。 つま り 、 Oracle が再度最初の ロ グか ら 、 既存デー タ を上書 き し なが ら ロ グに書 き 込み始 め ます。 こ のデザ イ ンには、 準備す る べ き 複製への重大な イ ンパ ク ト があ り ま す。 次の ト ピ ッ ク で REDO と アーカ イ ブ ロ グ を SharePlex 複製のために準備す る 要件を説明 し ます。 ASM サポー ト ASM (Automatic Storage Management) は、 Oracle 10g で導入 さ れた Oracle の機能 です。 現在サポー ト し てい る プ ラ ッ ト フ ォ ームの一覧については、 最新の リ リ ース ノ ー ト / パ ッ チのお知 ら せの 「サポー ト す る 操作 と 非サポー ト の操作」 を参照 し て く だ さ い。 Redo ログおよびデー タ フ ァ イルの場所 SharePlex は Oracle REDO ロ グお よ びデー タ フ ァ イ ルが ロ ーデバ イ ス上、 フ ァ イ ルシ ス テ ムデバ イ ス ま たは両方に存在す る 場合に複製を サポー ト し ます。 Redo ログサイ ズ も し ユーザーが複製 さ れてい る オブジ ェ ク ト に変更を行っ てい る 間に Capture プ ロ セ ス が停止 し た (ま たはユーザーに よ っ て停止 さ れた) 場合、 Capture は その場所を REDO ロ グに記録 し 、 再開 し た時点でその場所か ら 継続 し ます。 も し REDO ロ グが Capture が再開す る 前に ラ ッ プ し た場合は、 Capture は欠損 し た レ コ ー ド を見つけ る ためにアーカ イ ブ ロ グ を読み込みます。 Capture が再開する ま での遅延時間が長い場合は、 Capture は Oracle の処理のペー ス に追いつかなく なり 、 SharePlex がアーカ イ ブロ グから パリ ティ を 回復する の も 待つよ り も データ を 再同期する 方が実用的であ る 可能性があ り ま す。 こ れは 環境と ソ ース と タ ーゲッ ト データ 間の遅延時間の許容範囲に依存し ま す。 章4 SharePlex での複製の計画 101 ロ グの読み取 り は、 capture queue を通 し てデー タ の処理が行われ る ため、 Capture が ミ ス し た操作を プ ロ セ ス し てい る 間に ソ ース シ ス テ ム のデ ィ ス ク 空 き 容量が不足す る 可能性があ り ます。 ま た、 SharePlex が タ ーゲ ッ ト シ ス テ ム に post す る ための SQL 文を構築す る のに必要な情報を失 う 可能性 も あ り ます。 こ の時点では、 デー タ を再同期す る 以外に方法はあ り ません。 し たが っ て、 Capture プ ロ セ ス を長時間停止す る こ と は避けて く だ さ い。 アー カ イ ブ ロ グ Capture が読み取 り を終了す る 前にオ ン ラ イ ン REDO ロ グが ラ ッ プす る と き 、 アーカ イ ブ ロ グは複製を継続 し ます。 次のガ イ ド ラ イ ン で正常な複製を現実化 す る ためにアーカ イ ブ ロ ギ ン グ を設定す る 方法を説明 し ます。 ソ ース シ ス テムのアー カ イ ブ ロ グ アーカ イ ブ ロ グ を ソ ース シ ス テ ム で有効に し ます。 も し アーカ イ ブ ロ グが使用 不可で、 REDO ロ グが ラ ッ プ し Capture がデー タ 処理を完了 し ていない場合は、 デー タ を再同期す る 必要があ り ます。 アーカ イ ブ ロ グ を圧縮す る 場合は、 SharePlex が処理を終了す る ま で、 それ ら 圧縮 し ないで く だ さ い。 でなければ、 SharePlex が Log wrap detected エ ラ ーを返 し 、 デー タ を処理す る こ と がで き な く な り ます。 SharePlex のカ レ ン ト ロ グ を 判断す る には、 ソ ース シ ス テ ム上の sp_ctrl の中で、 [detail] オプシ ョ ン をつけ て show capture コ マ ン ド を発行 し ます。 カ レ ン ト ロ グ以前に生成 さ れた ど の ロ グ も 圧縮で き ます。 圧縮 さ れた アーカ イ ブ ロ グ を使用す る と き 、 SP_OCT_ARCH_LOC パ ラ メ ー タ を アーカ イ ブ ロ グが存在す る デ ィ レ ク ト リ の完全パ ス名に設定 し ます。 REDO ロ グが ラ ッ プ し た と き は、 SharePlex は Oracle のアーカ イ ブ ロ グ リ ス ト の中の アーカ イ ブ ロ グ を検索 し ます。 SharePlex がそ こ でアーカ イ ブ ロ グ を発見で き ない場合は、 SP_OCT_ARCH_LOC パ ラ メ ー タ で指定 さ れたデ ィ レ ク ト リ で探 し ます。 こ のパ ラ メ ー タ の詳細は SharePlex リ フ ァ レ ン ス マニ ュ アルを参照 し て く だ さ い。 タ ーゲ ッ ト シ ス テムのアー カ イ ブ ロ グ タ ーゲ ッ ト シ ス テ ム上のアーカ イ ブ ロ ギ ン グは、 シ ス テ ム上の不要な Oracle ア ク テ ィ ビ テ ィ を解消す る ため、 無効に し ます。 も し 高可用性やピ ア ト ゥ ピ ア 複製な ど の目的で、 タ ーゲ ッ ト シ ス テ ム上のアーカ イ ブ ロ ギ ン グ を保持す る 必 要があ る 場合は、 アーカ イ ブ ロ グ を作成 し 続け る ために Oracle のアーカ イ ブ ロ グのデ ィ レ ク ト リ に十分な空 き 容量を保持 し て く だ さ い。 も し Oracle が ロ グ を作成す る こ と がで き ない場合は、問題が解決 さ れ る ま で Post が変更を post で き な く な り ます。 102 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 アー カ イ ブ ログ量 ト ラ ンザ ク シ ョ ン の量が非常に多い ま たは、 非常に少ない場合に最適のパ フ ォーマ ン ス を得 る ためには、 複製が解 さ れ る 前にい く つかのパ ラ メ ー タ を変 更す る こ と をお勧め し ます。 正 し い値を決定す る には、 次のテーブルのか ら 、 ソ ースデー タ ベース の 1 日のアーカ イ ブ ロ グの量に適応す る テーブルを参照 し て く だ さ い。 パ ラ メ ー タ は sp_ctrl にあ る set param コ マ ン ド を使用 し て変更 し ます。 こ れ ら のパ ラ メ ー タ の変更に関 し て疑問があ る 場合は、 Quest Technical Support に連絡 し て く だ さ い。 1 日に 5 GB か ら 15 GB の間のアーカ イ ブ ロ グ を生成 し てい る 環境は、 SharePlex パ ラ メ ー タ のデフ ォ ル ト の設定で十分であ り 、 何 も す る 必要があ り ません。 ロ グの量が 1 日に 5 GB 以下の場合 パラ メ ー タ 名 推奨する設定値 ど こ で設定するか SP_OCT_CHECKPOINT_FREQ 500 ソ ース シ ス テ ム SP_ORD_CDA_LIMIT 5 ソ ース シ ス テ ム SP_ORD_DELAY_RECORDS 50 ソ ース シ ス テ ム SP_ORD_LDA_ARRAY_SIZE 5 ソ ース シ ス テ ム SP_ORD_RMSG_LIMIT 20 ソ ース シ ス テ ム SP_IMP_WCMT_MSGCNT 100 タ ーゲ ッ ト シ ス テ ム SP_COP_IDLETIME 120 ソ ース と タ ーゲ ッ ト シ ス テム ロ グの量が 1 日に 15 GB 以上の場合 パラ メ ー タ 名 推奨する設定値 ど こ で設定するか SP_OCT_CHECKPOINT_FREQ 5000 ソ ース シ ス テ ム SP_ORD_CDA_LIMIT 20 ソ ース シ ス テ ム SP_ORD_DELAY_RECORDS 500 ソ ース シ ス テ ム SP_ORD_LDA_ARRAY_SIZE 10 ソ ース シ ス テ ム SP_ORD_RMSG_LIMIT 2000 ソ ース シ ス テ ム SP_IMP_WCMT_MSGCNT 2500 タ ーゲ ッ ト シ ス テ ム 章4 SharePlex での複製の計画 103 ロ グの量が 1 日に 15 GB 以上の場合 (続 く ) SP_COP_IDLETIME 600 ソ ース と タ ーゲ ッ ト シ ス テ ム SharePlex パ ラ メ ー タ お よび set param コ マ ン ド の詳細は、 SharePlex リ フ ァ レ ン ス マニ ュ アルを参照 し て く だ さ い。 REDO ロ グ をバイパスする操作 SharePlex は REDO ロ グに書 き 込まれ る 変更のみを複製 し ます。 REDO ロ グ を バ イ パ スす る 変更は複製 さ れ ません。 ただ し 、 SQL*Loader ダ イ レ ク ト ロ ー ド の操作は例外 と し ます。 SharePlex はテーブル 1 つにつ き 1 つの ロ ー ド が存在 す る と き (PARALLEL=FALSE)、 ダ イ レ ク ト の読み込みを複製 し ます。 デー タ ベース はアーカ イ ブモー ド にな っ てい る 必要があ り 、 ま たテーブル ロ ギ ン グ を 有効にす る 必要があ り ます。 DML (デー タ ) ロ ッ ク SharePlex は設定で指定 さ れたテーブルを初めて ア ク テ ィ ベー ト す る と き に ロ ッ ク し ます。 さ ら に、 設定が再ア ク テ ィ ベー ト さ れ る と き に、 設定に追加 さ れたテーブルを ロ ッ ク し ます (追加 さ れたテーブルのみ、 その activation に限 り ます)。 SharePlex で ロ ッ ク が不足 し ない こ と を保証す る ために、 init.ora フ ァ イ ルにあ る DML_LOCKS パ ラ メ ー タ を、 最低現行の値に設定に存在す る テー ブルの数を 「加算 し た」 値に、 ま たはそれ以上テーブルを追加す る 予定があ る 場合は、 それ以上に設定 し ます。 OPEN_CURSORS パラ メ ー タ SharePlex では Oracle OPEN_CURSORS パ ラ メ ー タ の値を正 し く 設定す る 必要 があ り ます。 OPEN_CURSORS の値を表示す る には、 次の SQL 文を使用 し て デー タ ベース を ク エ リ し ます。 select value from V$PARAMETER where name = 'open_cursors' ; Post プ ロ セ ス は、 終了時にい っ たん閉 じ る ルーチン コ ールに備え て 10 個の カー ソ ルを、 さ ら に ト ラ ンザ ク シ ョ ン当た り 少な く と も 2 個、 ま たは SQL Cache オプシ ョ ン を有効に し た場合はそれ以上のカー ソ ルを確保 し てお く 必要 104 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 があ り ます。 OPEN_CURSORS の正 し い値を決定す る には、 SQL Cache を使用 し てい る かに よ っ て次のいずれか を行い ます。 • SQL Cache を有効に し た場合 : SQL Cache はデフ ォ ル ト で有効にな っ てい ます。 SQL Cache の ス テー タ ス を表示す る には、 sp_ctrl にあ る list param post コ マ ン ド を発行 し 、 SP_OPO_SQL_CACHE_DISABLE パ ラ メ ー タ を表 示 し ます。 値が 0 の場合は有効であ る こ と を意味 し 、 1 は無効であ る こ と を 意味 し ます。 SQL Cache の OPEN_CURSORS の設定の詳細は、 237 ページ を 参照 し て く だ さ い。 • SQL Cache を無効に し た場合 : アプ リ ケーシ ョ ン が生成す る 並行更新 ト ラ ンザ ク シ ョ ン (セ ッ シ ョ ン) の ピー ク 数を概算 し 、 次の公式に従い ます。 10 + (並行 ト ラ ンザ ク シ ョ ンのピ ー ク 数 Þ 2) = 必要最小オープ ン カ ー ソ ル 数 OPEN_CURSORS の値が存在 し ない場合、 変更ま たは追加で き ます。 Oracle パ ラ メ ー タ を変更す る 際には、 事前に適切な Oracle ド キ ュ メ ン ト を参照す る こ と をお勧め し ます。 PROCESSES パラ メ ー タ SharePlex お よ びデー タ ベース ユーザーに よ っ て作成 さ れた接続を処理す る た めに init.ora フ ァ イ ルの PROCESSES パ ラ メ ー タ を設定す る 必要があ り ます。 その値は、 シ ス テ ムが ソ ース シ ス テ ム、 タ ーゲ ッ ト シ ス テ ム、 ま たはその両方 の役目を果たす も のなのかに依存 し ます。 ソ ースシ ス テムのみ : シ ス テ ムが ソ ース シ ス テ ム と し てのみ動作す る 場合は、 次の公式で Read プ ロ セ ス に よ っ て作成 さ れた ロ グ イ ン を考慮 し ます。 ( ソ ースデー タ ベース セ ッ シ ョ ンのピ ー ク 数 ) + ( バ ッ ク グ ラ ン ド の Oracle プ ロ セ ス ) + (SP_ORD_LDA_ARRAY_SIZE パ ラ メ ー タ 値 +3) = PROCESSES の 値 タ ーゲ ッ ト シ ス テムのみ Post プ ロ セ ス は 1 つの Oracle ユーザーですが、 ト ラ ンザ ク シ ョ ン の一貫性を保 つため、 ソ ース シ ス テ ム上のセ ッ シ ョ ン数 と 同 じ 数の接続を タ ーゲ ッ ト シ ス テ ムに作成 し ます。 タ ーゲ ッ ト シ ス テ ム上の PROCESSES パ ラ メ ー タ は Post の 接続に対応す る のに十分な値に設定 し なければな り ませんが、 それに加えそれ ら の接続が生成す る バ ッ ク グ ラ ン ド Oracle プ ロ セ ス、 そ し て さ ら に タ ーゲ ッ 章4 SharePlex での複製の計画 105 ト デー タ ベース を ア ク セ スす る と 期待 さ れてい る ユーザーの ピー ク 数 も 含む必 要があ り ます。 次の公式で説明 し ます。 ( ソ ースデー タ ベース セ ッ シ ョ ンのピ ー ク 数 ) + ( タ ーゲ ッ ト デー タ ベース セ ッ シ ョ ンのピ ー ク 数 ) + ( バ ッ ク グ ラ ン ド の Oracle プ ロ セ ス ) = PROCESSES の値 ソ ース と タ ーゲ ッ ト シ ス テムのコ ン ビ ネーシ ョ ン シ ス テ ム が ソ ース シ ス テ ム と タ ーゲ ッ ト シ ス テ ム の両方 と し て動作す る 場合 は、 次の公式で Read プ ロ セ ス に よ っ て作成 さ れた ロ グ イ ン、 Post の接続、 バ ッ ク グ ラ ン ド の Oracle プ ロ セ ス、 ユーザー接続を考慮 し ます。 ( ソ ースデー タ ベース セ ッ シ ョ ンのピ ー ク 数 ) + ( タ ーゲ ッ ト デー タ ベース セ ッ シ ョ ンのピ ー ク 数 ) + ( バ ッ ク グ ラ ン ド の Oracle プ ロ セ ス ) + (SP_ORD_LDA_ARRAY_SIZE パ ラ メ ー タ の値 +3)= PROCESSES の値 LOG_PARALLELISM パラ メ ー タ Oracle 9i で LOG_PARALLELISM パラ メ ータ は init.ora フ ァ イ ルにあ り ま す。 こ のパラ メ ータ は、 REDO ロ グ の書き 込みのために一度に取得でき る ラ ッ チ最大 数を 設定し ま す。 こ のパラ メ ータ のデフ ォ ルト 値は 1 です。 大量のア ク ティ ビ ティ によ る 長時間のロ グ 待ち時間を 体験し ている ユーザーは通常こ のパラ メ ー タ ーを 1 以上に設定し ま す。 こ れは、 LOG_PARALLELISM パラ メ ータ が REDO ロ グ を 非連続的にに書き 込むこ と で混雑を 軽減する 手助けを する から です。 し か し SharePlex は REDO ロ グ内の ト ラ ンザ ク シ ョ ンが連続的に書 き 込まれて い る こ と を想定 し ます。 も し LOG_PARALLELISM パ ラ メ ー タ が 1 以上の値に 設定 さ れた場合、 SharePlex はそれを検出 し 、 失敗 し ます。 こ の問題を防 ぐ には、 SharePlex を イ ン ス ト ールす る 前に init.ora フ ァ イ ル内の LOG_PARALLELISM パ ラ メ ー タ の値をチ ェ ッ ク し て く だ さ い。 値が 1 よ り 大 き い場合は、 1 に リ セ ッ ト し 、 新 し い値が有効にな る よ う に Oracle イ ン ス タ ン ス を再起動 し ます。 Oracle 10g 以降では、 LOG_PARALLELISM 設定は廃止予定 と な っ てお り 、 現 在デフ ォ ル ト で有効にな っ てい ます。 最新版 SharePlex では、 Oracle 10g 以降 に対 し て REDO ロ グの非連続的な書 き 込みがサポー ト さ れ る よ う にな り 、 パ ラ メ ー タ の値が 1 以上で も SharePlex は失敗 し ません。 Oracle RECOVERY_PARALLELISM パ ラ メ ー タ は、 値が 1 以上に設定 さ れた場合、 SharePlex でサポー ト さ れてい ません。 106 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Log バ ッ フ ァ サイ ズ デー タ ベース ラ イ タ ーの数は特に複数の並行 ト ラ ンザ ク シ ョ ンがあ る 場合、 複 製に影響を及ぼ し ます。 ト ラ ンザ ク シ ョ ンが コ ミ ッ ト さ れ る と き 、 そのバ ッ フ ァ デー タ がデ ィ ス ク に フ ラ ッ シ ュ さ れ ます。 も し ほ と ん ど の ト ラ ンザ ク シ ョ ンが小 さ く 、 し か し そのバ ッ フ ァ が大 き い場合は、 Post が遅 く な る 原因 と な り ます。 大 き い ト ラ ンザ ク シ ョ ン が コ ミ ッ ト さ れ、 そ し て標準サ イ ズの ト ラ ンザ ク シ ョ ンが コ ミ ッ ト さ れた場合は、 2 つ目の COMMIT はバ ッ フ ァ 全体がデ ィ ス ク に フ ラ ッ シ ュ さ れ る ま で待たなければな り ません。 デ ィ ス ク に フ ラ ッ シ ュ す る バ ッ フ ァ のサ イ ズ を減少す る こ と で Post プ ロ セ ス を高速化す る こ と がで き ます。 一般的に、 イ ンデ ッ ク ス を再構築 し ない限 り 1 MB 以上は大 き すぎ ます。 その場合は、 大 き なブ ロ ッ ク を一括に書 き 込む必要 があ り ます。 ロ グバ ッ フ ァ のサ イ ズ を 1024 KB ま たは可能であれば 512 KB ま で減少 し て く だ さ い。 ト ラ ンザク シ ョ ンサイ ズ 通常、 Post は、 各 COMMIT を受信 し た後に 1 回内部 read/release を行ない ま す。 つま り 、 チ ェ ッ ク ポ イ ン ト 復旧プ ロ セ ス の一部 と し て キ ュ ーか ら その ト ラ ンザ ク シ ョ ンのデー タ をパージ し ます。 小 さ な ト ラ ンザ ク シ ョ ン では、 こ う す る こ と で タ ーゲ ッ ト シ ス テ ム で I/O が過剰にな り Post が低速 さ れます。 ほ と ん ど の ト ラ ンザ ク シ ョ ンが小型の場合は、 SP_OPO_READRELEASE_INTERVAL パ ラ メ ー タ のデフ ォ ル ト 値を 100 に増加 し 、 一定数の メ ッ セージの後で Post が read/release を行な う よ う に指示 し ます。 こ のパ ラ メ ー タ の詳細は、 『SharePlex Reference Manual』 の第 4 章 を参照 し て く だ さ い。 メ ッ セージの詳 細は、 12 ページ を参照 し て く だ さ い。 キャ ラ ク タ セ ッ ト 次のキ ャ ラ ク タ セ ッ ト が SharePlex 向けにテ ス ト さ れ、 サポー ト さ れてい ます。 • • • • • • US7ASCII UTF8 WE8ISO8859P1 AL16UTF16 AL32UTF8 KO16KSC5601 章4 SharePlex での複製の計画 107 SharePlex はキ ャ ラ ク タ セ ッ ト のサブセ ッ ト と 、 そのキ ャ ラ ク タ セ ッ ト の スー パーセ ッ ト の間の複製をサポー ト し ますが、 2 つの異な る キ ャ ラ ク タ セ ッ ト 間 の複製はサポー ト し ません。 キ ャ ラ ク タ セ ッ ト の変換 SharePlex では、 同 じ キ ャ ラ ク タ セ ッ ト 間で複製す る 場合はキ ャ ラ ク タ セ ッ ト 内のすべてのキ ャ ラ ク タ が確実に複製 さ れ ます。 し か し 、 異な る キ ャ ラ ク タ セ ッ ト 間で複製す る 場合は、 何 ら かのキ ャ ラ ク タ セ ッ ト 変換が必要にな る こ と があ り ます。 こ の変換を ど の よ う に し て実行す る か を選択 し 、 必要なパ ラ メ ー タ を設定 し て正 し い SharePlex の動作を指定す る 必要があ り ます。 SharePlex はキ ャ ラ ク タ セ ッ ト の変換を実行 し ませんが、 代わ り に Oracle が変 換 し ます。 SharePlex がデー タ を post す る と 、 デー タ を エ ン コ ー ド す る キ ャ ラ ク タ セ ッ ト について Oracle に通知 さ れ ます。 デー タ が タ ーゲ ッ ト のデー タ ベース のキ ャ ラ ク タ セ ッ ト と 異な る キ ャ ラ ク タ セ ッ ト でエ ン コ ー ド さ れてい る と 、 Oracle でキ ャ ラ ク タ セ ッ ト の変換が実行 さ れ ます。 関連す る キ ャ ラ ク タ セ ッ ト に よ っ て Oracle 変換はデー タ 損失が生 じ る 可能性 があ り ます。 た と えば、 JA16SJIS キ ャ ラ ク タ セ ッ ト にあ る 日本語文字 「米」 を例に説明 し ます。 こ の文字に該当す る 文字は US7ASCII キ ャ ラ ク タ セ ッ ト に はあ り ません。 こ の文字を US7ASCII デー タ ベース に複製 し よ う と し た と き 、 こ の よ う な文字が US7ASCII にないため、 Oracle は こ れを 「?」 文字に変換 し て し ま い ます。 Oracle に よ る キ ャ ラ ク タ セ ッ ト の変換は予期 し ない結果が生 じ る 可能性があ り ます。 た と えば、 Oracle に よ る と 、 WE8ISO8859P1 キ ャ ラ ク タ セ ッ ト は US7ASCII キ ャ ラ ク タ セ ッ ト の スーパーセ ッ ト です。 し たがっ て、 US7ASCII に含まれ る いかな る 文字で も 、 WE8ISO8859P1 タ ーゲ ッ ト デー タ ベース に変換 さ れ る こ と な く post さ れ ます。 こ れは、 0x00 か ら 0x7F. ま での範囲に適応 さ れ ます。 し か し 、 Oracle は 0x80 か ら 0xFF ま での範囲の文字は、 先頭ビ ッ ト を取 り 去 り ます。 こ の 「変換」 は ソ ース の スーパーセ ッ ト であ る キ ャ ラ ク タ セ ッ ト に複製す る 際に、 デー タ 損失 と な る 可能性があ り ます。 Oracle はキ ャ ラ ク タ セ ッ ト が同一であ る 場合は、 文字の変換は し ません。 こ の ため、 キ ャ ラ ク タ セ ッ ト が WE8ISO8859P1 のデー タ ベース に対 し て WE8ISO8859P1 デー タ を post し た場合、 Oracle のデー タ 変換処理はバ イ パ ス さ れます。 108 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 同一でないキ ャ ラ ク タ セ ッ ト の間での複製 異な る キ ャ ラ ク タ セ ッ ト 間で複製す る 場合は、 次のいずれか を行 う 必要があ り ます。 • Oracle キ ャ ラ ク タ セ ッ ト 変換を使用す る ま たは . . • Oracle キ ャ ラ ク タ セ ッ ト 変換をバ イ パ スす る SharePlex のデフ ォ ル ト の仕様では、 Oracle キ ャ ラ ク タ セ ッ ト 変換をバ イ パ ス し ます。 こ の動作を アーカ イ ブす る ために、 パ ラ メ ー タ を設定す る 必要はあ り ません。 Oracle キ ャ ラ ク タ セ ッ ト 変換を使用す る には、 ソ ースデー タ ベース のキ ャ ラ ク タ セ ッ ト に SP_OPO_CHARACTERSET パ ラ メ ー タ を設定 し ます。 SharePlex は こ れ ら のパ ラ メ ー タ を使用 し て、 デー タ がエ ン コ ー ド さ れてい る キ ャ ラ ク タ セ ッ ト を Oracle に通知 し ます。 SP_OPO_CHARACTERSET パ ラ メ ー タ は、 CHAR、 VARCHAR2、 お よ び CLOB な ど の標準の文字列の複製を制御 し ます。 注 : ソ ースデー タ ベースの NLS_NCHAR_CHARACTERSET が タ ーゲ ッ ト デー タ ベー スの NLS_NCHAR_CHARACTERSET と 異な る場合、 デ フ ォル ト で SharePlex は NVARCHAR および NCLOB デー タ を変換 し ます。 . NCHAR、 NVARCHAR、 NCLOB のサポー ト は SharePlex 5.0 で追加 さ れま し た。 バージ ョ ン 5.0 の前は、 こ れに似た SP_OPO_NLS_LANG がキ ャ ラ ク タ セ ッ ト の変換を制御 し ま し た。 NCHAR のサポー ト は複数のキ ャ ラ ク タ セ ッ ト を意味 す る ため、 追加のパ ラ メ ー タ が SharePlex 5.0、 作成 さ れ、 SP_OPO_NLS_LANG は今は廃止 さ れてい ます。 こ れ ら のパ ラ メ ー タ の詳細は、 『SharePlex リ フ ァ レ ン スガ イ ド 』 を参照 し て く だ さ い。 注 : SP_OPO_CHARACTERSET を設定する こ と で、 SP_OPO_NLS_LANG で指定 さ れたキ ャ ラ ク タ セ ッ ト は無視 さ れます。 以前のバージ ョ ンの SharePlex から ア ッ プグ レー ド する場合は、 SP_OPO_NLS_LANG は廃止 さ れま し たがまだ使用で き る ため、 パラ メ ー タ 設定を変更する必要はあ り ません。 章4 SharePlex での複製の計画 109 デー タ ベースのキ ャ ラ ク タ セ ッ ト の検証 Post が ORA-1762 エ ラ ー (無効な数字) を生成す る 場合は、 ソ ースお よ び タ ー ゲ ッ ト シ ス テ ム で次のデー タ ベース パ ラ メ ー タ を検証 し ます。 NLS_TERRITORY NLS_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_TERRITORY が 「America」 以外の値、 そ し て NLS_NUMERIC_CHARACTERS が 「,.」 に設定 さ れてい る 場合は、 次の手順を ソ ース シ ス テ ムお よ び タ ーゲ ッ ト シ ス テ ム で使用 し ます。 1 ソ ース シ ス テ ム と タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で、 シ ャ ッ ト ダ ウ ン し ま す SharePlex。 sp_ctrl(sysA)> shutdown sp_ctrl(sysB)> shutdown 2 ソ ース シ ス テ ム と タ ーゲ ッ ト シ ス テ ム で、 次の環境変数を export し ます。 AMERICAN_AMERICA は大文字であ る 必要があ り ます。 (ksh) export NLS_LANG=AMERICAN_AMERICA.database_character_set - ま たは (csh) setenv NLS_LANG AMERICAN_AMERICA.database_character_set 3 SharePlex を ソ ース シ ス テ ムお よ び タ ーゲ ッ ト シ ス テ ム上で起動 し ます。 4 ソ ース シ ス テ ム上の sp_ctrl で、 ソ ースデー タ ベース の ORACLE_SID お よ びキ ャ ラ ク タ セ ッ ト を使用 し て、 次のパ ラ メ ー タ を設定 し ます。 AMERICAN_AMERICA は大文字であ る 必要があ り ます。 sp_ctrl(sysA)> set param sp_ord_nls_lang ORACLE_SID, AMERICAN_AMERICA.database_character_set 110 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 5 ソ ース シ ス テ ム上の sp_ctrl で、 Read プ ロ セ ス を停止 し 、 それか ら それを再 び起動 し ます。 こ れは新 し いパ ラ メ ー タ の設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> stop read sp_ctrl(sysA)> start read 6 タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で、 タ ーゲ ッ ト デー タ ベース の ORACLE_SID お よ びキ ャ ラ ク タ セ ッ ト を使用 し て、 次のパ ラ メ ー タ を設定 し ます。 AMERICAN_AMERICA は大文字であ る 必要があ り ます。 sp_ctrl(sysB)> set param sp_opo_nls_lang AMERICAN_AMERICA.database_character_set 7 タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で、 Post プ ロ セ ス を停止し 、 それか ら それを 再び起動し ます。 こ れは新し いパ ラ メ ータ の設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> stop post sp_ctrl(sysB)> start post SP_ORD_NLS_LANG お よ び SP_OPO_NLS_LANG パ ラ メ ー タ の詳細は、 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 し て く だ さ い。 日付 バージ ョ ン 8.0.5 以下の Oracle JDBC ド ラ イ バ ク ラ ス は不正な日付形式が許容 さ れてい ます。 ご使用のアプ リ ケーシ ョ ンが JDBC ド ラ イ バ ク ラ ス 8.0.5 以上 を使用 し てい る こ と を確認 し て く だ さ い。 SHAREPLEX_TRANS テーブルの initrans 設定 SharePlex は タ ーゲ ッ ト デー タ ベース の read の一貫性を維持す る ために、 SHAREPLEX_TRANS テーブルを更新 し ます。 Post プ ロ セ ス はプ ロ ダ ク シ ョ ン イ ン ス タ ン スへ実行 さ れた ト ラ ンザ ク シ ョ ン を再構築す る ため、 パフ ォ ーマ ン ス を向上 し 、 そのテーブルの競合を削減す る ため initrans 設定を増加す る 必要 があ る 可能性があ り ます。 • プ ロ ダ ク シ ョ ンデー タ ベース が 500 か ら 1,000 人の同時ユーザーを持っ てい る 場合、 SHAREPLEX_TRANS テーブルの initrans が 30 にな る よ う に再構 築 し ます。 • プロ ダク ショ ン データ ベース が 1,000 人以上の同時ユーザーを 持っ ている 場合、 SHAREPLEX_TRANS テーブルの initrans が 40 になる よ う に再構築し ま す。 章4 SharePlex での複製の計画 111 Oracle Label Security (OLS) 複製で Oracle Label Security (行レベルのセキ ュ リ テ ィ ) がテーブルに対 し て 有効にな っ てい る 場合、 SharePlex が保護 さ れた行を処理す る こ と はで き ませ ん。 デフ ォ ル ト では、 DBA 権限を持っ てい る ユーザー (た と えば SharePlex) は OLSSYS ユーザーか ら 特別な権限が許可 さ れない限 り 、 こ れ ら の行を見 る ための十分な権限があ り ません。 SharePlex は、 次の OLS 設定下でテ ス ト さ れてい ます。 SPLEX_USER には、 複製内のオブジ ェ ク ト に対す る FULL 権限が与え ら れま し た。 OLS セキ ュ リ テ ィ に よ る テ ス ト テーブルが作成 さ れま し た。 OLS ポ リ シーデー タ ラ ベル列は隠 さ れてい ません。 デー タ は insert/update/delete/rollback/ truncate を使用 し て複製 さ れ、 alter table で列の追加お よ び ド ロ ッ プが行われま し た。 OLS ポ リ シーデー タ ラ ベル列が隠 し 列 と し て定義 さ れてい る 場合、 SharePlex はその列内のデー タ を タ ーゲ ッ ト シ ス テ ム に複製で き ません。 複製のためのシス テムの設定 SharePlex はオペレーテ ィ ン グ シ ス テ ムへの変更を必要 と し ませんが、 正常な 複製を保証す る ためにい く つかのシ ス テ ム レベルの調節が必要です。 ホス ト 名 SharePlex では、 文字ま たは数字のみのホ ス ト 名がサポー ト さ れ ます。 ホ ス ト 名に ド ッ ト やその他の英字以外のキ ャ ラ ク タ (「.」 ま たは 「_」 な ど) が含ま れてい る 場合は、 ロ ーカルの /etc/hosts フ ァ イ ルに英数字のみを含むエ イ リ ア ス を作成 し ます。 ま た、 使用す る 場合は、 NIS サーバー と DNS サーバーに対 し て も エ イ リ ア ス を作成 し ます。 Geography Oracle デー タ ベース の要素が分散 さ れてい る デ ィ ス ク ド ラ イ ブ を見直 し 、 SharePlex プ ロ セ ス の場所 と 比較 し ます。 一般的に、 次の I/O 集約的なプ ロ セ ス が相互的に別 ド ラ イ ブ、 で き れば別プ ロ セ ッ サ上に位置づけ る こ と をお勧め し ます。 112 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • REDO ロ グ ― で き ればス ト ラ イ プ化 な し で、 半導体 ド ラ イ ブ上に置 く • ロ ールバ ッ ク セ グ メ ン ト ― で き れば 半導体 ド ラ イ ブ上に置 く • • • • SYSTEM 表領域 イ ンデ ッ ク ス群 デー タ フ ァ イ ル REDO ログ と ロールバ ッ ク セグ メ ン ト は最も書き込み集約的な プ ロ セスであ り 、 最も シーケ ン シ ャルア ク セスが多いプ ロ セス です。 これは他のラ ン ダムにア ク セスする、 混合 さ れた、 Read 集約的な プ ロ セスから隔離する 必要があ り ます。 SharePlex プ ロ セ ス (SharePlex 製品 デ ィ レ ク ト リ にあ る バ イ ナ リ ) • SharePlex キ ュ ー (SharePlex 変数デー タ デ ィ レ ク ト リ 下の rim サブデ ィ レ ク ト リ に作成 さ れ る フ ァ イ ル) SharePlex プ ロ セ ス と キ ュ ーを固有のデ ィ ス ク ド ラ イ ブに置 く こ と がで き ない 場合は、 SharePlex キ ュ ーをデー タ フ ァ イ ル と 組み合わせ、 SharePlex プ ロ セ ス を SYSTEM 表領域 と 組み合わせます。 重要! rim サブデ ィ レ ク ト リ だけを別 ド ラ イ ブに移動する場合は、 SharePlex 変数デー タ デ ィ レ ク ト リ に リ ン ク し ます。 ローデバイ ス SharePlex バ イ ナ リ お よ びキ ュ ーフ ァ イ ルは ロ ーデバ イ ス に存在す る こ と が 「で き ません」。 SharePlex ソ フ ト ウ ェ ア ロ ーデバ イ ス に イ ン ス ト ール さ れた場 合は、 すべての フ ァ イ ルを プ ロ ダ ク シ ョ ン フ ァ イ ルシ ス テ ム と は別の フ ァ イ ル シ ス テ ムデ ィ ス ク に移動す る か、 SharePlex を削除 し 、 フ ァ イ ルシ ス テ ムデ ィ ス ク に再 イ ン ス ト ール し ます。 Redo ロ グお よ び Oracle デー タ フ ァ イ ルは複製 環境の ロ ーデバ イ ス に存在す る こ と は 「で き ます」。 CPU について 80 % ク エ リ と 20% 変更が混在 し た通常の ビ ジネ ス アプ リ ケーシ ョ ン では SharePlex は 2% か ら 5% の負荷を、 Oracle に よ っ て消費 さ れ る リ ソ ース の上に 追加 し ます。 追加の I/O 負荷はネ ッ ト ワー ク が転送 さ れ る デー タ に対応で き る こ と を想定 し 、 最小限です。 DML 集約的な シ ス テ ム では、 Oracle に よ っ て消費 さ れ る リ ソ ース に SharePlex は約 15 % 追加 し ます。 た と えば、 Oracle が 50,000 行のデー タ を挿入す る のに 100 秒かか っ た と す る と 、 SharePlex はそれ ら の行を複製す る ために さ ら に 15 章4 SharePlex での複製の計画 113 秒の CPU 時間を と り ます。 こ れはガ イ ド ラ イ ンだけであ り 、 実際の結果は ト ラ ンザ ク シ ョ ン の組み合わせに よ っ て異な り ます。 キ ュ ー フ ァ イルのデ ィ ス ク 空き容量 キ ュ ー フ ァ イルのサイ ズ SharePlex で主にデ ィ ス ク 空 き 容量を消費す る のは、 キ ュ ー (capture、 export、 post) であ り 、 定期的に メ モ リ か ら SharePlex 変数デー タ デ ィ レ ク ト リ の rim サ ブデ ィ レ ク ト リ に書 き 込まれ ます。 キ ュ ーのデー タ に対応す る ため、 SharePlex は要求 さ れてい る 各キ ュ ーに対 し てデー タ フ ァ イ ルを構築 し ます。 すべての キ ュ ーデー タ フ ァ イ ルは 8 MB です。 キ ュ ーは動的であ る ので、 デー タ フ ァ イ ルの数は活動の ピー ク では膨大な数に な り 、 複製がユーザーに よ っ て、 あ る いはネ ッ ト ワー ク 、 イ ン ス タ ン ス ・ シ ス テ ム障害に よ っ て停止 さ れた と き には さ ら に増加 し ます。 • Read が停止す る と 、 ソ ース シ ス テ ムの capture queue にデー タ が蓄積 さ れ ま す。 • ネ ッ ト ワ ー ク ま たは タ ーゲ ッ ト シ ス テ ム が使用不可の場合、 ま たは Export ま たは Import が停止 し た場合は、 デー タ が ソ ース シ ス テ ム の export queue に 蓄積 さ れ ます。 • タ ーゲ ッ ト Oracle シ ス テ ムが使用不可の場合、 ま たは Post が停止 し た場合 は、 デー タ が タ ーゲ ッ ト シ ス テ ム の post queue に蓄積 さ れ ます。 両方のシ ス テムにおいて、 ピー ク 処理ま たはダ ウ ン タ イ ムが継続する限 り キ ューデータ を格納で き る まで十分な空き容量が必要です。 シ ス テ ムがデ ィ ス ク 空き容量がな く な っ た ら 複製が停止し 、 データ を再同期する必要があ り ます。 各シ ス テムのキ ュ ー要領を算出する には 1 最悪のシナ リ オ を使用 し 、 許容で き る ダ ウ ン タ イ ム の時間を概算 し ます。 2 次の公式を ガ イ ド と し て使用 し て、 その と き ど の く ら いのデー タ が複製 さ れ る か を判断 し ます。 redo ロ グの約 1/3 のみが実際に複製 さ れ る デー タ であ る ので、 こ の公式では redo ロ グの値に 1/3 を乗算 し ます。 残 り は、 イ ン ス タ ン ス自体の メ ン テナン ス と 操作のために、 Oracle に使用 さ れ ます。 [redo ロ グのサ イ ズ ] x [1 時間のロ グス イ ッ チ数 ] x 1/3 x [ ダウ ン時間数 ] = 各シ ス テムのキ ュ ーに必要なデ ィ ス ク 領域量 114 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 例: た と えば、 8 時間のダ ウ ン タ イ ム か ら 回復す る 際に、 REDO ロ グが 60 MB であ る と し ます。 1 時間に 5 回切 り 替わ る と し ます。 公式を使 う と 、 SharePlex キ ュ ー用に ソ ース マシ ン と タ ーゲ ッ ト マシ ン の 「両方」 に 800 MB の空 き 容量 が必要であ る こ と にな り ます。 [60 MB の redo ロ グ ] x [5 ス イ ッ チ / 時 ] x [1/3] x [8 時間 ] = 800 MB デ ィ ス ク 領域 ヒ ン ト : ア ク テ ィ ブ設定がある場合、 特にユーザーア ク テ ィ ビ テ ィ に異常な ピー クが あ っ た と きは、 常にデ ィ ス クの使用を監視する こ と をお勧め し ます。 SharePlex は UNIX および Windows プ ラ ッ ト フ ォ ームでキ ュ ーの量を監視するユーテ ィ リ テ ィ を提 供 し ます。 詳細は 9 章を参照 し て く だ さ い。 キ ュ ー フ ァ イルの場所 SharePlex キ ューはデータ が蓄積さ れ る と 共にデ ィ ス ク 容量を消費する ので、 Oracle データ フ ァ イ ル、 バ イ ナ リ 、 ロ グ を含むプ ロ ダ ク シ ョ ン フ ァ イ ル と は別の フ ァ イ ルシ ス テムに置き ます。 キ ューは SharePlex 変数データ デ ィ レ ク ト リ 下の rim サブデ ィ レ ク ト リ にあ り ます。 キ ューを隔離する こ と に よ っ て、 複製の容量 がな く な っ て も プ ロ ダ ク シ ョ ン ア ク テ ィ ビ テ ィ を続け る こ と がで き ます。 キ ュ ーは ス ト ラ イ プ化 さ れていないデバ イ ス で確立 し ます。 キ ュ ーの読み込み は順次行われ る ので、 キ ュ ーは ス ト ラ イ プ化ま たは RAID 5 に よ る 利点はあ り ません。 デ ィ ス ク キ ャ ッ シ ュ の大 き いデバ イ ス が最適です。 キ ュ ーを NAS (Network Attached Storage) ま たは SAN (Storage Area Network) デ バ イ ス に置 く こ と はで き ますが、 従来の NFS (Network File System) デバ イ ス に おいてはな り ません。 NFS デバ イ ス は SharePlex 複製が要求す る パフ ォ ーマ ン ス を満た さ ないためです。 警告! SharePlex キ ュ ー フ ァ イルはローデバイ ス上にあ っ てはな り ません。 ヒ ン ト : rim サブデ ィ レ ク ト リ を半導体 ド ラ イ ブに置 く と パフ ォ ーマ ン スが 50 % ま で 向上する こ と がで き ます。 rim サブデ ィ レ ク ト リ を別 ド ラ イ ブに移動する場合は、 SharePlex 変数デー タ デ ィ レ ク ト リ に リ ン ク し ます。 章4 SharePlex での複製の計画 115 メ モ リ (UNIX シ ス テムの場合) SharePlex には、 プ ロ セ ス当た り 少な く と も 256 MB の メ モ リ 割 り 当てが必要で す。 通常、 SharePlex プ ロ セ ス のプ ロ セ ス当た り の メ モ リ の用途は、 ほんのわ ずかです。 ただ し あ る 種の条件では、 Post お よ び Read プ ロ セ ス に よ り 大量の メ モ リ が動的に割 り 当て ら れ ます。 プ ロ セ ス の障害を防 ぐ には、 プ ロ セ ス当た り の必要 メ モ リ を十分大 き く し て、 SharePlex プ ロ セ ス が機能で き る よ う に し ます。 シス テム フ ァ イルの 記述子 (UNIX シ ス テム) タ ーゲ ッ ト デー タ ベースへの高速で問題のない posting を確実に行 う ために、 SharePlex では、 シ ス テ ム フ ァ イ ル記述子の設定値を 1024 にす る か、 シルテ ム リ ソ ース が収容で き る 最大に近い値にす る こ と が必要です。 シ ス テ ム フ ァ イ ル 記述子設定 (nofiles) に よ っ て、 プ ロ セ ス が一度に開 く こ と がで き る フ ァ イ ル 数が決定 さ れ ます。 こ のパ ラ メ ー タ は、 シ ス テ ム のハー ド リ ミ ッ ト ま たはセ ッ シ ョ ンベース の ソ フ ト リ ミ ッ ト のいずれかに よ っ て設定 さ れます。 ほ と ん ど の本稼動シ ス テ ム でハー ド リ ミ ッ ト は SharePlex に と っ て通常十分高 く 設定 さ れてい ますが、 確認す る 必要があ り ます。 次の コ マ ン ド で、 Sun Solaris お よ び IBM AIX シ ス テ ム でのハー ド リ ミ ッ ト お よ びその他の ulimit の設 定値が表示 さ れ ます。 HP-UX シ ス テ ム では、 こ の コ マ ン ド は Bourne シ ェ ル (sh) で機能 し ます。 $ ulimit -aH time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) unlimited coredump(blocks) unlimited nofiles(descriptors) 1024 vmemory(kbytes) unlimited 「nofiles(descriptors)」 の値は、 必要に応 じ て確認お よ び変更す る 値です。 シ ス テ ム フ ァ イ ル記述子の値を変更す る には、 ルー ト 特権 (通常はシ ス テ ム管理 者) が必要で、 変更後にシ ス テ ムは リ ブー ト す る 必要があ り ます。 シ ス テ ム管 理者にご相談 く だ さ い。 116 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ハー ド リ ミ ッ ト を変更す る 代わ り に こ のパ ラ メ ー タ の ソ フ ト リ ミ ッ ト を設定で き ますが、 ソ フ ト リ ミ ッ ト は、 設定 さ れた sp_cop セ ッ シ ョ ンの期間中に限 り 有効です。 sp_cop を シ ャ ッ ト ダ ウ ン し て再び起動す る と 、 ソ フ ト リ ミ ッ ト は デフ ォ ル ト 値に戻 り 、 ハー ド リ ミ ッ ト よ り 下の可能性 も あ り ます。 ソ フ ト リ ミ ッ ト はハー ド リ ミ ッ ト と 同 じ 値に設定で き ますが、 ハー ド リ ミ ッ ト よ り 高 く す る こ と はで き ません。 こ れを変更す る のにルー ト ユーザーは必要あ り ません。 Solaris、 IBM AIX、 HP-UX (Bourne シ ェ ル) プ ラ ッ ト フ ォーム で は、 次の コ マ ン ド で フ ァ イ ル記述子の ソ フ ト リ ミ ッ ト が表示 さ れ ます。 $ ulimit -aS 次の コ マ ン ド で、 シ ス テ ム フ ァ イ ル記述子の ソ フ ト リ ミ ッ ト を設定 し ます。 $ ulimit -n value ソ フ ト リ ミ ッ ト がセ ッ シ ョ ンベース の制限であ る ために、 Quest では、 SharePlex (sp_cop) のためにハー ド リ ミ ッ ト 設定を使用 し て、 シ ス テ ム フ ァ イ ル記述子の設定が必ず十分な値にな る よ う にす る こ と をお勧め し ます。 SharePlex を満足 さ せ る ためにハー ド リ ミ ッ ト の値を増やす場合は、 ほかのア プ リ ケーシ ョ ンが低い レベルにな る よ う に、 ソ フ ト リ ミ ッ ト を使用で き ます。 event_log に次のエ ラ ーがあ っ た場合は、 シ ス テ ム フ ァ イ ル記述子設定を増加 す る 必要があ る こ と を意味 し ます。 Error 07-24-08 12:11:40.360226 8693 12345 Poster error:/var/quest/ vardir/log/event_log:Too many open files (posting from ora102, queue prodsys, to ora10b) コ ア フ ァ イル管理 多 く のプ ラ ッ ト フ ォ ーム が、 シ ス テ ム全体、 ユーザー、 ま たはプ ロ セ ス固有の アプ リ ケーシ ョ ン コ ア フ ァ イ ル配置、 お よ び コ ア フ ァ イ ルのカ ス タ マ イ ズ可能 な命名規則をサポー ト し てい ます。 コ ア フ ァ イ ルの場所については、 SharePlex は SharePlex 変数デー タ デ ィ レ ク ト リ の dump サブデ ィ レ ク ト リ のみを サポー ト し てい ます。 こ れは sp_cop お よ び sp_cop が開始 し たプ ロ セ ス の 「現在の作業デ ィ レ ク ト リ 」 にな り ます。 章4 SharePlex での複製の計画 117 命名規則については、 SharePlex は 「core」 お よ び 「core.<pid>」 をサポー ト し てい ます。 SharePlex は、 sp_cop か ら の コ ア フ ァ イ ルでない限 り 、 名前が 「core」 の フ ァ イ ルを 「core.<pid>」 に変更 し ます。 sp_cop か ら の フ ァ イ ルの場 合、 コ ア フ ァ イ ル名は変更 さ れません。 OS の命名規則が 「core.<pid>」 に設定 さ れてい る 場合、 すべての コ ア フ ァ イ ルがその名前形式にな り ます。 SharePlex コ ア フ ァ イ ルポ リ シーを満た し ていない場合、 SharePlex イ ベン ト ロ グに コ ア フ ァ イ ルが生成 さ れなか っ た こ と を示す メ ッ セージが記録 さ れ る こ と があ り ます。 コ ア フ ァ イ ルが実際に作成 さ れた場合で も 、 コ ア フ ァ イ ル生成プ ロ セ ス が終了す る こ と があ り ます。 プ ロ セスの優先順位 Oracle ま たはその他のプ ロ セ ス が リ ソ ース の優先順位を割 り 当て ら れた場合、 SharePlex はデフ ォ ル ト 設定に よ り ほんのわずかな リ ソ ース を割 り 当て ら れて し ま う 可能性があ り ます。 Oracle は処理の ピー ク 時にその CPU 使用率を増加 し ます。 SharePlex プ ロ セ ス の優先順位は、 Oracle のそれ と 一致 し てい る 必要 があ り ます。 でない と 、 Capture、 Read、 ま たは両方が ホ ッ ト バ ッ ク ア ッ プや Oracle 集約的な操作な ど、 Oracle のペース に追いつかな く な る 可能性があ り ま す。 SharePlex はオーバーヘ ッ ド の 3% か ら 8% し か使用 し ないので、 シ ス テ ム を制圧す る 可能性は少ないです。 プ ロ セスの優先順位の変更する には • UNIX シ ス テ ム で、 nice コ マ ン ド を使用 し ます。 • Windows シ ス テ ム では、 NuTCRACKER オペレーテ ィ ン グ環境が SharePlex プ ロ セ ス を制御す る ので、 Windows Task Manager を特別な権限で実行 し SharePlex のプ ロ セ ス優先順位を設定す る 必要があ り ます。 標準の Windows タ ス ク マネージ ャ は 「使用 し ないで く だ さ い」。 SpUtils と SpClient ユー テ ィ リ テ ィ の両方に、 タ ス ク マネージ ャ を正 し い権限で実行す る オプシ ョ ン があ り ます。 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ にあ る DTaskmgr プ ロ グ ラ ム を使用す る こ と も で き ます。 Windows プ ラ ッ ト フ ォ ーム での SharePlex プ ロ セ ス の優先順位設定の詳細は 278 ページ を参照 し て く だ さ い。 118 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ネ ッ ト ワー ク の要件 帯域幅 SharePlex はいかな る TCP/IP ネ ッ ト ワー ク 接続上で も 複製 し ます。 SharePlex で デー タ を転送す る のに必要な帯域幅は、 デー タ ベース の不安定 さ お よ び ク エ リ と 変更の ト ラ ンザ ク シ ョ ンの組み合わせに よ っ て異な り ます。 通常は、 デー タ ベース にあ る すべてのテーブルが複製 さ れ る 場合は、 SharePlex は REDO ロ グ の量の約 33% を複製 し 、 残 り のほ と ん どは Oracle ソ フ ト ウ ェ アに よ っ て使用 さ れ る メ ン テナン スデー タ です。 次に帯域幅を判断す る 公式を示 し ます。 [REDO ロ グのサ イ ズ ] x [1 時間当た り のロ グ切 り 替え数 ] x 1/3 = 1 時間当た り のデー タ 量 た と えば、 REDO ロ グのサ イ ズが 20 MB で、 1 時間に 6 回切 り 替え ら れ る と す る と 、 SharePlex は一時間約 40 MB 複製 し ます。 [20] x [6] x [1/3] = 40 MB/ 時 セキ ュ リ テ ィ SharePlex は SSH ソ フ ト ウ ェ ア を動作す る よ う に設定で き ます。 SharePlex を SSH と 併用す る 手順は、 第 6 章を参照 し て く だ さ い。 ま た同 じ 章には、 他のシ ス テ ム か ら の接続試行を認証す る SharePlex のホ ス ト 認証機能の使用方法 も 含 まれてい ます。 Veritas Quick I/O Quick I/O がデ ィ ス ク 情報を キ ャ ッ シ ュ す る 方法に よ り 、 Capture はキ ャ ッ シ ュ を ア ク セ ス で き ず、 デー タ をすでに処理 し た を解釈 し 、 さ ら に処理す る デー タ を待ち ます。 待っ てい る 間、 Oracle と のペース がずれ、 Oracle は Capture がア ク セ ス で き ない REDO デー タ を生成 し 続け ます。 最終的な結果 と し て ロ グが ラ ッ プ し 、 アーカ イ ブ ロ グ を ア ク セ スす る 必要が生 じ ます。 Capture が ミ ス し たデー タ を処理 し 、 REDO ロ グ を返す と 、 Quick I/O のキ ャ ッ シ ュ が原因で同 じ こ と が起 こ り ます。 唯一の回避策は、 Quick I/O を REDO と アーカ イ ブ ロ グ か ら 削除 し 、 デー タ フ ァ イ ルに使用す る こ と です。 章4 SharePlex での複製の計画 119 その他の実装における考慮 定期的な SharePlex バ ッ ク ア ッ プ 複製が開始 し た後、 SharePlex 環境をバ ッ ク ア ッ プ し 、 すべての ソ ースお よ び タ ーゲ ッ ト シ ス テ ムにて、 複製環境に変更があ っ た と き にバ ッ ク ア ッ プ を繰 り 返 し ます。 次の変更が含まれます。 • 設定の変更、 activation、 再ア ク テ ィ ベーシ ョ ン、 ま たはデ ィ ア ク テ ィ ベー ション • 保持す る パ ラ メ ー タ への変更 • 適用 さ れた SharePlex パ ッ チ バ ッ ク ア ッ プはユーザーがセ カ ン ダ リ シ ス テ ムに フ ェ イ ルオーバー し 、 ま た回 復す る ため、 ま た高可用性のために も 不可欠です。 バ ッ ク ア ッ プす る 項目は次の と お り です。 すべてのプ ラ ッ ト フ ォ ーム • SharePlex 製品お よ び変数デー タ デ ィ レ ク ト リ 全体 UNIX プ ラ ッ ト フ ォ ーム • • • • • oratab フ ァ イ ル /etc/services フ ァ イ ル ( フ ァ イ ル記述子の設定 ) /etc/system フ ァ イ ル ( シ ス テ ム損失用のセマ フ ォ 情報 ) ユーザー情報用の /etc/group フ ァ イ ル SharePlex ク ラ ス タ 上に イ ン ス ト ール さ れた場合、 .profile フ ァ イ ル Windows プ ラ ッ ト フ ォ ーム • Windows レ ジ ス ト リ フ ァ イ ル (SharePlex 環境を保存す る ため ) • ユーザー と グループ情報が含ま れてい る フ ァ イ ル 現行のデ ィ レ ク ト リ のアーカ イ ブ を持っ てい る と き 、 フ ァ イ ルシ ス テ ム ま たは コ ン ポーネ ン ト を含んでい る マシ ン が回復で き ない場合は、 rim サブデ ィ レ ク ト リ でキ ュ ーフ ァ イ ルの状態を回復で き ます。 ま た、 state サブデ ィ レ ク ト リ にあ る object cache 情報を回復す る と 、 設定を作成 し なお し た り 、 設定を再ア ク テ ィ ベー ト し た り 、 デー タ を再同期 し た り 、 デ ィ レ ク ト リ パ ス を再確立 し た 120 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 り 、 パ ラ メ ー タ を設定 し なお し た り す る こ と な く 複製環境を回復す る こ と がで き ます。 ま た、 SharePlex ロ グや Status Database、 ラ イ セ ン ス キー、 ま たその他 の重要な フ ァ イ ルを回復す る こ と がで き ます。 5 SharePlex での複製の準備 前の章では SharePlex の複製オプシ ョ ン の概要お よ び正常な実装のための基礎 的な要件を説明 し ま し た。 こ の時点でユーザーは SharePlex 複製の方法の選択 お よ び SharePlex の複製に関連 し たシ ス テ ム上の問題の対応がで き てい ます。 こ れ よ り 続 く 章では、 各複製方法の 「実装」 について説明 し ます。 最良の結果 が得 ら れ る よ う に、 順にお読み く だ さ い。 目次 SharePlex 設定の構築 複数の タ ーゲ ッ ト シ ス テムに複製する設定 named export queue を使用 し てデー タ を隔離する設定 named post queue を使用 し て よ り 迅速に post する設定 水平分割レ プ リ ケーシ ョ ンの設定 垂直分割レ プ リ ケーシ ョ ンの設定 スキーマ内の多数のテーブルを複製する よ う に設定を ス ク リ プ ト 記述する には 全デー タ ベース を複製する設定のス ク リ プ ト 記述 複製の確立 レ ポー ト のための複製の設定 高可用性お よびデー タ リ カバ リ のための複製の設定 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン ま たは分散処理に対する複製の設定 中間シ ス テムを通 し た複製の設定 結合 し た カ スケー ド /ブ ロー ド キ ャ ス ト レ プ リ ケーシ ョ ンの設定 集中化レ ポー ト のための複製の設定 ( 標準方法 ) 複数の sp_cop プ ロ セス を使用 し た集中化レ ポー ト のための複製設定 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定 122 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: SharePlex 設定の構築 デー タ お よ びシ ス テ ム を設定 し た後、 次の ス テ ッ プでは複製す る デー タ を定義 す る 設定フ ァ イ ルを作成 し ます。 こ のセ ク シ ョ ン では複製方法に最 も 適 し た設 定を作成で き る よ う に、 色々な設定の作成の仕方を説明 し ます。 設定は、 SharePlex 「ど の」 デー タ を複製 し 、 「ど こ に」 デー タ を置 く か を指定 す る ASCII テ キ ス ト フ ァ イ ルです。 コ ン フ ィ グ レーシ ョ ンは ソ ース シ ス テ ム (複製 さ れ る デー タ を持つオブジ ェ ク ト を含むデー タ ベース を ホ ス ト し てい る シ ス テ ム) に存在 し ます。 設定を作成す る 権限は、 SharePlex Administrator ま たは operator が持っ てい ます。 設定のオプ シ ョ ン 設定を作成す る 前に、 使用可能なオプシ ョ ン を覚え ていただ く ために下記をお 読み く だ さ い。 フルテーブルおよびセ レ ク テ ィ ブ レ プ リ ケーシ ョ ン SharePlex ではい く つかの設定オプシ ョ ン があ り ます。 • 最 も 基礎的な設定では、 テーブルの全行全列が別テーブルに複製 さ れ ます。 こ れを 「フルテーブルレ プ リ ケーシ ョ ン」 と いい ます。 • テーブル内で選択 し た行ま たは列、 ま たは両方を別テーブルに複製す る こ と がで き ます。 こ れを 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン」、 ま たは 「セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン」 と 呼びます。 行を選択 し て複製す る には、 「セ レ ク テ ィ ブ ロ ーレ プ リ ケーシ ョ ン」 と し て も 知 ら れ る 「水平分割レ プ リ ケーシ ョ ン」 を使用 し ます。 詳細は、 「水平分 割レ プ リ ケーシ ョ ンの設定」 (151 ページ) を参照 し て く だ さ い。 列を選択 し て複製す る には、 「セ レ ク テ ィ ブカ ラ ム レ プ リ ケーシ ョ ン」 と し て も 知 ら れ る 「垂直分割レ プ リ ケーシ ョ ン」 を使用 し ます。 詳細は、 「垂直 分割レ プ リ ケーシ ョ ンの設定」 (164 ページ) を参照 し て く だ さ い。 水平分割 と 垂直分割レ プ リ ケーシ ョ ン を組み合わせて、 分散す る デー タ の指定 や送信先な ど の制御が可能です。 た と えばパーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン 章5 SharePlex での複製の準備 123 は、 中心 と な る ロ ケーシ ョ ン と (本社) と 複数の リ モー ト ロ ケーシ ョ ン (各地 域の支部、 小売部門な ど) を持つ企業が使用で き ます。 中心 と な る ロ ケーシ ョ ン では会社全体のデー タ ベース が保守 さ れ、 リ モー ト ロ ケーシ ョ ン ではあ ら ゆ る レ ポー ト 用デー タ ベース が保守 さ れ ます。 こ れ ら のデー タ ベース間で共通す る デー タ はほ と ん ど も し く は全 く あ り ません。 本社はその多 く のテーブルの全体を全地域に複製 し ます。 し か し 他のテーブル については垂直分割レ プ リ ケーシ ョ ン を使用 し て、 い く つかの列のみか ら デー タ を複製 し ます。 デー タ を複製 し ない理由 と し ては、 そのデー タ が複製先の地 域に と っ て不要であ る か、 共有で き ない機密情報であ る かのいずれかの理由が あ り ます。 垂直分割 さ れたテーブルでは、 会社は水平分割レ プ リ ケーシ ョ ン を使用 し て デー タ の変更を、 その変更を必要 と し てい る 地域に送 り 、 不要 と し てい る 地域 を除外す る こ と も で き ます。 水平分割レ プ リ ケーシ ョ ンは、 テーブルの全列を 複製す る 場合に も 使用で き ます。 複数の タ ーゲ ッ ト シ ス テムへの複製 ソ ース テーブルに対す る すべての タ ーゲ ッ ト テーブルが同 じ 所有者 と 名前を 持っ てい る 場合、 複合ルーテ ィ ン グマ ッ プ構文を使用 し て全 タ ーゲ ッ ト に 1 個 のルーテ ィ ン グマ ッ プ を設定す る こ と がで き ます。 手順の詳細は、 139 ページ を参照 し て く だ さ い。 多数のオブ ジ ェ ク ト の複製 SharePlex には、 設定の作成を迅速化す る オプシ ョ ン があ り ます。 • 高可用性ま たは レ ポー ト の方法な ど で、 対 と な る ソ ース と タ ーゲ ッ ト の テーブル名が同一であ る 場合は、 build_config.sql ス ク リ プ ト を使用 し ス キーマにあ る 全テーブルを設定で き ます。 手順の詳細は、 171 ページ を参照 し て く だ さ い。 • 高可用性の方法については、 config.sql ス ク リ プ ト でデー タ ベース内にあ る すべてのテーブルお よ びシーケ ン ス を設定で き ます。 手順の詳細は、 174 ページ を参照 し て く だ さ い。 • 多数のオブジ ェ ク ト を複製す る には、 特に広範囲に渡 る 行連鎖があ る 場合 は、 プ ロ グ レ ッ シブ設定ア ク テ ィ ベーシ ョ ン を使用 し て処理を迅速化す る こ と がで き ます。 設定の構築方法を決定す る 前に、 その手順を読む こ と を お勧め し ます。 手順の詳細は、 316 ページ を参照 し て く だ さ い。 124 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 利便性の点か ら 、 SharePlex は設定フ ァ イ ルでの ワ イ ル ド カー ド の使用を サ ポー ト し てい ます。 こ れに よ り 、 設定フ ァ イ ルの 1 行に特定の ス キーマ内 の複数のテーブルを指定で き ます。 特定のテーブルセ ッ ト を複製に含めな い よ う に指定す る こ と も で き ます。 ま た ワ イ ル ド カー ド を使っ て、 設定を 再ア ク テ ィ ベー ト せずに、 複製に新 し いテーブルを自動追加す る こ と も 可 能です。 手順の詳細は、 128 ページ を参照 し て く だ さ い。 一意のキーの定義 テーブルが主キーま たは一意のキーで作成 さ れなか っ た場合、 設定フ ァ イ ルで 「キー定義」 を指定す る こ と がで き ます。 SharePlex は WHERE 句で Post す る タ ーゲ ッ ト 行を見つけ る 一意のキー と し て、 指定 さ れた列を使用 し ます。 キー が定義 さ れ る 方法については、 「SharePlex 設定の構成要素」 (125 ページ) で説 明 し ます。 複製デー タ ス ト リ ームの分離 2 つの異な る Oracle イ ン ス タ ン ス か ら の複製、 ま たは複数 タ ーゲ ッ ト シ ス テ ム への複製では、 「named export queue」 を使用 し て複製ス ト リ ーム を分離す る こ と がで き ます。 詳細は、 141 ページ を参照 し て く だ さ い。 テーブルに異な る ト ラ ンザ ク シ ョ ン タ イ プ ま たは large デー タ 型が含まれてい る 場合に Post のパフ ォ ーマ ン ス を向上 さ せ る には、 「named post queue」 を使用 し て複製ス ト リ ーム を 2 つま たはそれ以上の Post プ ロ セ ス に分離す る こ と が で き ます。 詳細は、 146 ページ を参照 し て く だ さ い。 設定のガ イ ド ラ イ ン SharePlex の設定を作成す る には、 次のルールに従い ます。 • 設定の作成、 表示、 ア ク テ ィ ベー ト 、 変更を実行す る コ マ ン ド を レ ビ ュ ー し ます。 SharePlex コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の 第 1 章を参照 し て く だ さ い。 • 設定は、 ソ ース シ ス テ ム (複製す る デー タ が含まれてい る シ ス テ ム) 上に 作成 し ます。 SharePlex は設定情報を自動的に タ ーゲ ッ ト シ ス テ ム に送信 し ます。 (複製方法に よ っ ては、 2 つ以上のシ ス テ ム に設定が必要 と な る 場合 があ り ます。) 章5 SharePlex での複製の準備 125 • 設定は 「同 じ 」 Oracle イ ン ス タ ン ス に対 し てい く つで も 作成す る こ と がで き ます (た と えば異な る テーブルを それぞれ異な る と き に複製す る 場合) が、 一度に 1 つの設定のみ 「ア ク テ ィ ブ」 にで き ます。 シ ス テ ム上の 「異 な る 」 Oracle イ ン ス タ ン ス に対す る 複数の設定は、 同時にア ク テ ィ ブにす る こ と がで き ます。 • 同 じ シ ス テ ム で異な る デー タ ソ ース のために複数の設定を ア ク テ ィ ベー ト す る には、 最初の も のを ア ク テ ィ ベー ト し 、 それか ら sp_ctrl の別セ ッ シ ョ ン を開いて 2 番目の も の を ア ク テ ィ ベー ト し ます。 ア ク テ ィ ベー ト す る 設 定の数だけ、 い く つで も sp_ctrl のセ ッ シ ョ ン を開 く こ と がで き ます。 • 設定に リ ス ト さ れたオブジ ェ ク ト は、 設定で指定 さ れた Oracle イ ン ス タ ン ス の一部であ る 必要があ り 、 SharePlex でサポー ト す る デー タ 型を含んでい る 必要があ り ます。 サポー ト す る 項目の リ ス ト は 58 ページにあ り ます。 • 正 し い構文を使用す る こ と は重要です。 設定のエ ン ト リ に スペル ミ ス が あ っ た り 、 必要な構成要素が欠けてい る 場合は、 オブジ ェ ク ト のア ク テ ィ ベーシ ョ ン が失敗 し ます。 重複エ ン ト リ があ る 設定はア ク テ ィ ベーシ ョ ン が失敗 し ます。 • 設定は 1 行につ き 1 つのエ ン ト リ のみ含みます ( ソ ース オブジ ェ ク ト 、 タ ーゲ ッ ト オブジ ェ ク ト 、 ルーテ ィ ン グ)。 行は、 画面上では折 り 返す こ と がで き ます。 行を終止 し 新 し い行を始め る には、 Enter キーを押 し ます。 • 実行す る 複製の種類に対 し てデー タ と シ ス テ ム を正 し く 設定す る ま で、 設 定を ア ク テ ィ ベー ト し ないで く だ さ い。 • すべての設定は SharePlex 変数デー タ デ ィ レ ク ト リ デ ィ レ ク ト リ 下の config サブデ ィ レ ク ト リ に格納 さ れ る 必要があ り ます。 こ のデ ィ レ ク ト リ 以外に あ る 設定フ ァ イ ルは、 ア ク テ ィ ベー ト で き ません。 SharePlex では、 sp_ctrl イ ン タ ーフ ェ イ ス を通 し て作成 し た設定はデフ ォ ル ト に よ っ て こ のデ ィ レ ク ト リ に格納 さ れ ます。 SharePlex 設定の構成要素 設定の構成要素、 ま たそれ ら の構成要素を指定す る ためのルールは次の と お り です。 設定の名前 設定の名前は設定本体において機能を持つ構成要素ではあ り ませんが、 フ ァ イ ルに コ メ ン ト 行 と し て追加す る こ と がで き ます。 設定の名前は、 sp_ctrl の create config コ マ ン ド で設定を作成す る 際に指定 し ます。 作成す る 設定の量は 126 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 時間 と 共に増加す る こ と が考え ら れ る ので、 一貫性 と 意味のあ る 命名規則を定 義す る こ と をお勧め し ます。 SharePlex の設定名には、 大文字 と 小文字の区別があ り ます。 CONFIG1 は、 config1 と 同 じ ではあ り ません。 Datasource 「Datasource」 は、 複製す る デー タ を含んでい る Oracle イ ン ス タ ン ス の ORACLE_SID を指す、 SharePlex 専用の用語です。 ORACLE_SID は SharePlex でデー タ を検索す る ための最 も 正確な方法です。 設定 1 つにつ き 1 つのみ datasource があ り ます。 ORACLE_SID を判断する方法 い く つかの異な る 方法で ORACLE_SID を表示で き ます。 • UNIX お よ び Windows シ ス テ ム で、 SQL*Plus を使用 し て V$PARAMETER テーブルに ク エ リ す る こ と がで き ます。 SQL> select name, value from V$parameter where name = ‘db_name’ ; • UNIX シ ス テ ム では、 oratab フ ァ イ ルを表示で き ます。 • Windows シ ス テ ム では、 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE の下の Windows レ ジ ス ト リ を表示 し ます。 Datasource の構文 SharePlex for Oracle の datasource の構文は次の と お り です。 o.SID ... こ こ では、 o は小文字の o で SID は ソ ース Oracle イ ン ス タ ン ス の ORACLE_SID (た と えば o.ora10) です。 o. は datasource を Oracle デー タ ベー ス と し て識別 し 、 SharePlex FS で複製 さ れ る UNIX datasource と 区別 し ます。 ORACLE_SID には大文字 と 小文字の区別があ り ます。 ORA10 は、 ora10 と 同 じ ではあ り ません。 ORACLE_SID は oratab フ ァ イ ル、 Windows レ ジ ス ト リ 、 ま たは V$PARAMETER テーブルで表示 さ れてい る も の と 同 じ よ う に設定に表 示 さ れ る 必要があ り ます。 設定フ ァ イ ルでは、 下記の よ う に文字列 「Datasource」 と コ ロ ン (:) が datasource の前に記述 さ れ ます。 章5 SharePlex での複製の準備 127 Datasource:o.ora10 Datasource: 間の スペース は限 ら れていて、 o.SID コ ン ポーネ ン ト はシ ン タ ッ ク ス にあ り ません。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ません。 設 定フ ァ イ ルでは、 コ メ ン ト 以外の行の一行目が datasource であ る 必要があ り ま す。 HP-UX お よび IBM AIX シ ス テム $ cd /etc $ more oratab 次の よ う な内容が表示 さ れます。 ora10:/qa/oracle/ora10/product こ の例では、 ora10 が ORACLE_SID であ り 、 /qa/oracle/ora10/product が ORACLE_HOME デ ィ レ ク ト リ です。 Sun Solaris シ ス テム Solaris プ ラ ッ ト フ ォ ーム では、 oratab フ ァ イ ルは通常、 var/opt/oracle デ ィ レ ク ト リ 内にあ り ます。 /etc デ ィ レ ク ト リ に も 、 oratab フ ァ イ ルがあ る 場合があ り ます。 /etc デ ィ レ ク ト リ に oratab フ ァ イ ルがあ る 場合は、 SharePlex の問題を 避け る ために、 削除、 名称変更、 ま たは移動 し て く だ さ い。 重要!マシ ン名および ORACLE_SID は文字および数字に限定 し て く だ さ い。 ド ル記号 ($) な どの文字のために、 設定のア ク テ ィ ベー ト が失敗する こ と があ り ます。 ド ッ ト (.)、 プ ラ ス記号 (+)、 ア ス タ リ ス ク (*) は、 タ ーゲ ッ ト イ ン ス タ ン ス (o.SID)、 複合 ルーテ ィ ングマ ッ プの中の複数の タ ーゲ ッ ト シス テム ([email protected] + [email protected])、 お よび named queue (sysA:QueueA*[email protected]) を示すために使 用する と きは、 ルーテ ィ ングマ ッ プの有効な構文構成要素です。 ソ ースオブ ジ ェ ク ト と 所有者 「 ソ ース オブジ ェ ク ト 」 と は、 複製す る テーブル と シーケ ン ス の こ と です。 各 ソ ース オブジ ェ ク ト は個別に記載で き 、 オブジ ェ ク ト の完全修飾名で識別 し ま す。 代わ り に ワ イ ル ド カー ド シーケ ン ス を使用 し て、 一連の ソ ース テーブル ( シーケ ン ス ではない ) を指定す る こ と も で き ます。 128 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ワ イル ド カ ー ド を使っ た ソ ース テーブルの指定 ワ イ ル ド カー ド を使っ て、 一連のテーブルを指定で き ます。 ワ イ ル ド カー ド を 使っ て一連のテーブルを指定す る には : • ワ イ ル ド カー ド 展開は、 expand キー ワ ー ド を使っ て指定す る 必要があ り ま す。 ワ イ ル ド カー ド 文字は有効なオブジ ェ ク ト 名文字で も あ る ため、 ワ イ ル ド カー ド を使用す る 場合、 それを SharePlex に知 ら せ る 必要があ り ます。 • 有効な ワ イ ル ド カー ド は、 Oracle の ワ イ ル ド カー ド と 同 じ で、 Oracle の使用 規則に従い ます。 • ワ イ ル ド カー ド を使っ て所有者 ( ま たは ス キーマ ) 名を定義す る こ と はで き ません。 所有者 ( ま たは ス キーマ ) 名に ワ イ ル ド カー ド を使用 し た場合、 SharePlex はそれを所有者 ( ま たは ス キーマ ) 名の一部であ る と 認識 し ます。 • テーブルセ ッ ト を き め細か く 調整す る ために、 除外 リ ス ト を指定す る こ と がで き ます。 除外 リ ス ト はテーブル指定の後に、 not キー ワー ド で指定 し ま す。 • ソ ース上のオブジ ェ ク ト 名は、 タ ーゲ ッ ト 上のオブジ ェ ク ト 名 と 同 じ でな ければな り ません。 ただ し 、 テーブルが異な る 所有者に所属 し てい る ( ま た は異な る ス キーマ内に存在す る ) 場合 も あ り ます。 SharePlex は設定に expand キー ワ ー ド を見つけ る と 、 その ワ イ ル ド カー ド 指定 の条件に一致す る すべてのオブジ ェ ク ト を Oracle に照会 し ます。 た と えば、 設定内に次の よ う な指定があ る 場合 : expand scott.prod% not (%temp%) hal.% [email protected] 「SCOTT」 が所有す る table_name が 「PROD%」 の条件を満た し 、 「%TEMP%」 の条件を満た さ ないすべてのテーブルがア ク テ ィ ベー ト さ れます。 こ の記述に 一致す る すべてのテーブルが、 タ ーゲ ッ ト 上の 「HAL」 が所有す る 同 じ table_name に複製 さ れます。 設定フ ァ イ ル内の ワ イ ル ド カー ド 指定の構文は次の よ う にな り ます。 expand schema.{wildcarded name} [not ({list of exclusions})] not 表記の例については、 次の例の最後の 2 行を参照 し て く だ さ い。 有効な設定フ ァ イ ル指定例を次に示 し ます。 expand scott.% scott.% [email protected] expand scott.%test% scott.% [email protected] expand scott.%t__t% fred.% [email protected] expand scott.% not (spo%, gen%, prodct) scott.% [email protected] expand scott.%test% not (spo%, gen%, prodct) scott.% [email protected] 章5 SharePlex での複製の準備 129 無効な設定フ ァ イ ル指定例を次に示 し ます。 expand rob%.%test% scott.% [email protected] expand scott.%test% scott.%obj% [email protected] 注 : タ ーゲ ッ ト オブ ジ ェ ク ト 名は、 「schema.%」 の形式で指定する必要があ り ます。 オブ ジ ェ ク ト 所有者 ( またはスキーマ ) 名の後にピ リ オ ド と パーセ ン ト 記号を指定する 必要があ り ます。 使用す る ワ イ ル ド カー ド 指定が、 複製す る 一連のテーブルを正 し く 示 し てい る か ど う か分か ら ない場合は、 まず sp_ctrl で verify config コ マ ン ド を発行 し て く だ さ い。 指定 し た ス キーマのすべてのオブジ ェ ク ト の リ ス ト 、 お よ び問題が あ る 場合はそれが表示 さ れ ます。 verify config コ マ ン ド の詳細については、 『 リ フ ァ レ ン ス ガ イ ド 』 を参照 し て く だ さ い。 ア ク テ ィ ベーシ ョ ン中に、 ワ イ ル ド カー ド 条件を満たすテーブルが見つか ら な か っ た場合、 エ ラ ーは発生せずにア ク テ ィ ベーシ ョ ンが続行 さ れ ます。 ワ イ ル ド カー ド を使っ て、 設定を再ア ク テ ィ ベー ト せずに、 複製に新 し いテー ブルを自動追加す る こ と も 可能です。 複製に新 し いテーブルを自動追加 し た く ない場合は、 SP_OCT_AUTOADD_ENABLE パ ラ メ ー タ を使っ て こ の機能を オ フ にで き ます。 こ のパ ラ メ ー タ の詳細は、 『 リ フ ァ レ ン ス ガ イ ド 』 を参照 し て く だ さ い。 ワ イル ド カ ー ド サポー ト の制限 ワ イ ル ド カー ド を使っ た設定フ ァ イ ル内の指定では、 垂直分割、 ユーザーキー 指定、 ま たは タ ーゲ ッ ト 列指定の使用はサポー ト さ れてい ません。 こ れ ら の テーブルは、 次のセ ク シ ョ ン で説明す る コ ン ポーネ ン ト を使っ て、 個別に設定 フ ァ イ ルに追加す る 必要があ り ます。 複合ルーテ ィ ン グマ ッ プ と named queue は、 本章で後ほ ど説明 し ます。 ソ ースオブ ジ ェ ク ト と 所有者 こ れ ら のオプシ ョ ン コ ン ポーネ ン ト は、 ワ イ ル ド カー ド 指定ではカバーで き な い任意のテーブルに対 し て使用で き ます。 ソ ース オブジ ェ ク ト を指定す る 構文 は次の と お り です。 owner.object ... こ こ で owner はオブジ ェ ク ト の所有者 ( ま たは ス キーマ ) 、 object はオブジ ェ ク ト の名前を表 し てい ます。 所有者 と オブジ ェ ク ト 名は 「scott.table1」 や 「scott.sequence1」 の よ う に、 空白文字ではな く ド ッ ト (.) で区切 り ます。 所 130 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 有者 ( ま たは ス キーマ ) 名は、 デー タ ベース で複数のオブジ ェ ク ト 名が同 じ で あ る 場合にそれ ら を区別す る ために使用 し ます。 次の例にあ る 文字列は、 空白文字を含んでい る ため許容 「 さ れ ません」。 scott.emp seq scott . emp scot. emp scott smith.emp seq 「scott.emp_seq」 の よ う に、 ア ン ダース コ アは使用 「 で き ます」。 SharePlex は所有者 と オブジ ェ ク ト 名を二重引用符記号で囲っ た場合、 大文字 と 小文字の区別を認識 し ます。 それ以外の場合は、 所有者 と オブジ ェ ク ト 名は 大文字に変換 さ れ ます。 大文字 と 小文字の区別がない例 : Scott.emp は、 scott.emp や SCOTT.EMP と 同 じ です。 SharePlex は こ れをすべて大 文字に変換 し ます。 大文字 と 小文字の区別があ る 例 : • 大文字 と 小文字の区別があ る テーブル名 : scott."Emp" • 大文字 と 小文字の区別があ る 所有者名 : "Scott".emp • 大文字 と 小文字の区別があ る 所有者 と テーブル名 : "Scott"."emp" 主要な定義 「キー定義」 と は、 作成 さ れたテーブルが主キーま たは一意のキーを持っ てい ない場合に、 1 つま たは複数の列を一意のキー と し て指定す る こ と を可能にす る 随意の構成要素です。 あ る 形のキーがない と 、 SharePlex はテーブルのすべ ての列 (ま たはカ ラ ムパーテ ィ シ ョ ン のすべての列) を キー と し て使用 し 、 こ れに よ り 複製のパフ ォ ーマ ン ス が低下 し ます。 SharePlex はキー定義で定義 さ れた列を、 WHERE 句で Post す る タ ーゲ ッ ト 行 を見つけ る キー と し て使用 し ます。 列は次の条件を満たす必要があ り ます。 • 列は、 LONG ま たは LOB 列であ っ てはな り ません。 • 列は行を一意に識別で き なければな り ません。 でない と 、 複製が非同期エ ラ ーを返 し た り 誤っ た タ ーゲ ッ ト 行に post し た り す る 可能性があ り ます。 章5 SharePlex での複製の準備 131 • 垂直分割レ プ リ ケーシ ョ ン を使用す る 場合は、 列がカ ラ ムパーテ ィ シ ョ ン の一部であ る 必要があ り ます。 重要!垂直分割で exclude column notation を使用 し てい る場合は、 キー定義で除外 さ れた列を使用する こ と はで き ません。 重要!主キーまたは一意のキーが既存する テーブルに対 し てキー定義が指定 さ れた場 合、 キー定義は Oracle キーを 「無効に し ます」。 キー定義を作成す る には、 ソ ース オブジ ェ ク ト の後に空白文字を入力 し 、 次の 構文 (括弧を含む) を使用 し ます。 括弧内の列名の間の空白文字は、 任意で す。 「!key」 構成要素が列名の前に記述 さ れ る 必要があ り ます。 !key (col_name, col_name) 例: !key (Name, Emp_ID) ワ イ ル ド カー ド お よ びキー指定の例 : expand scott.% scott.% ..... scott.tabnokey !key(c1,c2) scott.tabnokey ..... タ ーゲ ッ ト オブ ジ ェ ク ト と 所有者 「 タ ーゲ ッ ト オブジ ェ ク ト 」 と は、 デー タ の複製先であ る タ ーゲ ッ ト シ ス テ ム 上のテーブルま たはシーケ ン ス の こ と です。 ソ ース オブジ ェ ク ト と 同 じ 構文 ルールに従っ て、 所有者 と オブジ ェ ク ト 名で指定 し ます。 owner.object 複製方法に よ っ て、 タ ーゲ ッ ト のオブジ ェ ク ト 名 と 所有者名は、 それに対応す る ソ ース のオブジ ェ ク ト 名 と 所有者名 と 同 じ であ る 場合 と 異な る 場合があ り ま す。 「複製の確立」 (177 ページ) か ら の手順で、 使用す る 複製方法に適切なガ イ ド ラ イ ン を参照 し て く だ さ い。 ルーテ ィ ングマ ッ プ 「ルーテ ィ ン グマ ッ プ」 は、 複製 さ れたデー タ の送信先を SharePlex に指示 し ま す。 132 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 非パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン の複製 (フルテーブルレ プ リ ケー シ ョ ン) お よ び垂直分割レ プ リ ケーシ ョ ン (選択 さ れた列の複製) では、 ルーテ ィ ン グマ ッ プがテーブルの設定のエ ン ト リ の最終構成要素 と な り ま す。 • 水平分割レ プ リ ケーシ ョ ン (選択 さ れた行の複製) ではルーテ ィ ン グマ ッ プはパーテ ィ シ ョ ン ス キーマに リ ス ト さ れ る ため、 パーテ ィ シ ョ ン ス キー マ名がテーブルの設定のエ ン ト リ の最終構成要素 と な り ます。 ルーテ ィ ン グマ ッ プの構文は次の と お り です。 [email protected] こ こ では、 「targetsystem」 は タ ーゲ ッ ト シ ス テ ム名で、 「targetSID」 は タ ーゲ ッ ト デー タ ベース の ORACLE_SID (た と えば [email protected]) です。 ルーテ ィ ン グマ ッ プでは、 文字間に空白文字があ っ てはな り ません。 o. は イ ン ス タ ン ス を Oracle デー タ ベース と し て識別 し 、 他の種類のデー タ と 区別 し ます。 次の例にあ る 文字列は、 空白文字を含んでい る ため許容 「 さ れ ません」。 sys B@ o.ora10 sysB @ o.ora10 [email protected] 10 sysB@o. ora10 タ ーゲ ッ ト シ ス テム名 • タ ーゲ ッ ト シ ス テ ム の名前の記述は、 大文字 と 小文字の ど ち ら で も 構い ま せん。 • SharePlex では、 文字ま たは数字のみのシ ス テ ム名がサポー ト さ れ ます。 シ ス テ ム名に ド ッ ト やその他の英字以外の文字 (ア ン ダース コ ア (_) な ど) が含ま れてい る 場合は、 ロ ーカルの /etc/hosts フ ァ イ ルにそのシ ス テ ムに対 し て英数字のみを含むエ イ リ ア ス を作成 し ます。 ま た、 使用す る 場合は、 NIS サーバー と DNS サーバーに対 し て も エ イ リ ア ス を作成 し ます。 • ソ ース シ ス テ ムは、 ルーテ ィ ン グマ ッ プに リ ス ト さ れてい る すべての タ ー ゲ ッ ト シ ス テ ムの名前を解決で き なければな り ません。 ルーテ ィ ン グマ ッ プ内のすべての タ ーゲ ッ ト シ ス テ ムは、 複製ネ ッ ト ワー ク ま たはア ク セ ス 可能な中間シ ス テ ム を通 し て、 ソ ース シ ス テ ム か ら ア ク セ ス可能であ る 必 要があ り ます。 章5 SharePlex での複製の準備 133 タ ーゲ ッ ト ORACLE_SID タ ーゲ ッ ト ORACLE_SID には大文字 と 小文字の区別があ り 、 oratab フ ァ イ ル、 V$PARAMETER テーブル、 ま たは Windows レ ジ ス ト リ で表示 さ れてい る も の と 同 じ よ う に表示 さ れ る 必要があ り ます。 ク ラ ス タ 環境のルーテ ィ ン グマ ッ プ タ ーゲ ッ ト シ ス テ ムが ク ラ ス タ の一部であ る 場合は、 ルーテ ィ ン グマ ッ プで ロ ーカルシ ス テ ム名の代わ り にグ ロ ーバル ク ラ ス タ パ ッ ケージ名を [email protected] の形式に従っ て使用す る 必要があ り ます。 例: [email protected] グ ロ ーバル ク ラ ス タ パ ッ ケージ名は、 SP_SYS_HOST_NAME シ ス テ ム環境変 数で指定 さ れた文字列 と 一致す る 必要があ り ます。 SP_SYS_HOST_NAME は ク ラ ス タ 内の全シ ス テ ムにて同 じ 値に設定す る 必要があ り ます。 パ ッ ケージ名 にはア ン ダース コ ア (_) ま たは ド ッ ト (.) な ど の英数字以外の文字を含め る こ と はで き ません。 ク ラ ス タ 化 さ れたシ ス テ ム での SharePlex の詳細は、 『SharePlex イ ン ス ト ールお よびデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 ルーテ ィ ン グにおける制限 ルーテ ィ ン グ関連の制限に直面す る SharePlex ユーザーはわずかですが、 こ れ ら の制限はデー タ を多数の タ ーゲ ッ ト シ ス テ ムや Oracle イ ン ス タ ン ス に複製 す る 場合に、 設定の構築の仕方に大 き な影響を及ぼす可能性があ り ます。 設定 を構築す る 前に、 次のルーテ ィ ン グにおけ る 制限を理解 し ておいて く だ さ い。 • デフ ォ ル ト の export queue を使用 し た場合、 1 台の ソ ース シ ス テ ムか ら 最高 19 台ま での 「直接的」 タ ーゲ ッ ト シ ス テ ムへ複製で き ます。 理由 と し ては、 sp_cop プ ロ セ ス に加え て、 キ ュ ーを同時に読み取 る こ と ので き る プ ロ セ ス 数が SharePlex で最高 19 個に制限 さ れてい る ためです。 SharePlex では 「す べての」 タ ーゲ ッ ト シ ス テ ムに対 し て 1 つの export queue が作成 さ れ ます が、 (キ ュ ーを読み取 る ) 各 タ ーゲ ッ ト につ き 1 つの Export プ ロ セ ス が作成 さ れ る ため、 最高 19 台の タ ーゲ ッ ト シ ス テ ム に制限 さ れ ます。 • こ の制限は named export queue を使用す る こ と で補 う こ と がで き ます (171 ページ を参照)。 こ の方法では、 sp_cop イ ン ス タ ン ス あ た り 最高 25 個 134 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 のキ ュ ーが許容 さ れてお り 、 named post queue (146 ページ を参照) や、 そ の sp_cop の イ ン ス タ ン ス で使用 さ れてい る デフ ォ ル ト のキ ュ ーをすべて含 みます。 • named queue の数は、 「ルー ト 」 の最高数に よ っ て制限 さ れます。 1 台のシ ス テ ム上の sp_cop の各 イ ン ス タ ン ス につ き 、 最高 1024 個の 「異な る 」 ルー テ ィ ン グマ ッ プが使用で き ます。 個々の [email protected] の組み合わせ (ルー テ ィ ン グマ ッ プ と named queue を含む) が異な る ルーテ ィ ン グマ ッ プ を構成 し ます。 た と えば、 135 ページの図 6 には 4 つのルー ト があ り ます。 • こ れ ら の制限を超過す る 必要があ る 場合は、 複製 さ れたデー タ を最終的な 複製先にルー ト す る ため 1 つま たは複数の中間シ ス テ ム を使用す る こ と を お勧め し ます。 詳細は、 70 ページお よ び 188 ページ を参照 し て く だ さ い。 • AIX シ ス テ ム では 9 個ま でのキ ュ ーに制限 さ れてい ます。 章5 SharePlex での複製の準備 135 図 6: ルーテ ィ ングの例。 上図では 4 つのルー ト があ り ます。 SharePlex は 4 個のテーブルのす べて を SysB と SysC に複製 し ます。 それぞれのシ ス テムは named post queue を持っ ていま す。 こ れによ り 2 つのデー タ ス ト リ ームが 4 つに分離 さ れ、 合計 4 つのルー ト と な り ます。 136 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 sp_ctrl を使用 し た基礎的な設定の作成 こ の手順では、 テーブル全体の複製 (非パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン) の設定を作成す る 方法を説明 し ます。 テーブルか ら 選択 し た行ま たは列ま たは その両方を複製す る には、 「水平分割レ プ リ ケーシ ョ ン の設定」 (151 ページ) ま たは 「垂直分割レ プ リ ケーシ ョ ン の設定」 (164 ページ) の手順に従っ て く だ さ い。 こ の手順は、 最 も 基礎的な SharePlex 設定の作成に使用 し ます。 こ れは 1 つの Oracle イ ン ス タ ン ス か ら 別 イ ン ス タ ン ス に複製す る 、 一方向の設定です。 次の テ ン プ レー ト を参照 し なが ら 、 手順に従っ て く だ さ い。 テ ン プ レ ー ト 1: SharePlex for Oracle の基礎的な設定 Datasource:o.sourceSID source_owner.table source_owner.sequence target_owner.table target_owner.sequence [email protected] [email protected] 基礎的な設定を作成するには 基礎的な設定を作成す る には、 sp_ctrl 内の create config コ マ ン ド を使用 し ま す。 こ の コ マ ン ド を発行す る と 、 UNIX シ ス テ ム上で SharePlex がデフ ォ ル ト テ キ ス ト エデ ィ タ と し て使用す る vi エデ ィ タ ま たは、 Windows シ ス テ ム上の デフ ォ ル ト テ キ ス ト エデ ィ タ であ る ワ ー ド パ ッ ド が起動 さ れます。 こ のデフ ォ ル ト 設定を変更す る には、 264 ページ を参照 し て く だ さ い。 1 ソ ース シ ス テ ムの SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl を起動 し ます。 2 sp_ctrl プ ロ ン プ ト で、 create config コ マ ン ド を発行 し ます。 次の構文中の filename は、 設定の名前 と 置 き 換え ます。 こ の コ マ ン ド は、 テ キ ス ト エデ ィ タ を開 き ます。 sp_ctrl(sysA)> create config filename 3 [オプ シ ョ ン] コ メ ン ト 行を入力 し て設定を識別す る か ま たは他の情報を記 述 し ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効 に し 、 行末で Enter キーを押 し ます。 4 「1 行目」 の非 コ メ ン ト 行に、 「Datasource」 と 入力 し 、 続いて半角 コ ロ ン (:)、 半角文字 「o」、 半角 ド ッ ト (.) そ し て ソ ース イ ン ス タ ン ス の ORACLE_SID の順で記述 し ます。 こ れ ら の項目の間には空白文字を 「残 さ 章5 SharePlex での複製の準備 137 ないで」 く だ さ い。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ませ ん。 ORACLE_SID には、 英大文字 と 小文字の区別があ り ます。 Datasource:o.SID 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の行に、 最初の ソ ース オブジ ェ ク ト の所有者 と 名前を入力 し 、 ド ッ ト (.) で区切 り ます。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 大文字 と 小文字を区別す る 項目は、 「"scott"."emp"」 の よ う に二重引用符で 囲い ます。 そ う し なければ、 SharePlex は大文字 と 小文字の区別を認識 し ま せん。 ソ ース オブジ ェ ク ト 情報を入力 し た後、 Enter は 「押 さ ないで く だ さ い」。 source_owner.object 7 [オ プ シ ョ ン] テーブルに主キーま たは一意のキーがない場合で、 1 つま たは 複数の列で一意性を確立で き る 場合は、 キー定義を指定す る こ と がで き ま す。 特に列が多数あ る 場合、 キーは複製のパフ ォ ーマ ン ス を向上 し ます。 キーを定義す る には、 ソ ース オブジ ェ ク ト の後に空白文字を最低 1 文字入 力 し 、 次の構文を使用 し ます。 Enter は押 さ ないで く だ さ い。 !key (col_name, col_name) 8 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 所有者お よ び該当す る タ ー ゲ ッ ト オブジ ェ ク ト の名前を ソ ース オブジ ェ ク ト の と き と 同 じ よ う に入力 し ます。 Enter は 「押 さ ないで く だ さ い」。 target_owner.object 9 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 タ ーゲ ッ ト シ ス テ ム * の名前 に続いて、 @ 記号、 o.、 タ ーゲ ッ ト デー タ ベース の ORACLE_SID の順に入 力 し ます。 こ れ ら のエ ン ト リ の間には空白文字を 「残 さ ないで」 く だ さ い。 こ れに よ っ てルーテ ィ ン グマ ッ プが作成 さ れ ます。 [email protected] 10 Enter キーを押 し て新 し い行を作成 し ます。 11 下記の よ う に、 必要に応 じ て ス テ ッ プ 6 か ら 9 ま で を繰 り 返 し ます。 • 追加の タ ーゲ ッ ト シ ス テ ムに同 じ オブジ ェ ク ト を複製す る 場合、 個々の 追加 タ ーゲ ッ ト シ ス テ ム で繰 り 返 し ます。 * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない も のを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 138 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 追加のオブジ ェ ク ト を こ の設定で複製す る 場合、 個々の追加オブジ ェ ク ト に対 し て繰 り 返 し ます。 ヒ ン ト : ソ ースオブ ジ ェ ク ト に対する タ ーゲ ッ ト オブ ジ ェ ク ト が 2 台以上のシス テム で同 じ 所有者 と 名前を持 っ ている場合、 複合ルーテ ィ ン グマ ッ プ を使用 し て こ れらの情 報の入力の手間を省 く こ と がで き ます。 詳細は、 139 ページ を参照 し て く だ さ い。 設定が次の よ う な内容であ る こ と を確認 し て く だ さ い。 Datasource:o.fin jim.salary jim.salary jane.sales !key (emp_no,emp_name) jim.salary jane.emp jane.sales [email protected] [email protected] [email protected] 12 複製す る オブジ ェ ク ト の入力が完了 し た ら 、 vi の :wq コ マ ン ド ま たは、 ワ ー ド パ ッ ド で [フ ァ イル] メ ニ ュ ーの [保存] を選択 し て フ ァ イ ルを保存 し 、 エデ ィ タ を閉 じ ます。 sp_ctrl のプ ロ ン プ ト に戻 り ます。 SharePlex は、 設定フ ァ イ ルを SharePlex 変数デー タ デ ィ レ ク ト リ デ ィ レ ク ト リ 下の config サブデ ィ レ ク ト リ に保存 し ます。 章5 SharePlex での複製の準備 139 複数の タ ーゲ ッ ト シス テムに複製する設定 ソ ース オブジ ェ ク ト に対す る タ ーゲ ッ ト オブジ ェ ク ト が 2 台以上のシ ス テ ム で 同 じ 所有者 と 名前を持っ てい る 場合、 それ ら のオブジ ェ ク ト に対す る 設定エ ン ト リ に 「複合ルーテ ィ ン グマ ッ プ」 を使用す る こ と がで き ます。 基礎的な設定 の行で始め ますが、 個々の タ ーゲ ッ ト シ ス テ ムに対 し て別の行を使用す る ので はな く 、 1 つのルーテ ィ ン グマ ッ プですべてのシ ス テ ム を指定 し ます。 追加構文は下記のテ ン プ レー ト で斜体で示 さ れてい ます。 タ ーゲ ッ ト シ ス テ ム の最大数は、 「ルーテ ィ ン グにおけ る 制限」 (133 ページ) を参照 し て く だ さ い。 テ ン プ レ ー ト 2: 複数の タ ーゲ ッ ト シ ス テムに複製する設定 Datasource:o.sourceSID srce_own.table targ_own.table [email protected] + [email protected] 複数の タ ーゲ ッ ト シ ス テムに複製する設定を作成するには 複製す る 1 つ目のオブジ ェ ク ト か ら 始め、 136 ページ にあ る 基礎的な設定の作 成手順に従い ます。 1 つ目の タ ーゲ ッ ト シ ス テ ムにルーテ ィ ン グ * (た と えば [email protected]) を入力 し ます。 ただ し 、 新 し い行を挿入 し よ う と し て Enter は 押 さ ないで く だ さ い。 その代わ り に、 2 つ目の タ ーゲ ッ ト シ ス テ ムのルーテ ィ ン グは次の よ う に順番に、 新 し い行を挿入す る こ と な く 入力 し ます (次の行に 折 り 返す こ と は可能です)。 • • • • 空白文字 プ ラ ス記号 (+) 空白文字 2 つ目の タ ーゲ ッ ト シ ス テ ム のルーテ ィ ン グマ ッ プ。 (例 : [email protected] 同 じ よ う に、 個々の追加 タ ーゲ ッ ト シ ス テ ム をルーテ ィ ン グマ ッ プに追加 し ま す。 行末で Enter を押 し ます。 次の例で示 さ れてい る よ う に、 個々の ソ ース テーブルに対 し て新 し い行を開始 し ます。 すべての タ ーゲ ッ ト シ ス テ ム に各オ ブジ ェ ク 群を送信す る 必要はあ り ません。 ソ ース シ ス テ ム sysA の設定の例 : Datasource:o.oraA * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない も のを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 140 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ソ ース シ ス テ ム sysA の設定の例 : scott.emp scott.ord scott.cust scott.emp scott.ord scott.cust [email protected] + [email protected] + [email protected] [email protected] + [email protected] [email protected] ソ ース オブジ ェ ク ト と 「異な る 」 所有者ま たは名前を持っ てい る タ ーゲ ッ ト オ ブジ ェ ク ト があ る 場合は、 次の例で示す よ う に異な る オブジ ェ ク ト に対 し て個 別の行を使用 し ます。 各行の行末で Enter キーを押 し ます。 Datasource:o.oraA scott.emp scott.emp [email protected] + [email protected] scott.emp mary.emp [email protected] scott.emp mary.cust [email protected] 章5 SharePlex での複製の準備 141 named export queue を 使用し てデータ を 隔離する 設定 Named export queue は個々の設定ま たは選択 し たデー タ ベース オブジ ェ ク ト を 固有の Export プ ロ セ ス を生成す る 個別の export queue に隔離 し し ます。 図 7: named export queue を使用 し た SharePlex の複製 Named export queue は複製す る 異な る Oracle イ ン ス タ ン ス のデー タ ス ト リ ーム を分離す る のに必須です。 デフ ォ ル ト のアーキ テ ク チ ャ では、 SharePlex はす べてのア ク テ ィ ブ設定か ら のデー タ を、 1 つの export queue と 1 つの Export プ ロ セ ス を通 し て各 タ ーゲ ッ ト シ ス テ ムに送信 し ます。 その結果、 purge config ま たは abort config コ マ ン ド を あ る 1 つの設定に対 し て発行 し た場合、 他のす べてのア ク テ ィ ブ設定のキ ュ ー も 影響 さ れます。 ま た、 Export ま たは Import を 1 つの datasource に対 し て停止す る 必要があ っ た場合、 その他すべての datasource に対 し て も それ ら のプ ロ セ ス が停止 さ れて し ま い ます。 142 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Named export queue を使用す る と 、 その よ う な問題を解消 し ます。 1 つの設定 に対 し て purge ま たは abort を、 他の設定に影響す る こ と な く 実行す る こ と で き 、 ま た 1 つのデー タ ソ ース の Export ま たは Import を、 他の Export ま たは Import プ ロ セ ス を続行 さ せた ま ま停止す る こ と がで き ます。 Named export queue は異な る タ ーゲ ッ ト シ ス テ ムへのデー タ を分離す る ために 使用す る こ と がで き ます。個別に Export を停止で き る よ う にす る ために named export queue は個々の タ ーゲ ッ ト に対 し て作成す る こ と がで き ます。 個々の Export プ ロ セ ス は タ ーゲ ッ ト シ ス テ ム に Import プ ロ セ ス を作成す る た め、 固有の Post プ ロ セ ス を持つ named post queue が生成 さ れます。 こ れは、 大 規模な操作ま たは LOB デー タ 型を持つテーブルを隔離す る のに効果的です。 named post queue の詳細は、 146 ページ を参照 し て く だ さ い。 named queue に関連付け ら れたプ ロ セ ス に対 し て個別ベース に SharePlex パ ラ メ ー タ を設定で き 、 複製 さ れ る オブジ ェ ク ト に基づいてパフ ォ ーマ ン ス を チ ュ ーニ ン グで き ます。 プ ロ セ ス特有のパ ラ メ ー タ の設定の詳細は SharePlex リ フ ァ レ ン スガ イ ド を参照 し て く だ さ い。 シ ス テム上のキ ュ ーの数 1 つの設定内でい く つかの export キ ュ ーを名前付け る こ と がで き ます。 あ る 設 定のキ ュ ーの名前は、 その他のア ク テ ィ ブ設定のキ ュ ー と 異な る 必要があ り ま す。 Named export queue はデフ ォ ル ト の export queue と 組み合わせ る こ と がで き ま す。 標準ルーテ ィ ン グマ ッ プ を持つ設定の中のテーブル ([email protected]) はデフ ォ ル ト export queue を通 し て複製 さ れます。 「個々の」 sp_cop イ ン ス タ ン ス ではシ ス テ ム上で合計 25 個のキ ュ ーが許容 さ れてい ます。 capture queue が常に 1 つあ る ため、 こ のシ ス テ ム が タ ーゲ ッ ト シ ス テ ム で も あ る こ と がない限 り 、 24 個ま での named export queue を持つ こ と が 可能です。 シ ス テ ム上の export queue の最大数は、 named post queue を含む post queue の数に よ っ て制限 さ れ ます。 設定を構築す る 前に 「ルーテ ィ ン グにおけ る 制限」 (133 ページ) で詳細を参照 し て く だ さ い。 named export queue を作成するには named export queue を使用す る 設定の作成は、 基礎的な設定の作成方法に似て い ます。 相違点 と し ては、 オブジ ェ ク ト のルーテ ィ ン グマ ッ プの先頭に named-queue 情報を追加す る こ と です。 章5 SharePlex での複製の準備 143 テ ン プ レー ト 3 では、 named export queue を含む設定が基礎的設定 と ど の様に 違 う か を示すため、 named queue の指定が斜体で強調 さ れてい ます。 テ ン プ レ ー ト 3: Configuration for creating named export queue を作成する設定 Datasource:o.sourceSID source_owner.table target_owner.table sourcesys:queue_name*[email protected] 1 ソ ース シ ス テ ム の SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl を起動 し ます。 2 sp_ctrl プ ロ ン プ ト で、 create config コ マ ン ド を発行 し ます。 filename は、 設 定の名前 と 置 き 換え ます。 こ の コ マ ン ド は、 テ キ ス ト エデ ィ タ を開 き ます。 sp_ctrl(sysA)> create config filename 3 [オ プ シ ョ ン] コ メ ン ト 行を入力 し て設定を識別す る か ま たは他の情報を記 述 し ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効 に し 、 行末で Enter キーを押 し ます。 4 「1 行目」 の非 コ メ ン ト 行に、 「Datasource」 と 入力 し 、 続いて半角 コ ロ ン (:)、 半角文字 「o」、 半角 ド ッ ト (.) そ し て ソ ース イ ン ス タ ン ス の ORACLE_SID の順で記述 し ます。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ませ ん。 SID には、 英大文字 と 小文字の区別があ り ます。 Datasource:o.SID 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の行に、 最初の ソ ース オブジ ェ ク ト の所有者 と 名前を入力 し 、 ド ッ ト (.) で区切 り ます。 大文字 と 小文字を区別す る 項目は、 「"scott"."emp"」 の よ う に二重引用符で囲い ます。 そ う し なければ、 SharePlex は大文字 と 小文字の 区別を認識 し ません。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 Enter は 「押 さ ないで く だ さ い」。 source_owner.object 7 [オ プ シ ョ ン] テーブルに主キーま たは一意のキーがない場合で、 1 つま たは 複数の列で一意性を確立で き る 場合は、 キー定義を指定す る こ と がで き ま す。 特に列が多数あ る 場合、 キーは複製のパフ ォ ーマ ン ス を向上 し ます。 キーを定義す る には、 ソ ース オブジ ェ ク ト の後に空白文字を最低 1 文字入 力 し 、 次の構文を使用 し ます。 Enter は押 さ ないで く だ さ い。 !key (col_name, col_name) 144 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 8 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 所有者お よ び該当す る タ ー ゲ ッ ト オブジ ェ ク ト の名前を ソ ース オブジ ェ ク ト の と き と 同 じ よ う に入力 し ます。 Enter は 「押 さ ないで く だ さ い」。 target_owner.object 9 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 同 じ 行に次の情報を空白文 字を間に 「入れないで」 入力 し ます。 • 「 ソ ース」 シ ス テ ムの名前* (必須) • コ ロ ン (:) • export queue に付け る 名前 (最大 15 文字)。 キ ュ ーの名前には、 すべての プ ラ ッ ト フ ォ ーム で大文字 と 小文字の区別があ り ます。 ア ン ダース コ ア (_) は使用可能です。 • • • • • ア ス タ リ ス ク (*) 「 タ ーゲ ッ ト 」 シ ス テ ムの名前 @ 記号 「o.」 タ ーゲ ッ ト デー タ ベース の ORACLE_SID (大文字 と 小文字を区別 し ま す。) source_sys:queue_name*[email protected] 10 新 し い行を作成 し 、 こ の named queue を通 し て複製 さ れ る テーブル ま たは シーケ ン ス の個々に対 し て ス テ ッ プ 6 か ら 9 ま で を繰 り 返 し ます。 11 他のオブジ ェ ク ト に対 し て追加の named queue を作成す る には、 ス テ ッ プ 6 か ら 9 ま で を繰 り 返 し 、 別のキ ュ ー名を使用 し て く だ さ い。 12 完了 し た ら 、 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で フ ァ イ ルを保存 し 、 テ キ ス ト エデ ィ タ を終了 し ます。 sp_ctrl のプ ロ ン プ ト に戻 り ます。 設 定が次の例の よ う な内容であ る こ と を確認 し て く だ さ い。 例 : ソ ース シ ス テ ム sysA 上の イ ン ス タ ン ス oraA の設定 Datasource:o.oraA scott.emp !key (name,ID) scott.sales scott.dest_emp scott.dest_sales sysA:QueueA*[email protected] sysA:QueueA*[email protected] * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない ものを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 章5 SharePlex での複製の準備 145 例 : ソ ース シ ス テ ム sysA 上の イ ン ス タ ン ス oraA2 の設定 Datasource:o.oraA2 jane.cust !key (name,ID) jane.ord jane.dest_cust jane.dest_ord sysA:QueueA2*[email protected] sysA:QueueA2*[email protected] 前途の設定は ソ ース シ ス テ ム SysA に次の export queue を作成 し ます。 QueueA は sysB 宛ての scott.emp に対す る ト ラ ンザ ク シ ョ ン と 、 sysC 宛 ての scott.sales に対す る ト ラ ンザ ク シ ョ ン を含みます。 QueueA2 は sysB 宛ての jane.cust に対す る ト ラ ンザ ク シ ョ ン と 、 sysC 宛 ての jane.ord に対す る ト ラ ンザ ク シ ョ ン を含みます。 ヒ ン ト : named export queue は qstatus コ マ ン ド で表示で き ます。 また show コ マ ン ド を使用する と 、 キ ュ ーを関連付け られた Export プ ロ セスや他の複製プ ロ セ ス と 共に表示で き ます。 こ れら のコ マ ン ド の詳細は、 『SharePlex Reference Manual』 の第 1 章 を参照 し て く だ さ い。 146 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 named post queue を使用 し て よ り 迅速に post する 設定 Post プ ロ セ ス のパフ ォ ーマ ン ス は標準 SQL を使用 し て変更を タ ーゲ ッ ト デー タ ベース に適用す る のにかか る 時間が上限です。 い く つかの ト ラ ンザ ク シ ョ ン が非常に大 き い場合、 post queue にあ る 他の ト ラ ンザ ク シ ョ ン の処理が遅れ、 パフ ォ ーマ ン ス に著 し い影響を及ぼ し ます。 「named post queue」 を使用す る こ と で、 Post のパフ ォーマ ン ス を向上す る こ と がで き ます。 named post queue では、 デー タ を個別の post キ ュ ーに分離 し 、 個々のキ ュ ーが 個別の Post プ ロ セ ス を生成す る こ と がで き ます。 こ れ ら の並行 Post プ ロ セ ス を使用す る こ と に よ り 、 よ り 小 さ く 、 効率的な操作を個別に post し 、 1 つま た は複数の Post プ ロ セ ス を大規模な操作に割 り 当て る こ と がで き ます。 named export queue を使用 し てい る 場合、 (171 ページ を参照) named post queue はデフ ォ ル ト で作成 さ れます。 named export queue を使用 し ていない場合は、 named post queue は設定フ ァ イ ルで指定す る こ と で作成で き ます。 次の項目に対 し て 1 つま たは複数の named post queue を作成す る こ と がで き ま す。 • LOB 列を持つ設定の中のオブジ ェ ク ト (推奨)。 • 大規模な ト ラ ンザ ク シ ョ ン を行 う オブジ ェ ク ト 。 • 隔離す る 操作を含むオブジ ェ ク ト 。 設定にあ る 残 り のオブジ ェ ク ト に対 し て 1 つま たは複数の named post queue を 作成す る か、 デフ ォ ル ト post キ ュ ーを使用 し ます。 Named post queue はデフ ォ ル ト の post queue と 組み合わせ る こ と がで き ます。 標準ルーテ ィ ン グマ ッ プ を持つ設定の中のテーブル ([email protected]) は デフ ォ ル ト post queue を通 し て複製 さ れます。 named queue に関連付け ら れたプ ロ セ ス に対 し て個別ベース に SharePlex パ ラ メ ー タ を設定で き 、 複製 さ れ る オブジ ェ ク ト に基づいてパフ ォ ーマ ン ス を チ ュ ーニ ン グで き ます。 プ ロ セ ス特有のパ ラ メ ー タ の設定の詳細は SharePlex リ フ ァ レ ン スガ イ ド を参照 し て く だ さ い。 シ ス テム上の post queue キ ュ ーの数 「個々の」 sp_cop イ ン ス タ ン ス ではシ ス テ ム上で合計 254 個のキ ュ ーが許容 さ れてい ます。 こ のシ ス テ ム が タ ーゲ ッ ト と し てのみ使用 さ れてい る 場合は、 こ のシ ス テ ム が ソ ース シ ス テ ム で も あ る こ と がない限 り 、 それ ら すべてのキ ュ ー 章5 SharePlex での複製の準備 147 が named post queue であ る こ と が可能です。 シ ス テ ム上の post queue の最大数 は、 capture queue と export queue の数に よ っ て制限 さ れ ます。 設定を構築す る 前に 「ルーテ ィ ン グにおけ る 制限」 (133 ページ) で詳細を参照 し て く だ さ い。 図 8: named post queue を使用 し た SharePlex の複製 named post queue の使用についての考慮事項 通常の複製状況では、 SharePlex はデー タ を生成 さ れた順にキ ャ プチ ャ し ます。 タ ーゲ ッ ト 側では、 sourceSID-targetSID デー タ ス ト リ ーム あ た り 1 つの post プ ロ セ ス と 1 つのデフ ォ ル ト post queue を使用 し て、 イ ベン ト のシーケ ン ス を維 持 し ます。 「named」 post queue では、 下記の条件が適用 さ れ ます。 148 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • タ ーゲ ッ ト オブジ ェ ク ト と その中の行は、 該当す る ソ ース オブジ ェ ク ト が 変更 さ れた順 と 同 じ 順で変更 さ れない可能性があ り ます。 こ の場合、 タ ー ゲ ッ ト デー タ ベース と ソ ースデー タ ベース と の一貫性が失われ ます。 • 複製す る テーブルに参照制約があ る 場合は post の順序が予期で き ないため、 親レ コ ー ド が先に タ ーゲ ッ ト イ ン ス タ ン ス に適用 さ れなか っ た場合に子レ コ ー ド が拒否 さ れて し ま う 可能性があ り ます。 こ れを回避す る ために、 同 じ キ ュ ーにあ る すべての関連オブジ ェ ク ト を複製す る か、 タ ーゲ ッ ト シ ス テ ム で複製に関連す る オブジ ェ ク ト に対す る 参照制約を無効に し ます。 こ の回避方法は、 制約が ソ ース シ ス テ ム側で満た さ れ SharePlex に よ っ て タ ー ゲ ッ ト イ ン ス タ ン ス に複製 さ れ る ので、 ほ と ん ど の複製方法において安全 な回避策です。 • named post queue を ア ク テ ィ ブ設定のオブジ ェ ク ト に実装 し た (その結果 ルーテ ィ ン グが変更 さ れた) 場合、 SharePlex はそれ ら のオブジ ェ ク ト を内 部指示を更新す る ために ロ ッ ク し ます。 named post queue を作成するには named post queue を持つ設定の作成は、 基礎的な設定の作成方法に似てい ます。 相違点 と し ては、 オブジ ェ ク ト のルーテ ィ ン グマ ッ プの中間で named-queue 情 報を追加す る こ と です。 テ ンプ レー ト 4 では、 named post queue を含む設定が 基礎的設定 と ど の様に違 う か を示すため、 named queue の指定が斜体で強調 さ れてい ます。 テン プレ ート 4: Configuration for creating named post queue を 作成する 設定 Datasource:o.sourceSID source_owner.table target_owner.table targetsys:[email protected] 1 ソ ース シ ス テ ムの SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl を起動 し ます。 2 sp_ctrl プ ロ ン プ ト で、 create config コ マ ン ド を発行 し ます。 filename は、 設 定の名前 と 置 き 換え ます。 こ の コ マ ン ド は、 テ キ ス ト エデ ィ タ を開 き ます。 sp_ctrl(sysA)> create config filename 3 [オプ シ ョ ン] コ メ ン ト 行を入力 し て設定を識別す る か ま たは他の情報を記 述 し ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効 に し 、 行末で Enter キーを押 し ます。 章5 SharePlex での複製の準備 149 4 「1 行目」 の非 コ メ ン ト 行に、 「Datasource」 と 入力 し 、 続いて半角 コ ロ ン (:)、 半角文字 「o」、 半角 ド ッ ト (.) そ し て ソ ース イ ン ス タ ン ス の ORACLE_SID の順で記述 し ます。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ませ ん。 SID には、 英大文字 と 小文字の区別があ り ます。 Datasource:o.SID 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の行に、 最初の ソ ース オブジ ェ ク ト の所有者 と 名前を入力 し 、 ド ッ ト (.) で区切 り ます。 大文字 と 小文字を区別す る 項目は、 「"scott"."emp"」 の よ う に二重引用符で囲い ます。 そ う し なければ、 SharePlex は大文字 と 小文字の 区別を認識 し ません。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 Enter は 「押 さ ないで く だ さ い」。 source_owner.object 7 [オ プ シ ョ ン] テーブルに主キーま たは一意のキーがない場合で、 1 つま たは 複数の列で一意性を確立で き る 場合は、 キー定義を指定す る こ と がで き ま す。 特に列が多数あ る 場合、 キーは複製のパフ ォ ーマ ン ス を向上 し ます。 キーを定義す る には、 ソ ース オブジ ェ ク ト の後に空白文字を最低 1 文字入 力 し 、 次の構文を使用 し ます。 Enter は押 さ ないで く だ さ い。 !key (col_name, col_name) 8 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 所有者お よ び該当す る タ ー ゲ ッ ト オブジ ェ ク ト の名前を ソ ース オブジ ェ ク ト の と き と 同 じ よ う に入力 し ます。 Enter は 「押 さ ないで く だ さ い」。 target_owner.object 9 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 同 じ 行に次の情報を空白文 字を間に 「入れないで」 入力 し ます。 • 「 タ ーゲ ッ ト 」 シ ス テ ム * の名前 • コ ロ ン ( :) • post queue に付け る 名前 (最大 15 文字)。 キ ュ ーの名前には、 すべてのプ ラ ッ ト フ ォ ーム で大文字 と 小文字の区別があ り ます。 ア ン ダース コ ア (_) は使用可能です。 • @ 記号 • 「o.」 * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない も のを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 150 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • タ ーゲ ッ ト デー タ ベース の ORACLE_SID (大文字 と 小文字を区別 し ま す。) targetsys:[email protected] 10 こ の 1 つ目の post queue を通 し て複製 さ れ る テーブル ま たはシーケ ン ス の 個々に対 し て ス テ ッ プ 6 か ら 9 ま で を繰 り 返 し ます。 11 他のオブジ ェ ク ト に対 し て追加の named post queue を作成す る には、 ス テ ッ プ 5 か ら 9 ま で を繰 り 返 し 、 新 し いキ ュ ー名を使用 し て く だ さ い。 12 完了 し た ら 、 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で フ ァ イ ルを保存 し 、 テ キ ス ト エデ ィ タ を終了 し ます。 sp_ctrl のプ ロ ン プ ト に戻 り ます。 設 定が次の例の よ う な内容であ る こ と を確認 し て く だ さ い。 例 : ソ ース シ ス テ ム sysA 上の イ ン ス タ ン ス oraA の named post queue 設定 Datasource:o.oraA scott.emp !key (name,ID) scott.cust scott.dest_emp scott.dest_cust sysB:[email protected] sysB:[email protected] 前途の設定は タ ーゲ ッ ト シ ス テ ム SysB に次の post queue を作成 し ます。 Queue1 は タ ーゲ ッ ト イ ン ス タ ン ス oraB 宛てのテーブル scott.emp か ら の デー タ (長い ト ラ ンザ ク シ ョ ン) を含みます。 Queue2 は イ ン ス タ ン ス oraB 宛ての scott.cust か ら の ト ラ ン ザ ク シ ョ ン を含み ます。 named post queue のス テー タ ス表示 named post queue は datasource と 関連付け ら れた named export queue の名前 (named export queue が ソ ース シ ス テ ム で使用 さ れてい る 場合) ま たは ソ ース シ ス テ ム でデフ ォ ル ト export キ ュ ーが使用 さ れた場合はユーザー定義の postqueue の名前に よ っ て識別 さ れ ます。 キ ュ ーの名前には、 すべてのプ ラ ッ ト フ ォーム で大文字 と 小文字の区別があ り ます。 ヒ ン ト : named post queue は qstatus コ マ ン ド で表示で き ます。 また show コ マ ン ド を使用する と 、 キ ュ ーを関連付け られた Post プ ロ セスや他の複製プ ロ セス と 共に表示 で き ます。 こ れ らの コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の第 1 章 を参 照 し て く だ さ い。 章5 SharePlex での複製の準備 151 水平分割レ プ リ ケーシ ョ ンの設定 こ の手順では異な る 行を異な る タ ーゲ ッ ト シ ス テ ムに複製す る 、 「水平分割レ プ リ ケーシ ョ ン」 を SharePlex で設定す る 方法を説明 し ます。 こ の方法では テーブルの全行を複数 し た り 、 い く つかの行を複製の対象か ら 完全に除外 し た り す る こ と がで き ます。 図 9: 水平分割レ プ リ ケーシ ョ ン。 こ の図では、 C1 = 2、 4、 6 の行のデー タ がイ ン ス タ ン ス oraB に複製 さ れています。 さ ら に、 C1 = 1、 3、 5 の行の デー タ はイ ン ス タ ン ス oraC に複製 さ れています。 水平分割レ プ リ ケーシ ョ ンは、 垂直分割レ プ リ ケーシ ョ ン と 組み合わせ る こ と がで き ます。 た と えば、 あ る 会社の本社は垂直分割レ プ リ ケーシ ョ ン を使用 し て、 テーブルの列のサブセ ッ ト か ら のデー タ を各地域の レ ポー ト イ ン ス タ ン ス に複製す る こ と がで き ます。 ま た、 水平分割レ プ リ ケーシ ョ ン を使用 し て適切 な レ コ ー ド を それ ら の個々の イ ン ス タ ン ス にルー ト す る こ と がで き ます。 垂直 分割レ プ リ ケーシ ョ ン の詳細は、 164 ページ を参照 し て く だ さ い。 水平分割レ プ リ ケーシ ョ ンは フルテーブルレ プ リ ケーシ ョ ン と 併用す る こ と で、 選択 し た行を異な る レ ポー ト シ ス テ ム に、 そ し てすべての行を フ ェ イ ル オーバーシ ス テ ムにルー ト す る こ と がで き ます。 SharePlex では、 こ の よ う な 組み合わせは、 垂直分割レ プ リ ケーシ ョ ン が同 じ テーブルで既に使用 さ れてい る 場合は、 サポー ト さ れ ません。 水平分割レ プ リ ケーシ ョ ンの使用における制限 水平分割レ プ リ ケーシ ョ ン では、 次の項目はサポー ト さ れ ません。 • • • • • • 100k 以上の LONG 列に対す る UPDATE ま たは INSERT LOB 列が含まれてい る テーブル シーケ ン ス の複製 Oracle パーテ ィ シ ョ ン の TRUNCATE カ ラ ム コ ンデ ィ シ ョ ンの他のテーブルの参照 VARRAY ま たは abstract デー タ 型を含むカ ラ ム コ ンデ ィ シ ョ ン 152 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • Oracle TO_DATE 関数 重要!水平分割レ プ リ ケーシ ョ ン を使用する と 、 複製のパフ ォ ーマ ン スが劣化 し ます。 劣化の比率は、 関係する テーブルの数およびサイ ズによ っ て異な り ます。 水平分割レ プ リ ケーシ ョ ンの構成要素 水平分割パーテ ィ シ ョ ン を実装す る には、 次の構成要素を作成 し ます。 • パーテ ィ シ ョ ン ス キーマ • カ ラ ム コ ンデ ィ シ ョ ン • 設定エ ン ト リ こ れ ら の構成要素を作成す る 手順に従いなが ら 、 図 10 のサン プルテーブルを 参照 し て く だ さ い。 こ れは、 本社の中央テーブルです。 異な る 行の集合が 4 ヵ 所の地域支部のシ ス テ ム の タ ーゲ ッ ト テーブルに複製 さ れ ます。 図 10: サン プルテーブル scott.employee_HQ EmpNo number(4) not null SocSec number(11) not null EmpName char(30) Job char(10) Salary number(7,2) Region char(20) unique index employee_Idx on employee_HQ(EmpNo) パーテ ィ シ ョ ン スキーマ と カ ラ ム コ ンデ ィ シ ョ ンの作成 水平分割レ プ リ ケーシ ョ ンが設定 さ れた各テーブルに対 し て、 1 つま たは複数 の 「パーテ ィ シ ョ ン ス キーマ」 を作成 し ます。 パーテ ィ シ ョ ン ス キーマは、 「カ ラ ム コ ンデ ィ シ ョ ン」 の論理的な コ ン テナです。 カ ラ ム コ ンデ ィ シ ョ ンは複製す る 行の集合を定義 し ます。 ソ ース テーブルの行 を異な る 複製先にルー ト す る ために必要なだけ列を指定す る こ と がで き ます。 テーブルの全行を複製す る 必要はあ り ません。 章5 SharePlex での複製の準備 153 た と えば、 図 10 のサ ンプルテーブルに対す る 簡単なパーテ ィ シ ョ ン ス キーマ と し て、 複製のために 4 つのカ ラ ム コ ンデ ィ シ ョ ン を定義 し ます。 Region = West Region = South Region = Midwest Region = East Region 列に 5 つ目の値があ り (た と えば HQ)、 ロ ーカルのみで使用 さ れ る デー タ であ る ため複製 さ れない と し ます。 ただ し 、 テーブル全体をバ ッ ク ア ッ プシ ス テ ムに複製す る こ と は可能です。 複数のパーテ ィ シ ョ ン スキーマの計画 複製のために行を分割す る 方法は限 り な く 多いです。 • 1 つのテーブルに対 し てい く つで も パーテ ィ シ ョ ン ス キーマ を作成す る こ と がで き ます。 • パーテ ィ シ ョ ン ス キーマは異な る 、 ま たは重複す る カ ラ ム コ ンデ ィ シ ョ ン を持つ こ と がで き ます。 • 1 つのテーブルのすべてのパーテ ィ シ ョ ン ス キーマが同時にア ク テ ィ ブであ る こ と が可能です (設定フ ァ イ ルに リ ス ト さ れてい る 場合はア ク テ ィ ブで、 リ ス ト さ れていない場合はア ク テ ィ ブであ り ません)。 多数のパーテ ィ シ ョ ン ス キーマ を使用す る 予定があ る 場合は、 それ ら の名前 と それぞれに ど のカ ラ ム コ ンデ ィ シ ョ ン を作成す る か を事前に決定す る こ と をお 勧め し ます。 カ ラ ム コ ンデ ィ シ ョ ン に使用する列の選択 カ ラ ム コ ンデ ィ シ ョ ン を定義す る と き 、 値が変化 し ない列を使用 し ます (主 キーま たは一意のキーの列)。 こ れ ら の値で行が複製 さ れ る か ど う かが判断 さ れます。 カ ラ ム コ ンデ ィ シ ョ ンの列に変更があ っ た場合、 次の問題が発生す る 可能性があ り ます。 • カ ラ ム コ ンデ ィ シ ョ ンの値が更新 さ れ、 新 し い値が も はやカ ラ ム コ ンデ ィ シ ョ ン を満た さ ない場合は、 SharePlex は操作を実行 し ますが、 それ以降の その行に対す る 操作は複製 さ れ ません。 テーブルは非同期にな り ますが、 その状況を通知す る エ ラ ーが Post か ら 表示 さ れません。 • カ ラ ム コ ンデ ィ シ ョ ン を満た さ ない行が、 更新 さ れて条件を満たす よ う に な っ た場合は、 その行に対す る 次の操作で非同期エ ラ ーが返 さ れ ます。 こ れは、 行が ソ ースデー タ ベース に挿入 さ れた と き に (カ ラ ム コ ンデ ィ シ ョ ン を満た さ なか っ たため) 複製 さ れなか っ たために起 こ り ます。 行が更新 154 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 さ れ条件が満た さ れた と き 、 SharePlex はその更新を複製 し ますが、 Post は ( タ ーゲ ッ ト ベース に存在 し ないため) 行を見つけ る こ と がで き ません。 操 作は失敗 し 、 エ ラ ーが発生 し ます。 カ ラ ム コ ンデ ィ シ ョ ンの列の値が変わ る こ と が予期 さ れ る 場合は、 カ ラ ム コ ン デ ィ シ ョ ン で定義 さ れた列への更新が非同期状態を起 こ す行を修正す る 、 次の オプシ ョ ン があ り ます。 • SP_ORD_HP_IN_SYNC パ ラ メ ー タ を設定す る と 、 SharePlex は非同期状態を 自動的に検出 し 修正 し ます。 SP_ORD_HP_IN_SYNC を有効にす る と 、 水平 分割レ プ リ ケーシ ョ ンに設定 さ れたテーブルの数に よ っ てパフ ォ ーマ ン ス が多少劣化 し ます。 こ のパ ラ メ ー タ の詳細は、 SharePlex リ フ ァ レ ン スガ イ ド の第 章を参照 し て く だ さ い。 • compare コ マ ン ド を使用 し ます。 こ の コ マ ン ド の詳細は、 SharePlex リ フ ァ レ ン スガ イ ド の第 1 章を参照 し て く だ さ い。 相互に排他的でない カ ラ ム コ ンデ ィ シ ョ ンの計画 SharePlex は各パーテ ィ シ ョ ン ス キーマに対す る カ ラ ム コ ンデ ィ シ ョ ン の キ ャ ッ シ ュ を保持 し ます。 パーテ ィ シ ョ ン ス キーマ を使用す る テーブルへの行 変更が受信 さ れ る と き に、 そのキ ャ ッ シ ュ を読み取 り ます。 デフ ォ ル ト では、 SharePlex はパーテ ィ シ ョ ン ス キーマ内のカ ラ ム コ ンデ ィ シ ョ ン が相互的に排 他的であ る こ と を想定 し 、 行が満たす 1 つ目のカ ラ ム コ ンデ ィ シ ョ ンが見つ か っ た時点で検索を終了 し 、 その条件のルーテ ィ ン グ を使用 し ます。 その行変 更ではそれ以外の条件はチ ェ ッ ク さ れ ません。 相互的に排他的でないカ ラ ム コ ンデ ィ シ ョ ン を使用 し てい る 場合 (た と えばレ コ ー ド への変更が別の タ ーゲ ッ ト テーブルにルー ト さ れなければな ら ない場 合) は、 SP_ORD_FIRST_FIND パ ラ メ ー タ を 0 に設定す る と 、 SharePlex は パーテ ィ シ ョ ン ス キーマの行変更を受信す る 度にすべてのカ ラ ム コ ンデ ィ シ ョ ン を確認 し ます。 カ ラ ム コ ンデ ィ シ ョ ンの処理順序の制御 SharePlex がキ ャ ッ シ ュ 内のカ ラ ム コ ンデ ィ シ ョ ン を確認す る 順序を制御で き ます。 た と えば、 図 10 のサン プルテーブルでほ と ん ど の変更が Eastern 地域の デー タ に行われ る こ と を知っ てい る 場合、 SharePlex に 「East」 カ ラ ム コ ンデ ィ シ ョ ン を最初に確認す る よ う に指示す る こ と がで き ます。 こ れに よ り 他の コ ン デ ィ シ ョ ン が確認 さ れないため (ただ し SP_ORD_FIRST_FIND が 0 に設定 さ れてい る 場合を除 く )、 全体的に複製のパフ ォ ーマ ン ス が向上 し ます。 章5 SharePlex での複製の準備 155 パーテ ィ シ ョ ン ス キーマのカ ラ ム コ ンデ ィ シ ョ ン が相互的に排他的でない場 合、 順序付けのオプシ ョ ン を使用 し 、 SharePlex で処理の優先順序を指定す る こ と がで き ます。 パーテ ィ シ ョ ン スキーマ と カ ラ ム コ ンデ ィ シ ョ ンの作成 複製す る 行の各集合 (各カ ラ ム コ ンデ ィ シ ョ ン) に対 し て、 次の項目を定義 し ます。 • • • • それ ら の行が属す る パーテ ィ シ ョ ン ス キーマ それ ら を選択す る 条件付 き 構文 それ ら のルーテ ィ ン グ こ の条件がチ ェ ッ ク さ れ る 順序 ora_setup を実行 し た と き に SharePlex ス キーマに空の状態で イ ン ス ト ール さ れ た SHAREPLEX_PARTITION テーブルに、 標準 INSERT 文を使用 し て こ の情報 を入力 し ます。 設定のア ク テ ィ ベーシ ョ ン中で SharePlex は SHAREPLEX_PARTITION テーブルを使用 し 、 それぞれのパーテ ィ シ ョ ン ス キーマにあ る (カ ラ ム コ ンデ ィ シ ョ ン で定義 さ れてい る ) 行の各集合に対 し て ルーテ ィ ン グ キ ャ ッ シ ュ を構築 し ます。 • 同 じ Oracle イ ン ス タ ン ス か ら デー タ を複製す る すべての設定に対 し て、 1 つの SHAREPLEX_PARTITION テーブルを使用 し ます。 • 設定フ ァ イ ルにあ る すべてのパーテ ィ シ ョ ン ス キーマ を使用す る こ と がで き ますが、 必須ではあ り ません。 ア ク テ ィ ブ設定フ ァ イ ルに リ ス ト さ れて い る も ののみア ク テ ィ ブです。 156 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 「 ソ ース」 シ ス テ ム (複製の設定を ア ク テ ィ ベー ト す る シ ス テ ム) で SHAREPLEX_PARTITION テーブルに INSERT 文を発行 し ます。 次は SHAREPLEX_PARTITION テーブルの列 と デー タ 型 と サ イ ズです。 SHAREPLEX_PARTITION テーブル PARTITION_SCHEME VARCHAR2(30) DESCRIPTION VARCHAR2(61) TARGET_TABLE_OWNER VARCHAR2(30) TARGET_TABLE_NAME VARCHAR2(30) ROUTE VARCHAR2(1024) PRIORITY NUMBER ORDER NUMBER OPTIONS VARCHAR2(32) COL_CONDITIONS VARCHAR2(1024) 注 : カ ラ ム コ ンデ ィ シ ョ ンが複数の タ ーゲ ッ ト を持ち、 タ ーゲ ッ ト 所有者お よびテーブ ル名がすべて同 じ でない場合は、 個々の異な る タ ーゲ ッ ト 所有者または名前について追 加の INSERT 文を発行する必要があ り ます。 SHAREPLEX_PARTITION テーブルには こ のための列が用意 さ れています。 最 も共通的な所有者 と 名前は タ ーゲ ッ ト オブ ジ ェ ク ト と し て設定の行に リ ス ト さ れている必要があ り ます。 1 PARTITION_SCHEME 列に、 カ ラ ム コ ンデ ィ シ ョ ン を作成す る 対象パー テ ィ シ ョ ン ス キーマ を記述 し ます。 た と えば、 152 ページの図 10 のサ ンプ ルテーブルでは ス キーマの名前は EMP_SCHEME です。 2 DESCRIPTION 列にカ ラ ム コ ンデ ィ シ ョ ン の説明を記述 し ます。 こ こ には、 NULL 値を入力す る こ と がで き ますが、 多数のカ ラ ム コ ンデ ィ シ ョ ン を作 成す る 場合は、 個々の コ ンデ ィ シ ョ ン を識別ま たは説明す る こ と をお勧め し ます。 た と えば 152 ページの図 10 にあ る サン プルテーブルのカ ラ ム コ ン デ ィ シ ョ ン の説明は、 「西海外の従業員で会社の西海岸地域に複製 さ れ る 行」 と 記述 し ます。 3 TARGET_OWNER 列では、 次のいずれか タ ーゲ ッ ト テーブルの所有者 と し て記述 し ます。 • 所有者が、 設定フ ァ イ ルに リ ス ト し てい る 所有者 と 同 じ 場合は NULL 値 (通常、 すべての該当す る タ ーゲ ッ ト テーブルの所有者は同 じ です)。 ま たは 章5 SharePlex での複製の準備 157 • 設定フ ァ イ ルに リ ス ト さ れてい る 所有者 と は異な る 場合は、 タ ーゲ ッ ト 所有者名。 こ の値は こ のルー ト のみについて設定フ ァ イ ルの値を無効に し ます。 大文字小文字の区別を強制す る には、 "Jane" の よ う に、 文字列を 二重引用符で囲い ます。 4 TARGET_TABLE_NAME 列には、 次のいずれか を記述 し ます。 • テーブル名が、 設定フ ァ イ ルに リ ス ト し てい る テーブル名 と 同 じ 場合は NULL 値 (通常、 すべての該当す る タ ーゲ ッ ト テーブル名は同 じ です)。 ま たは • 設定フ ァ イ ル内の名前 と 異な っ てい る 場合は、 タ ーゲ ッ ト テーブル名。 こ の値は こ のルー ト のみについて設定フ ァ イ ルの値を無効に し ます。 大 文字小文字の区別を強制す る には、 "employee_West2" の よ う に、 文字列を 二重引用符で囲い ます。 5 ROUTE 列には、 こ のカ ラ ム コ ンデ ィ シ ョ ン に対す る SharePlex ルーテ ィ ン グマ ッ プ * を記述 し ます。 図 11: ルーテ ィ ングの形式 基本ルーテ ィ ング マップ [email protected] 複合 ルーテ ィ ングマ ッ プ [email protected]_SID1 + [email protected]_SID2 named post queue を 持つ ルーテ ィ ングマ ッ プ source_sys:queue_name*[email protected] named post queue を 持つ ルーテ ィ ングマ ッ プ targetsys:[email protected] • 行を 1 つの タ ーゲ ッ ト シ ス テ ムにルーテ ィ ン グす る 場合は、 基本ルー テ ィ ン グマ ッ プ を使用 し ます。 • 行を複数の タ ーゲ ッ ト シ ス テ ムにルーテ ィ ン グす る には、 それ ら のシ ス テ ムにおいてすべての該当す る タ ーゲ ッ ト 所有者 と 名前が同一であ る 場 合は複合ルーテ ィ ン グマ ッ プ を使用で き ます。 * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない も のを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 158 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • named queue を使用 し てい る 場合は、 図 11 に示 さ れてい る よ う に適切な 構文を使用 し ます。 すべての該当す る タ ーゲ ッ ト 所有者お よ び名前が同 一であ る 場合は複合ルーテ ィ ン グマ ッ プ を使用で き ます。 6 PRIORITY 列に、 NULL 値を記述 し ます。 こ の列は SharePlex が使用 し ます。 7 ORDER 列には NULL 値を入力す る か、 こ のカ ラ ム コ ンデ ィ シ ョ ン を確認す る 順番を指定す る 正数を入力 し ます。 カ ラ ム コ ンデ ィ シ ョ ンは、 ORDER カ ラ ム が最小値の も のか ら チ ェ ッ ク さ れ ます。 8 OPTIONS 列に、 NULL 値を記述 し ます。 こ の フ ィ ール ド は、 SharePlex が内 部的に使用 し ます。 9 COL_CONDITIONS 列には、 ス テ ッ プ 4. で指定 し た タ ーゲ ッ ト テーブルに複 製す る 行を定義す る 、 列お よ び値に対す る 条件構文を記述 し ます。 カ ラ ム コ ンデ ィ シ ョ ンには他のテーブルへの参照は含めないで く だ さ い。 SharePlex では、 括弧を使っ たネ ス ト 表現お よ び AND、 OR、 NOT 論理接続 詞 と 組み合わせ る こ と ので き る 、 次のデー タ 型お よ び条件構文を サポー ト し ます。 サポー ト す る デー タ 型 CHAR DATE NUMBER LONG VARCHAR VARCHAR VARCHAR2 注 : DATE デー タ 型については、 SharePlex は COL_CONDITIONS 列に MMDDSYYYYHH24MISS に指定 さ れた構文の nls_date_format を使用 し ます。 次の例 では、 COL_CONDITIONS 列に 「'1111 2011000000'」 の DATE 構文を持つ 「hiredate」 があ り ます。 hiredate<‘1111 2011000000’ Oracle TO_DATE 関数は設定フ ァ イルでサポー ト さ れていません。 章5 SharePlex での複製の準備 159 サポー ト す る 条件構文 次の構文では、 変数の値は文字列または数字であ る こ と が可能です。 文字 列 と 日付は一重引用符で囲います ('west')。 数字 (10) には引用符は使用 し ません。 NULL は 次の よ う な場合に SharePlex で複製 さ れます。 not (department_id = 90)。 department_id が NULL の場合は、 複製 さ れ ます。 カ ラ ム コ ンデ ィ シ ョ ン が NULL の レ コ ー ド が複製 さ れ る こ と を防 ぐ ために、 条件の一部 と し て 「column is not null」 構文を含みます。 not (department_id = 90) and department_id is not null. column = value not (column = value) column > value value > column column < value column >= value column <= value column <> value column != value column like value column between value1 and value2 not (column between value1 and value2) column is null column is not null カ ラ ム コ ンデ ィ シ ョ ン の例 : not (col1 = 5) (col2 = 5) and not (col3 = 6) ((col1 is not null) and (col2 = 5)) 括弧で演算子の優先順位が示 さ れていない場合は、 SharePlex は Oracle でサ ポー ト さ れてい る と お り に演算子の優先順位を サポー ト し ます。 た と えば、 NOT x AND y 条件は (NOT x) AND y と 同様に処理 さ れ ます。 ま た、 x AND y OR z 条 160 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 件は (x AND y) OR z と 同様に処理 さ れます。 条件に括弧が含まれ る 場合は、 明 示的な優先順位が使用 さ れ ます。 注 : 設定のア ク テ ィ ベーシ ョ ン では、 SharePlex はカ ラ ム コ ンデ ィ シ ョ ンの構文を確認 し ます。 も し 構文が不正の場合は、 設定のア ク テ ィ ベーシ ョ ンが失敗 し ます。 SharePlex はエ ラ ーを Event Log に出力 し 、 エ ラ ーが発生 し た場所を示 し ます。 10 パーテ ィ シ ョ ン ス キーマ と 、 カ ラ ム コ ンデ ィ シ ョ ン、 タ ーゲ ッ ト オブジ ェ ク ト の組み合わせの個々について、 こ れ ら の手順を繰 り 返 し ます。 11 デー タ をデー タ ベース に COMMIT し ます。 水平分割レ プ リ ケーシ ョ ンの設定エ ン ト リ の作成 次の手順に従っ て水平分割レ プ リ ケーシ ョ ン を使用す る テーブルの設定エ ン ト リ を作成 し ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン が使用 さ れてい る か ど う かに関係な く 、 複製す る テーブルすべてに対 し て、 1 つの設定フ ァ イ ルを使用 し ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン を使用 し ないテーブルの設定エ ン ト リ を作成す る には 136 ページ を参照 し て く だ さ い。 垂直分割レ プ リ ケーシ ョ ン を使用す る テーブルの設定エ ン ト リ を作成す る には 164 ページ を参照 し て く だ さ い。 テ ン プ レ ー ト 5: 水平分割レ プ リ ケーシ ョ ンの設定 Datasource:o.sourceSID srce_own.table ! targ_own.table !partition_scheme [email protected] 注 : 2 行目のエ ン ト リ はパーテ ィ シ ョ ン スキーマが設定の行に存在 し ない場 合のみに必要です。 1 「 ソ ース」 シ ス テ ムの SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl を起動 し ます。 2 sp_ctrl プ ロ ン プ ト で、 create config コ マ ン ド を発行 し ます。 次の構文中の filename は、 設定の名前 と 置 き 換え ます。 こ の コ マ ン ド は、 テ キ ス ト エデ ィ タ を開 き ます。 sp_ctrl(sysA)> create config filename 章5 SharePlex での複製の準備 161 3 [オ プ シ ョ ン] コ メ ン ト 行を入力 し て設定を識別す る か ま たは他の情報を記 述 し ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効 に し 、 行末で Enter キーを押 し ます。 4 「1 行目」 の非 コ メ ン ト 行に、 「Datasource」 と 入力 し 、 続いて半角 コ ロ ン (:)、 半角文字 「o」、 半角 ド ッ ト (.) そ し て ソ ース イ ン ス タ ン ス の ORACLE_SID の順で記述 し ます。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ませ ん。 SID には、 英大文字 と 小文字の区別があ り ます。 Datasource:o.SID 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の行に、 水平分割レ プ リ ケーシ ョ ン を使用す る 最初の ソ ース テーブルの 所有者 と 名前を入力 し 、 ド ッ ト (.) で区切 り ます。 こ れ ら の項目の間には 空白文字を 「残 さ ないで」 く だ さ い。 大文字 と 小文字を区別す る 項目は、 「"scott"."emp"」 の よ う に二重引用符で囲い ます。 そ う し なければ、 SharePlex は大文字 と 小文字の区別を認識 し ません。 ソ ース テーブル情報を 入力 し た後、 Enter は 「押 さ ないで く だ さ い」。 source_owner.object 7 [オ プ シ ョ ン] テーブルに主キーま たは一意のキーがない場合で、 1 つま たは 複数の列で一意性を確立で き る 場合は、 キー定義を指定す る こ と がで き ま す。 特に列が多数あ る 場合、 キーは複製のパフ ォ ーマ ン ス を向上 し ます。 キーを定義す る には、 ソ ース オブジ ェ ク ト の後に空白文字を最低 1 文字入 力 し 、 次の構文を使用 し ます。 Enter は押 さ ないで く だ さ い。 !key (col_name, col_name) 8 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 定義 し てい る カ ラ ム コ ン デ ィ シ ョ ンが属す る パーテ ィ シ ョ ン ス キーマのほ と ん ど のカ ラ ム コ ンデ ィ シ ョ ンに共通す る 、 タ ーゲ ッ ト テーブルの所有者 と 名前を入力 し ます。 異 な る 所有者ま たは名前を も つ タ ーゲ ッ ト テーブルは SHAREPLEX_PARTITION テーブルの TARGET_TABLE_NAME お よ び TARGET_TABLE_OWNER 列にオーバー ラ イ ド 値を入力す る こ と で指定で き ます。 Enter は 「押 さ ないで く だ さ い」。 target_owner.object 9 空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 例外マーカー (!) と その直 後にパーテ ィ シ ョ ン ス キーマの名前を入力 し ます。 パーテ ィ シ ョ ン ス キー 162 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 マの名前は SHAREPLEX_PARTITION テーブルにあ る と お り に スペル と 大 文字 ・ 小文字を使用 し て く だ さ い。 !partition_scheme 重要!同 じ ソ ース テーブルに対する複数のパーテ ィ シ ョ ン スキーマの機能はあ り ません (例 : !schemeA + schemeB)。 各パーテ ィ シ ョ ン スキーマはソ ース と タ ーゲ ッ ト 所有者 および名前 と と も に個別の設定行に リ ス ト さ れている必要があ り ます。 10 新 し い設定行を作成 し 、 各パーテ ィ シ ョ ン ス キーマについて 5 か ら 9 の ス テ ッ プ を繰 り 返 し ます。 11 必要に応 じ てプ レース ホルダルーテ ィ ン グマ ッ プ を入力 し ます。 設定 フ ァ イルを閉 じ る前に、 『プ レース ホルダルーテ ィ ン グマ ッ プ を入力す る には』 の手順に従っ て、 プ レース ホルダルーテ ィ ン グマ ッ プ を入力す る 必要があ る か を判断 し ます。 12 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワ ー ド パ ッ ド を使用 し てい る 場合は [File] メ ニ ュ ーの [保存] で、 フ ァ イ ルを保存、 エデ ィ タ を終了 し ます。 プ レースホルダルーテ ィ ングマ ッ プ を入力するには SharePlex がルーテ ィ ン グ リ ス ト を構築す る には、 パーテ ィ シ ョ ン ス キーマの 中のすべてのルーテ ィ ン グマ ッ プが設定フ ァ イ ルの行に も リ ス ト さ れてい る 必 要があ り ます。 こ の要件は、 一般的にパーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン が フ ルテーブルレ プ リ ケーシ ョ ン と 併用 さ れてい る ため、 満た さ れてい ます。 パー テ ィ シ ョ ン ス キーマではルー ト を使用 し 、 普通の (非パーテ ィ シ ョ ン) 設定エ ン ト リ では使用 し ない場合は、 そのルー ト がルーテ ィ ン グ リ ス ト に組み込まれ る よ う に 「プ レース ホルダ」 ルーテ ィ ン グマ ッ プ を設定行に提供す る 必要があ り ます。 パーテ ィ シ ョ ン ス キーま で使用 さ れ る 「すべてのルー ト 」 がすべて設定フ ァ イ ルの行に存在 し 、 プ レース ホルダが不要であ る 場合は、 設定フ ァ イ ルを保存 し 、 閉 じ る こ と がで き ます。 それ以外の場合は、 次の操作を行い ます。 1 Enter キーを押 し て新 し い設定行を作成 し ます。 2 例外マーカー (!) を入力 し ます。 3 空白文字をい く つか入力す る か、 タ ブ文字で列を維持 し てい る 場合は 2 列 目ま たは 3 列目ま で タ ブ文字を入力 し ます。 章5 SharePlex での複製の準備 163 4 次のいずれかの方法でルーテ ィ ン グマ ッ プ を入力 し ます。* 図 12: ルーテ ィ ングの形式 基本ルーテ ィ ング マップ [email protected] 複合 ルーテ ィ ングマ ッ プ [email protected]_SID1 + [email protected]_SID2 named post queue を 持つ ルーテ ィ ングマ ッ プ source_sys:queue_name*[email protected] named post queue を 持つ ルーテ ィ ングマ ッ プ targetsys:[email protected] • デフ ォ ル ト (名前の付いていない) キ ュ ーを使用 し てい る 場合は、 リ ス ト す る タ ーゲ ッ ト シ ス テ ムの数に応 じ て基本ルーテ ィ ン グマ ッ プ ま たは 複合ルーテ ィ ン グマ ッ プ を使用 し ます。 ま たは • named queue を使用 し てい る 場合は、 図 12 に示 さ れてい る よ う に適切な 構文を使用 し ます。 5 行末で Enter を押 し ます。 必要なプ レース ホルダの個々に こ れ ら の ス テ ッ プ を繰 り 返 し ます。 パーテ ィ シ ョ ン スキーマの表示 と 変更 パーテ ィ シ ョ ン ス キーマは Oracle テーブルに格納 さ れ る ので、 Toad for Oracle な ど のグ ラ フ ィ カルデー タ ベース ツールを使用 し て表示す る こ と がで き ます が、 通常の SQL 文を使用 し て も 表示で き ます。 パーテ ィ シ ョ ン ス キーマは、 複製の設定がア ク テ ィ ブの と き に追加、 削除、 ま たは変更で き ます。 こ れ ら の 操作を行 う には、 SHAREPLEX_PARTITION テーブルお よ び設定テーブルに必 要な変更を行い、 設定を再ア ク テ ィ ベー ト し ます。 手順の詳細は、 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンの変更」 (325 ページ) を参照 し て く だ さ い。 * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない も のを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 164 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 垂直分割レ プ リ ケーシ ョ ンの設定 こ の手順ではテーブルの列のサブセ ッ ト を 1 つま たは複数の タ ーゲ ッ ト シ ス テ ムに複製す る 、 「垂直分割レ プ リ ケーシ ョ ン」 を SharePlex で設定す る 方法を説 明 し ます。 タ ーゲ ッ ト 列の名前は ソ ース列の名前 と 同 じ ま たは異な っ てい る こ と が可能です。 図 13: 垂直分割レ プ リ ケー シ ョ ン。 こ の図では、 列が C1、 C2、 C3 および C4 の デー タ がイ ン ス タ ン ス oraB に複製 さ れています。 C5 と C6 の列のデー タ は複製 さ れま せん。 垂直分割レ プ リ ケーシ ョ ンは、 水平分割レ プ リ ケーシ ョ ン と 組み合わせ る こ と がで き ます。 た と えば、 あ る 会社の本社は垂直分割レ プ リ ケーシ ョ ン を使用 し て、 ソ ース テーブルの列のサブセ ッ ト か ら 各地域の レ ポー ト イ ン ス タ ン ス の タ ーゲ ッ ト テーブルにデー タ を複製す る こ と がで き ます。 ま た こ の会社は、 水 平分割レ プ リ ケーシ ョ ン を使用 し て適切な レ コ ー ド を それ ら の イ ン ス タ ン ス に ルー ト す る こ と がで き ます。 水平分割レ プ リ ケーシ ョ ンの詳細は、 151 ページ を参照 し て く だ さ い。 垂直分割パーテ ィ シ ョ ンは、 レ ポー ト やその他の情報を分散す る 場合な ど、 テーブルの全列を複製す る こ と が好ま し く ない場合に適 し てい ます。 垂直分割 パーテ ィ シ ョ ンは、 高可用性環境には適 し てい ません。 一旦テーブルを垂直分 割パーテ ィ シ ョ ン に設定す る と 、 SharePlex は object cache の中の他の列を認識 し な く な り 、 それ ら の列のデー タ は複製 さ れ ません。 垂直分割レ プ リ ケーシ ョ ンの使用における制限 • テーブルは、 1 つの タ ーゲ ッ ト シ ス テ ム に対 し て部分的に、 そ し て別シ ス テ ムに対 し て全列を複製す る よ う に設定す る こ と (すなわち、 垂直分割レ プ 章5 SharePlex での複製の準備 165 リ ケーシ ョ ン と フルテーブルレ プ リ ケーシ ョ ン を併用す る こ と ) はで き ま せん。 • ソ ース テーブル 1 つにつ き 1 つのみカ ラ ムパーテ ィ シ ョ ン があ り ます。 • タ ーゲ ッ ト テーブルは、 すべて ソ ース テーブル と 同 じ 列を含む こ と がで き ますが、 それは必須ではあ り ません。 • ソ ース と タ ーゲ ッ ト 列は、 同一の定義を持つ必要があ り ますが、 こ れ ら の 名前は異な っ ていて も 構い ません。 列名は、 設定フ ァ イ ルで指定 し ます。 • 対応す る 列は同 じ デー タ 型 (同 じ 型、 サ イ ズ、 精度) を含んでい る 必要が あ り ます。 • タ ーゲ ッ ト テーブルでカ ラ ムパーテ ィ シ ョ ンの一部で 「ない」、 値が NOT NULL の列は、 デフ ォ ル ト 挿入値を持っ てい る 必要があ り ます。 でない と 、 Post の INSERT 文が失敗 し ます。 こ れは Oracle で通常の要件です。 • テーブルが水平分割 と 垂直分割を併用 し てい る 場合は、 パーテ ィ シ ョ ン ス キーマでカ ラ ム コ ンデ ィ シ ョ ン と し て使用す る すべての列は、 カ ラ ムパー テ ィ シ ョ ン に含まれてい る 必要があ り ます。 • ALTER TABLE を使用 し て垂直分割レ プ リ ケーシ ョ ン に設定 さ れたテーブル に列を追加す る こ と はサポー ト さ れてい ません。 複数の タ ーゲ ッ ト シ ス テムへの複製 垂直分割 さ れた ソ ース テーブルは、 設定にて一回以上 リ ス ト す る こ と はで き ま せん。 し たが っ て、 垂直分割 さ れたテーブルの複数 タ ーゲ ッ ト シ ス テ ムへの複 製は複合ルーテ ィ ン グマ ッ プ を必要 と し ます。 複合ルーテ ィ ン グマ ッ プ を使用 す る には、 ソ ース テーブルのすべての タ ーゲ ッ ト テーブルが同 じ 所有者 と 名前 を持っ てい る 必要があ り ます。 使用可能 : scott.emp (c1,c2) scott.sal (c1,c2) [email protected] + [email protected] 使用不可 : scott.emp (c1,c2) scott.sal (c1,c2) [email protected] scott.emp (c1,c2) scott.sales (c1,c2) [email protected] 複合ルーテ ィ ン グマ ッ プの詳細は、 「複数の タ ーゲ ッ ト シ ス テ ムに複製す る 設 定」 (139 ページ) を参照 し て く だ さ い。 こ の制限は、 水平分割レ プ リ ケー ショ ン を 使用する こ と で回避でき ま す。 詳細は、 151 ページを 参照し てく ださ い。 166 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 垂直分割レ プ リ ケーシ ョ ンの設定エ ン ト リ の作成 垂直分割レ プ リ ケーシ ョ ン を実装す る には、 設定フ ァ イ ルに 「カ ラ ムパーテ ィ シ ョ ン」 ま たは 「除外カ ラ ムパーテ ィ シ ョ ン」 を指定 し ます。 こ れ ら の情報 は、 ど のデー タ を複製す る か を定義 し ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン を使用 さ れてい る か ど う かに関係な く 、 複 製す る テーブルすべてに対 し て、 1 つの設定フ ァ イ ルを使用 し ます。 テーブル 全体を複製す る ための設定エ ン ト リ を作成す る には 136 ページ を参照 し て く だ さ い。 水平分割レ プ リ ケーシ ョ ンの設定エ ン ト リ を作成す る には、 151 ページ を参照 し て く だ さ い。 テ ン プ レ ー ト 6: 垂直分割レ プ リ ケーシ ョ ンの設定 Datasource:o.sourceSID srce_own.table (c1,c2) !key (c1) targ_own.table (c1,c2) [email protected] 注 : 「!key (c1) 」 構成要素は随意のキー定義です (ス テ ッ プ 8 を参照)。 1 「 ソ ース」 シ ス テ ムの SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl を起動 し ます。 2 sp_ctrl プ ロ ン プ ト で、 create config コ マ ン ド を発行 し ます。 filename は、 設 定の名前 と 置 き 換え ます。 こ の コ マ ン ド は、 テ キ ス ト エデ ィ タ を開 き ます。 sp_ctrl(sysA)> create config filename 3 [オプ シ ョ ン] コ メ ン ト 行を入力 し て設定を識別す る か ま たは他の情報を記 述 し ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効 に し 、 行末で Enter キーを押 し ます。 4 「1 行目」 の非 コ メ ン ト 行に、 「Datasource」 と 入力 し 、 続いて半角 コ ロ ン (:)、 半角文字 「o」、 半角 ド ッ ト (.) そ し て ソ ース イ ン ス タ ン ス の ORACLE_SID の順で記述 し ます。 こ れ ら の項目の間には空白文字を 「残 さ ないで」 く だ さ い。 「Datasource」 は大文字 と 小文字の ど ち ら で も 構い ませ ん。 SID には、 英大文字 と 小文字の区別があ り ます。 Datasource:o.SID 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の行に、 垂直分割レ プ リ ケーシ ョ ン を使用す る 最初の ソ ース テーブルの 所有者 と 名前を入力 し 、 ド ッ ト (.) で区切 り ます。 大文字 と 小文字を区別 す る 項目は、 「"scott"."emp"」 の よ う に二重引用符で囲い ます。 そ う し なけ れば、 SharePlex は大文字 と 小文字の区別を認識 し ません。 こ れ ら の項目の 章5 SharePlex での複製の準備 167 間には空白文字を 「残 さ ないで」 く だ さ い。 ソ ース テーブル情報を入力 し た後、 Enter は 「押 さ ないで く だ さ い」。 source_owner.object 7 ソ ース オブジ ェ ク ト の後に空白文字ま たは タ ブ文字を最低 1 文字入力 し ま す。 次の 2 つのオプシ ョ ン を使用 し て続行 し ます。 A デー タ を複製す る ソ ース列の名前を リ ス ト し ます。 カ ラ ムパーテ ィ シ ョ ン が作成 さ れ ます。 次の形式を使用 し ます。 • 列名の文字列は括弧で囲い ます。 • 列名は コ ン マ (,) で区切 り ます。 コ ン マの後の空白文字は随意です。 • 列は何列で も リ ス ト し ます。 列は ソ ース テーブルで連続す る 必要はあ り ません。 た と えば、 テーブルの 1 列目、 3 列目、 そ し て 7 列目を複 製す る こ と がで き ます。 キー列を複製す る 必要はあ り ませんが、 1 つ ま たは複数の列を キー と し て定義す る こ と をお勧め し ます。 詳細は、 ス テ ッ プ 8 を参照 し て く だ さ い。 • 必要であれば、 長い文字列は次の行に折 り 返 し て も 構い ませんが、 列 名の途中で Enter を 「押 さ ないで く だ さ い」。 ま た、 列の リ ス ト が完 了 し た後 も 、 Enter を 「押 さ ないで く だ さ い」。 (src_col_name1, src_col_name3, src_col_name7) B デー タ を複製 し ない ソ ース列の名前を リ ス ト し ます。 こ れが exclude column notation です。 こ れに よ っ て除外カ ラ ムパーテ ィ シ ョ ンが作成 さ れ ます。 次の形式を使用 し ます。 • 感嘆符 「!」 を使用 し て、 それに続 く 括弧内の列が除外す る 列であ る こ と を示 し ます。 • 除外す る 列の名前の文字列は括弧で囲い ます。 • 除外す る 列の名前は コ ン マ (,) で区切 り ます。 コ ン マの後の空白文 字は随意です。 • 除外す る 列は何列で も リ ス ト で き ます。 除外す る 列は ソ ース テーブル で連続す る 必要はあ り ません。 た と えば、 テーブルの 2 列目、 4 列 目、 そ し て 8 列目を除外す る こ と がで き ます。 キー列を複製す る 必要 はあ り ませんが、 1 つま たは複数の列を キー と し て定義す る こ と をお 勧め し ます。 除外す る 列は、 キーの定義に使用す る こ と はで き ませ ん。 詳細は、 ス テ ッ プ 8 を参照 し て く だ さ い。 • 必要であれば、 長い文字列は次の行に折 り 返 し て も 構い ませんが、 列 名の途中で Enter を 「押 さ ないで く だ さ い」。 ま た、 列の リ ス ト が完 了 し た後 も 、 Enter を 「押 さ ないで く だ さ い」。 not (src_col_name2, src_col_name4, src_col_name8) 168 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 重要!垂直分割 さ れて テーブルで exclude column notation を使用する と き、 該当する ソ ース と タ ーゲ ッ ト の列名は同一でなければな り ません。 8 [オプ シ ョ ン] テーブルが次のいずれかの条件を満た し た場合、 キー定義を 指定す る こ と がで き ます。 • テーブルの主キーま たは一意のキーがカ ラ ムパーテ ィ シ ョ ン の一部でな い • テーブルにキーがない • カ ラ ムパーテ ィ シ ョ ンに多数の列があ る キーは複製のパフ ォ ーマ ン ス を向上 さ せます。 キーがない と 、 SharePlex が カ ラ ムパーテ ィ シ ョ ンのすべての列を キー と し て使用 し ます。 定義す る キー列は、 カ ラ ムパーテ ィ シ ョ ンの一部 と し て複製 さ れます。 キーを定義す る には、 カ ラ ムパーテ ィ シ ョ ン の 「後に」 空白文字を入力 し 、 次の構文を使用 し ます。 その際、 「!key 」 構成要素 と 列の リ ス ト の間には空 白文字を残 し ます。 Enter は押 さ ないで く だ さ い。 !key (col_name, col_name) 重要!垂直分割で exclude column notation を使用 し ている場合は、 キー定義で除外 さ れた列を使用する こ と はで き ません。 9 設定行に空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 所有者お よ び該当 す る タ ーゲ ッ ト テーブルの名前を ソ ース テーブルの と き と 同 じ よ う に入力 し ます。 Enter は 「押 さ ないで く だ さ い」。 target_owner.object 10 該当す る ソ ース と タ ーゲ ッ ト の列名が同一であ る か ど う かに応 じ て、 次の いずれか を行い ます。 • ソ ースお よ び タ ーゲ ッ ト 列の名前が ま っ た く 同一の場合は、 ス テ ッ プ 11 ま で ス キ ッ プ し ます。 ま たは • ソ ース と タ ーゲ ッ ト の列名が異な る 場合は、 タ ーゲ ッ ト テーブルの名前 の後に空白文字を入力 し 、 ソ ース列を リ ス ト す る のに使用 し た構文 と 同 じ 構文を使用 し て タ ーゲ ッ ト 列を リ ス ト し ます。 SharePlex に よ っ て正 し い相互関係が object cache に構築 さ れ る よ う に、 ソ ース列 と 同 じ 論理的順 番で タ ーゲ ッ ト 列を リ ス ト し ます。 た と えば、 ソ ース リ ス ト の 1 列目へ の変更は タ ーゲ ッ ト リ ス ト の 1 列目に複製 さ れ ます。 ソ ース の 2 列目への 章5 SharePlex での複製の準備 169 変更は、 タ ーゲ ッ ト リ ス ト の 2 列目に複製 さ れ ます。 実際のテーブルの 中の タ ーゲ ッ ト 列の順番に関係な く 、 こ の形式を使用 し て く だ さ い。 (targ_col_name1, targ_col_name2, targ_col_name3) ê}14: scott.employee_HQ EmpNo mary.sales_W RepName char(30) not null, SocSec number(11) not null, number(4) not null, SalesID number(4) not null, EmpName char(30), CustCount number(7,2), Job SalesVol number(7,2), Salary number(7,2), Commis number(7,2), Region char(20) Region char(20) char(10), 図 15: 列名が異な る ソ ース と タ ーゲ ッ ト テーブル : EmpNo から SalesID へ、 そ し て EmpName か ら RepName へデー タ を複製するには、 次のよ う に設定行に リ ス ト し ます。 scott.employee (EmpNo, EmpName) mary.sales_W (SalesID, RepName) タ ーゲ ッ ト 列の構成要素が完了 し た後で も Enter は 「押 さ ないで く だ さ い」。 11 設定行に空白文字ま たは タ ブ文字を最低 1 文字入力 し 、 次の 2 つの う ちい ずれかの方法でルーテ ィ ン グ を指定 し ます。 • ソ ース テーブルに水平分割レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 例 外マーカー (!) を入力 し 、 SHAREPLEX_PARTITION テーブルに記述 さ れ てい る と お り に大文字 ・ 小文字 と スペルを使用 し てパーテ ィ シ ョ ン ス キーマの名前を入力 し ます。 !partition_scheme ま たは • ソ ース テーブルに水平分割レ プ リ ケーシ ョ ン を使用 し ていない場合は、 次のいずれかの方法でルーテ ィ ン グマ ッ プ を入力 し ます。 図 16: ルーテ ィ ングの形式 基本ルーテ ィ ング マップ [email protected] 複合 ルーテ ィ ングマ ッ プ [email protected]_SID1 + [email protected]_SID2 170 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 図 16: ルーテ ィ ングの形式 基本ルーテ ィ ン グ マップ [email protected] named post queue を 持つ ルーテ ィ ン グマ ッ プ source_sys:queue_name*[email protected] named post queue を 持つ ルーテ ィ ン グマ ッ プ targetsys:[email protected] --- 列が 1 つの タ ーゲ ッ ト シ ス テ ム * に複製 さ れ る 場合は、 基本ルーテ ィ ン グ マ ッ プ を作成 し ます。 -- 列が複数の タ ーゲ ッ ト シ ス テ ムに複製 さ れ る 場合は、 垂直分割テーブル は設定で 1 回以上 リ ス ト す る こ と がで き ないため、 複合ルーテ ィ ン グ マ ッ プ を使用 し ます。 該当す る タ ーゲ ッ ト の所有者 と テーブル名はすべ ての タ ーゲ ッ ト シ ス テ ムにおいて同一でなければな り ません。。 --named export queue を使用 し てい る 場合は、 図 16 で示 さ れてい る よ う に適 切な構文を使用 し ます。 12 Enter キーを押 し て新 し い行を作成 し ます。 13 垂直分割レ プ リ ケーシ ョ ン を使用す る テーブルの個々について ス テ ッ プ 6 か ら 11 ま で を繰 り 返 し ます。 * SharePlex では、 下線 (_) や ド ッ ト (.) な ど、 英数文字でない ものを含むシ ス テム名はサ ポー ト さ れません。 詳細は、 「 タ ーゲ ッ ト シ ス テム名」 (132 ページ) を参照 し て く だ さ い。 章5 SharePlex での複製の準備 171 スキーマ内の多数のテーブルを複製する よ う に設 定を ス ク リ プ ト 記述する には build_config.sql ス ク リ プ ト は ス キーマの複数の (ま たはすべての) テーブル を含む設定を構築す る こ と を可能に し ます。 こ れは、 設定の各構成要素を プ ロ ン プ ト す る 、 イ ン タ ラ ク テ ィ ブな ス ク リ プ ト です。 各オブジ ェ ク ト の情報を入 力 し 、 個別にルーテ ィ ン グす る 代わ り に、 ワ イ ル ド カー ド を使用 し て一定の テーブルを一括に選択 し た り 、 1 つのキース ト ロ ー ク で ス キーマの全テーブル を選択す る こ と がで き ます。 build_config.sql を使用する条件 • ソ ース と タ ーゲ ッ ト のテーブル名が同一でなければな り ません。 • ス ク リ プ ト ではシーケ ン ス はサポー ト さ れ ません。 設定を ア ク テ ィ ベー ト す る 前に sp_ctrl の edit config コ マ ン ド を使用 し てシーケ ン ス のエ ン ト リ を 追加で き ます。 • ス ク リ プ ト は、 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン を サポー ト し てい ませ ん。 copy config コ マ ン ド で設定を コ ピー し 、 edit config コ マ ン ド でパー テ ィ シ ョ ン化レ プ リ ケーシ ョ ン を使用す る テーブルにエ ン ト リ を追加で き ます。 新 し い設定を ア ク テ ィ ベー ト し ます。 • ス ク リ プ ト では、 SharePlex、 SYS お よ び SYSTEM ス キーマ内のオブジ ェ ク ト は設定 さ れ ません。 こ れ ら の ス キーマは、 シ ス テ ムお よ び イ ン ス タ ン ス 仕様のため、 複製で き ません。 • edit config コ マ ン ド を使用 し て設定が構築 さ れた後に必要に応 じ て他の変 更を行 う こ と がで き ます。 SharePlex コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の第 1 章を参照 し て く だ さ い。 複数のスキーマの複製 異な る ス キーマで build_config.sql を実行 し 、 結果の設定を 1 つの設定に集結 す る こ と がで き ます。 Datasource:o.SID は 「1 行」 を除いてすべて削除 し て く だ さ い。 こ の行は、 フ ァ イ ルの第 1 行目が非 コ メ ン ト 行であ る 必要があ り ます。 フ ァ イ ルは config サブデ ィ レ ク ト リ か ら 移動 し ないて く だ さ い。 設定の構築 の詳細は、 「SharePlex 設定の構成要素」 (125 ページ) を参照 し て く だ さ い。 172 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 build_config.sql を使用 し て設定を作成する には 1 SharePlex 変数デー タ デ ィ レ ク ト リ の config ( 設定 ) サブデ ィ レ ク ト リ に移動 し ます。 build_config.sql ス ク リ プ ト は、 設定を現行の作業デ ィ レ ク ト リ に 置 き ますが、 SharePlex の設定は、 SharePlex がそれを見つけ、 ア ク テ ィ ベー ト で き る よ う に config サブデ ィ レ ク ト リ に存在す る 必要があ り ます。 $ cd /variabledata_dir/config 2 SQL*Plus にシ ス テ ム と し て ロ グオ ン し ます。 $ sqlplus SYSTEM/MANAGER 3 ス ク リ プ ト を実行 し ます。 SharePlex 製品デ ィ レ ク ト リ 内の util ( ユーテ ィ リ テ ィ ) サブデ ィ レ ク ト リ に存在す る 、 ス ク リ プ ト の フルパ ス名を入力 し ま す。 SQL> @ /product_dir/util/build_config.sql 4 タ ーゲ ッ ト マシ ン の要求か ら 始め ス ク リ プ ト は一連のプ ロ ン プ ト を表示 し ます。 プ ロ ン プ ト お よ び入力内容は、 次のテーブルを参照 し て く だ さ い。 プロンプ ト Target machine 入力内容 SystemA な ど の タ ーゲ ッ ト マシ ン名を入力 し 、 Enter キー を押 し ます。 タ ーゲ ッ ト シ ス テ ム名に、 ア ン ダーバー (_) や ド ッ ト (.) な ど英数字以外の文字は使用で き ません。 Source database SID oraA な ど、 ソ ース (プ ラ イ マ リ ) Oracle オブジ ェ ク ト の ORACLE_SID を入力 し 、 Enter キーを押 し ます。 sp_ctrl に設定 を構築す る と き 、 SID の前に o. を入力す る 必要はあ り ません。 ORACLE_SID には、 英大文字 と 小文字の区別があ り ます。 Target database SID oraB な ど、 タ ーゲ ッ ト (デス テ ィ ネーシ ョ ン) Oracle オブジ ェ ク ト の ORACLE_SID を入力 し 、 Enter キーを押 し ます。 SID の前に o. を入力す る 必要はあ り ません。 ORACLE_SID には、 英大文字 と 小文字の区別があ り ます。 Owner of the source database 複製す る テーブルの所有者 (例 : Scott) を入力 し 、 Enter を押 し tables ます。 Owner of the target database タ ーゲ ッ ト テーブルの所有者 (例 : Mary) を入力 し 、 Enter を押 tables し ます。 章5 SharePlex での複製の準備 173 Table name to include (blank こ のプ ロ ン プ ト で、 次のいずれか を行い ます。 for all) • ス ク リ プ ト で指定 し た ソ ース所有者に属す る すべてのテーブ ルを選択す る 場合は、 何 も 入力 し ない ま ま Enter を押 し ま す。 ま たは • 特定のテーブルを選択す る には、 ワ イ ル ド カー ド 文字 (%) と 文字列 (例 : % e_slry&) を入力 し Enter を押 し ます。 ま たは • テーブル名を個別に入力 し 、 Enter を押 し ます。 ス ク リ プ ト は複数のテーブルを設定す る ための も のですが、 1 つのテー ブルに対 し て設定を作成 し ます。 ス ク リ プ ト は ソ ース と タ ーゲ ッ ト のテーブル名を設定 し ます。 Name of the output file to 設定の名前を入力 し 、 Enter を押 し ます。 こ の ス ク リ プ ト はフ ァ create イ ルに .lst 拡張子 (例 : Scott_config.lst) を指定 し ます。 5 テーブルや所有者が大文字 と 小文字を区別す る 場合は、sp_ctrl で edit config コ マ ン ド を使っ て設定を開 き 、 テ キ ス ト エデ ィ タ を使っ て大文字 と 小文字 を区別す る テーブルお よ び所有者名を二重引用符で囲みます ( 例 : “scott” . “emp” )。 こ の ス ク リ プ ト は、 大文字小文字の区別を採用す る ために Oracle が必要 と す る 引用符を追加 し ません。 sp_ctrl(sysA)> edit config filename 6 テ キ ス ト エデ ィ タ の標準保存 コ マ ン ド を使用 し て、 フ ァ イ ルを保存 し て閉 じ ます。 7 設定が正 し い場所にあ る こ と を保証す る ために、 list config コ マ ン ド を発行 し ます。 表示 さ れてい る 名前を確認 し ます。 こ の コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の第 1 章を参照 し て く だ さ い。 sp_ctrl(sysA)> list config 174 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 全デー タ ベース を複製する設定のス ク リ プ ト 記述 config.sql ス ク リ プ ト を使用 し て、 デー タ ベース の全ス キーマにあ る すべての テーブル、 ま た状況に応 じ てすべてのシーケ ン ス を リ ス ト 化す る 設定の構成を 自動化で き ます。 こ の ス ク リ プ ト の使用に よ っ て、 複製す る 全デー タ ベース の 高可用性レ プ リ ケーシ ョ ン ス ト ラ テ ジー構築やその他シナ リ オ構築の時間を短 縮 し ます。 config.sql 使用の条件 • ス ク リ プ ト では、 SharePlex、 SYS お よ び SYSTEM ス キーマ内のオブジ ェ ク ト は設定 さ れ ません。 こ れ ら の ス キーマは、 シ ス テ ムお よ び イ ン ス タ ン ス 仕様のため、 複製で き ません。 • ス ク リ プ ト は、 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン をサポー ト し てい ませ ん。 copy config コ マ ン ド で設定を コ ピー し 、 edit config コ マ ン ド でパー テ ィ シ ョ ン化レ プ リ ケーシ ョ ン を使用す る テーブルにエ ン ト リ を追加で き ます。 新 し い設定を ア ク テ ィ ベー ト し ます。 • edit config コ マ ン ド を使用 し 、 設定構築後必要に応 じ て変更を行 う こ と がで き ます。 SharePlex コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の 第 1 章を参照 し て く だ さ い。 config.sql を使用する設定を作成 1 SharePlex 変数デー タ デ ィ レ ク ト リ の config ( 設定 ) サブデ ィ レ ク ト リ に移動 し ます。 config.sql ス ク リ プ ト が現在稼動中のデ ィ レ ク ト リ に設定を行い ま す。 SharePlex が設定を検知 し ア ク テ ィ ベー ト す る ために、 config サブデ ィ レ ク ト リ 内に SharePlex 設定が存在す る 必要があ り ます。 $ cd /variabledata_dir/config 2 SQL*Plus にシ ス テ ム と し て ロ グオ ン し ます。 $ sqlplus SYSTEM/MANAGER 3 ス ク リ プ ト を実行 し ます。 SharePlex 製品デ ィ レ ク ト リ 内の util ( ユーテ ィ リ テ ィ ) サブデ ィ レ ク ト リ に存在す る 、 ス ク リ プ ト の フルパ ス名を入力 し ま す。 SQL> @ /product_dir/util/config.sql 章5 SharePlex での複製の準備 175 4 ス ク リ プ ト には、 タ ーゲ ッ ト マシ ンへの要求か ら 始ま る プ ロ ン プ ト が表示 さ れ ます。 プ ロ ン プ ト お よ び入力内容は、 次のテーブルを参照 し て く だ さ い。 プロンプ ト 入力内容 タ ーゲ ッ ト マ シ ン名 SystemA な ど の タ ーゲ ッ ト マシ ン名を入力 し 、 Enter キー を押 し ま す。 タ ーゲ ッ ト シ ス テ ム名に、 ア ン ダーバー (_) や ド ッ ト (.) な ど英数字以外の文字は使用で き ません。 ソ ースデー タ ベース SID oraA な ど、 ソ ース (プ ラ イ マ リ ) Oracle オブジ ェ ク ト の ORACLE_SID を入力 し 、 Enter キーを押 し ます。 sp_ctrl に設定を構 築す る と き 、 SID の前に o. を入力す る 必要はあ り ません。 ORACLE_SID には、 英大文字 と 小文字の区別があ り ます。 タ ーゲ ッ ト デー タ ベー oraB な ど、 タ ーゲ ッ ト (デス テ ィ ネーシ ョ ン) Oracle オブジ ェ ク ト の ORACLE_SID を入力 し 、 Enter キーを押 し ます。 SID の前に o. を ス SID 入力す る 必要はあ り ません。 ORACLE_SID には、 英大文字 と 小文字 の区別があ り ます。 シーケ ン スの複製 (y/n) シーケ ン ス を複製 し てい る か ど う かに よ っ て y ま たは n を入力 し 、 Enter キーを押 し ます。 原則的に、 シーケ ン ス は レ ポー ト ま たはピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン ではな く 、 高可用性レ プ リ ケーシ ョ ン で複製 さ れ ます。 シーケ ン スお よ び複製の詳細は、 92 ページ を参照 し て く だ さ い。 SharePlex oracle のユー SharePlex Oracle ユーザーの名前を入力 し 、 Enter キーを押 し ます。 こ れに よ り 、 SharePlex schema が複製 さ れない よ う に し 、 複製の問 ザー名 題を回避で き ます。 有効な名前が提供 さ れない場合、 ス ク リ プ ト は 機能 し ません。 注 : SharePlex によ っ て、 config.file の名前が設定に割 り 当て ら れます。 ス ク リ プ ト を 再度実行 し て追加の設定を作成 し た場合、 最初のフ ァ イルが上書き さ れます。 元のフ ァ イルを保存するには、 別の名前で 2 番目のフ ァ イルを作成 し ます。 5 テーブルや所有者が大文字 と 小文字を区別す る 場合は、sp_ctrl で edit config コ マ ン ド を使っ て設定を開 き 、 テ キ ス ト エデ ィ タ を使っ て大文字 と 小文字 を区別す る テーブルお よ び所有者名を二重引用符で囲みます ( 例 : “scott” . “emp” )。 こ の ス ク リ プ ト は、 大文字小文字を区別す る ために Oracle が必要 と す る 引用符を追加 し ません。 sp_ctrl(sysA)> edit config filename 176 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 現在の位置の設定を確認す る には、 , list config コ マ ン ド を発行 し ます。 表 示 さ れてい る 名前を確認 し ます。 こ の コ マ ン ド の詳細は、 『SharePlex Reference Manual』 の第 1 章を参照 し て く だ さ い。 sp_ctrl(sysA)> list config 7 テ キ ス ト エデ ィ タ の標準保存 コ マ ン ド を使用 し て、 フ ァ イ ルを保存 し て閉 じ ます。 章5 SharePlex での複製の準備 177 パー ト 2 : 複製の確立 複製方法 ( 第 4 章で定義 ) では、 SharePlex の設定方法を定義 し 、 複製のための Oracle オブジ ェ ク ト やサーバを準備 し ます。 こ の章の項目では、 各複製方法の 一意の 要件を解説 し てい ます。 基本デー タ お よ びシ ス テ ム要件は、 第 4 章を参 照 し て く だ さ い。 設定テ ン プ レー ト 、 例お よ び指示は次に記載 さ れてい ます。 • • • • • • • • レ ポー ト のための複製の設定 高可用性お よ びデー タ リ カバ リ のための複製の設定 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン ま たは分散処理に対す る 複製の設定 中間シ ス テ ム を通 し た複製の設定 結合 し た カ ス ケー ド /ブ ロ ー ド キ ャ ス ト レ プ リ ケーシ ョ ン の設定 集中化レ ポー ト のための複製の設定 ( 標準方法 ) 複数の sp_cop プ ロ セ ス を使用 し た集中化レ ポー ト のための複製設定 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定 各方法に対す る 適切な設定を作成す る ためのテ ン プ レー ト が記載 さ れてい ま す。 例で使用 さ れている規約 こ れ ら の指示の例では、 sysAÅAsysB お よ び sysC, な ど のシ ス テ ム名や、 oraA や oraB な ど の SID を含む Oracle オブジ ェ ク ト が使用 さ れ ます。 簡略化す る ために、 テーブル と い う 用語が使用 さ れ ますが、 注意があ る 場合を 除いては、 同様の手順がシーケ ン ス に適用 さ れ ます。 178 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 レポー ト のための複製の設定 1 つの Oracle イ ン ス タ ン ス か ら 別の イ ン ス タ ン スへの設定は、 最 も 簡単な も の です。 それは、 別のシ ス テ ム ま たは同一シ ス テ ム内の他のテーブルのいずれか に複製す る 短方向設定です。 次の例では、 レ ポー ト イ ン ス タ ン ス を確立す る 様々な方法を説明 し てい ます。 テ ン プ レー ト 7 はあ ら ゆ る レ ポー ト のバ リ エー シ ョ ンに適用 さ れ ます。 テ ン プ レ ー ト 7: レ ポー ト 用の複製の設定 Datasource:o.sourceSID source_owner.table target_owner.table [email protected] ある シス テムから 別のシ ス テムへのレポー ト の設定 複製がデー タ 復元ではな く レ ポー ト のみに使用 さ れ る 場合、 ORACLE_SID が ソ ースお よ び タ ーゲ ッ ト シ ス テ ムについて異な る 場合があ り ます。 タ ーゲ ッ ト テーブルの所有者 と 名前は、 ソ ース テーブルの所有者お よ び名前 と 同 じ 場合 も あれば、 一方ま たは両方が異な る 場合があ り ます。 ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA scott.emp bill.emp2 [email protected] ソ ースシ ス テム側 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 • テ ン プ レー ト 7 に従っ て、 設定を作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ま す (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブ ルに使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プ で使用 し ます (151 ページ を参照 し て く だ さ い )。 レ ポー ト に複製シーケ ン ス は必要あ り ません。 こ の設定では使用 し ないで く だ さ い。 すべての ソ ー 章5 SharePlex での複製の準備 179 ス テーブルが同一ス キーム にあ る 場合、 ま た ソ ース テーブルや タ ーゲ ッ ト テーブルの名前が同 じ であ る 場合、 build_config.sql ス ク リ プ ト を使用 し ま す (171 ページ を参照 し て く だ さ い )。 タ ーゲ ッ ト シ ス テム側 • デー タ 同期化のために Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し ない場合、 タ ー ゲ ッ ト イ ン ス タ ン ス を作成 し ます。 Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用す る 場合は、 同期の手順を実行時に タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を 使用 し て タ ーゲ ッ ト イ ン ス タ ン ス を設定す る 場合は、 ora_setup を実行 し な いで く だ さ い。 タ ーゲ ッ ト イ ン ス タ ン ス が確定 し た後、 同期手順に よ っ て実 行の指示があ り ます。 両シス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ム のすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • ソ ースデー タ を コ ピー し て タ ーゲ ッ ト イ ン ス タ ン ス に適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 第 7 章にあ る いずれかの手順を 実行 し 、 イ ベン ト の適切な シーケ ン ス に従っ て く だ さ い。 同一シ ス テム上にあ る イ ン ス タ ン スから 別のイ ン ス タ ン スへのレ ポー ト 設定 (UNIX のみ) こ の設定は UNIX シ ス テ ム のみ可能です。 ソ ース テーブルは、 同一シ ス テ ム上 の異な る イ ン ス タ ン ス に複製 さ れ ます ( こ の例では oraA か ら oraB へ)。 こ の 設定で、 タ ーゲ ッ ト テーブルの所有者 と 名前は ソ ース テーブルの所有者お よ び 名前 と 同 じ 場合 も あれば、 一方ま たは両方が異な る 場合があ り ます。 sysA の設定例 Datasource:o.oraA scott.emp scott.emp [email protected] • 通常の方法で SharePlex を イ ン ス ト ール し ます。 詳細は 『SharePlex イ ン ス ト ールお よ びデモン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 • 必要に応 じ て、 タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 180 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 各 イ ン ス タ ン ス に、 ora_setup を実行 し ます。 詳細は、 414 ページ を参照 し て く だ さ い。 • レ ポー ト お よ び ク エ リ に必要なテーブルに関す る デー タ やシ ス テ ム の問題 が、 第 4 章 に従っ て対処 さ れてい る こ と を確認 し 、 デー タ を同期 し て複製 を開始 し ます。 • 178 ページのテ ンプ レー ト 7 を参照 し 、 デー タ ソ ース と し て ソ ース イ ン ス タ ン ス の ORACLE_SID を使用 し て設定を作成 し ます。 垂直分割レ プ リ ケー シ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除 外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グ マ ッ プで使用 し ます (151 ページ を参照 し て く だ さ い )。 ルーテ ィ ン グマ ッ プの ロ ーカルマシ ン名お よ び タ ーゲ ッ ト イ ン ス タ ン ス の ORACLE_SID を指 定 し ます。 レ ポー ト イ ン ス タ ン ス に複製シーケ ン ス は必要あ り ません。 こ の設定では 使用 し ないで く だ さ い。 すべての ソ ース テーブルが同一シ ス テ ム上にあ り 、 対応 ソ ースお よ び タ ーゲ ッ ト テーブルの名前が同一であ る 場合は、 build_config.sql ス ク リ プ ト を指示通 り に使用で き ます (171 ページ を参照 し て く だ さ い)。 • ソ ースデー タ を コ ピー し て タ ーゲ ッ ト イ ン ス タ ン ス に適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 第 7 章 を参照 し 、 適切な手順に 従っ て く だ さ い。 同一イ ン ス タ ン スにある テーブル間での複製の設定 (UNIX シス テム) こ の設定は UNIX シ ス テ ム のみ可能です。 ソ ース テーブルは、 同一 Oracle イ ン ス タ ン ス内の異な る テーブルに複製 さ れ ます。 タ ーゲ ッ ト テーブルの名前は ソ ース テーブル と 同 じ 名前にで き ますが、 こ の設定が正常に行われ る ために異 な る 所有者であ る 必要があ り ます。 sysA の設定例 Datasource:o.oraA scott.emp mary.emp [email protected] • 通常の方法で SharePlex を イ ン ス ト ール し ます。 詳細は 『SharePlex イ ン ス ト ールお よ びデモン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 章5 SharePlex での複製の準備 181 • こ の イ ン ス タ ン ス に、 ora_setup を実行 し ます。 詳細は、 414 ページ を参照 し て く だ さ い。 • • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ム のすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 178 ページのテ ン プ レー ト 7 を参照 し 、 ルーテ ィ ン グマ ッ プのデー タ ソ ース お よ び タ ーゲ ッ ト イ ン ス タ ン ス と し て ORACLE_SID を使用 し 、 設定を作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ム パーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで使用 し ます (151 ページ を参照 し て く だ さ い )。 ルーテ ィ ン グマ ッ プの ロ ーカルシ ス テ ム名を指定 し ます。 レ ポー ト に複製シーケ ン ス は必要あ り ません。 こ の設定では使用 し ないで く だ さ い。 • ソ ースデー タ を コ ピー し て タ ーゲ ッ ト テーブルに適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 第 7 章 を参照 し 、 適切な手順に従っ て く だ さ い。 デー タ リ カバ リ と 結合 し た レ ポー ト の設定 ある シ ス テムから別のシ ス テムへの高可用性 対応 ソ ースや タ ーゲ ッ ト テーブルの所有者や名前な ど、 ソ ースお よ び タ ーゲ ッ ト イ ン ス タ ン ス が同一であ る 場合、 環境に応 じ て、 プ ラ イ マ リ イ ン ス タ ン ス か ら の フ ェ イ ルオーバーに備え たバ ッ ク ア ッ プ と し て、 レ ポー ト イ ン ス タ ン ス を 使用で き ます。 こ れは H/A テーブル と レ ポー ト テーブル間で競合があ る ため、 ERP アプ リ ケーシ ョ ン では高可用性で タ ーゲ ッ ト イ ン ス タ ン ス を使用で き ませ ん。 こ の設定が有効な環境の場合は、 『「高可用性お よ びデー タ リ カバ リ のための複 製の設定」 (182 ページ)。』 の指示に従っ て く だ さ い。 182 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 高可用性およ びデータ リ カ バリ のための複製の設定 デー タ リ カバ リ お よ び高可用性の目的は、 セ カ ン ダ リ シ ス テ ム上で即時フ ェ イ ルオーバーの準備がで き てい る プ ラ イ マ リ イ ン ス タ ン ス の複製を行 う こ と で す。 同一のオブジ ェ ク ト が両方のデー タ ベース に存在 し 、 対応 ソ ース (プ ラ イ マ リ ) お よ び タ ーゲ ッ ト (セ カ ン ダ リ ) オブジ ェ ク ト の所有者 と 名前は同一で す。 分割レ プ リ ケーシ ョ ンは、 こ の設定に適 し てい ません。 こ の方法では、 お 互いが逆であ る 2 つの設定を持つ双方向 レ プ リ ケーシ ョ ン を使用 し ます。 セ カ ン ダ リ (ス タ ンバ イ ) マシ ンの設定は、 シ ス テ ムが フ ェ イ ルオーバーを待機 し た状態で停止 し た Export プ ロ セ ス に よ っ て、 ア ク テ ィ ベー ト さ れた状態の ま ま にな り ます。 テ ン プ レ ー ト 8: プ ラ イ マ リ シ ス テムの高可用性設定 重要! 高可用性のために、 プ ラ イ マ リ オブジ ェ ク ト の所有者 と テーブル名は、 対応す る セ カ ン ダ リ オブジ ェ ク ト の所有者お よ びテーブル名 と 同一であ る 必要 があ り ます。 Datasource:o.primarySID primary_owner.table secondary_owner.table [email protected] プ ラ イ マ リ シ ス テ ム sysA の設定例 Datasource:o.oraA scott.emp scott.emp [email protected] テ ン プ レ ー ト 9: セ カ ン ダ リ シ ス テムの高可用性設定 Datasource:o.secondarySID secondary_owner.table primary_owner.table [email protected] プ ラ イ マ リ シ ス テ ム上では、 意図的に 「逆」 の設定にな っ てい ます。 セ カ ン ダ リ シ ス テ ム sysB の逆設定例 Datasource:o.oraA2 scott.emp scott.emp [email protected] 章5 SharePlex での複製の準備 183 プ ラ イ マ リ シ ス テム側 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 • 182 ページのテ ン プ レー ト 8 を参照 し 、 セ カ ン ダ リ シ ス テ ムに複製す る プ ラ イ マ リ シ ス テ ム を作成 し ます。 設定にシーケ ン ス を表示 さ せます。 デー タ ベース のテーブルお よ びシーケ ン ス をすべて複製す る 場合、 config.sql ス ク リ プ ト を使用 し て設定プ ロ セ ス を指定 し ます (174 ページ を参照 し て く だ さ い)。 セ カ ン ダ リ シ ス テム側 • 高可用性のために、 Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し て デー タ を同期す る こ と がで き ます。 こ れに よ り 、 セカ ン ダ リ イ ン ス タ ン ス が作成 さ れ ますが、 こ れ ら の方法を使用 し ない場合は、 直ちにセ カ ン ダ リ イ ン ス タ ン ス を作成 し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy でセ カ ン ダ リ イ ン ス タ ン ス を確定 し てい る 場合、 ora_setup を 実行 し ない で く だ さ い。 同期手順に従っ て セ カ ン ダ リ イ ン ス タ ン ス が確定 し た後、 コ マ ン ド を実行 し ます。 • セ カ ン ダ リ シ ス テ ム の Export プ ロ セ ス を停止す る と 、 プ ラ イ マ リ シ ス テ ム への再複製が、 セ カ ン ダ リ シ ス テ ム上で偶発的に発生す る こ と はあ り ませ ん (デー タ 変更す る ス ケ ジ ュ ールジ ョ ブな ど)。 注 : 複製の実行中、 セ カ ン ダ リ イ ン ス タ ン スに変更が行われているか確認で き ます。 sp_ctrl の qstatus コ マ ン ド を使用 し て、 セ カ ン ダ リ シス テム上の export queue の status を表示 し ます。 シス テム上の Capture プ ロ セスが同一シ ス テム上の Post プ ロ セ ス を無視する ため、 status は空白である必要があ り ます。 export queue に メ ッ セージが 表示 さ れた場合、 SP_OCT_REPLICATE_POSTER パラ メ ー タ が有効でなければ、 その メ ッ セージはセ カ ン ダ リ シ ス テムで発生 し た ト ラ ンザク シ ョ ン を表 し ます。 SharePlex コ マ ン ド およびパラ メ ー タ の詳細は、 『『SharePlex Reference Manual』 の第 章 』 を参 照 し て く だ さ い。 • 182 ページのテ ン プ レー ト 9 を参照 し 、 セ カ ン ダ リ シ ス テ ム上に逆の 設定を 作成 し 、 セカ ン ダ リ シ ス テ ム か ら プ ラ イ マ リ シ ス テ ムに同一のテーブルを 複製 し ます。 デー タ ソ ース と し てセ カ ン ダ リ イ ン ス タ ン ス を指定 し 、 ルー テ ィ ン グマ ッ プにプ ラ イ マ リ イ ン ス タ ン ス と シ ス テ ム を指定 し ます。 デー タ を同期 し た後 こ の設定を ア ク テ ィ ベー ト し 、 ユーザーが こ のシ ス テ ムに フ ェ イ ルオーバーす る と き 、 複製の準備を し ます。 Export は停止 し た状態 であ る 必要があ り ます。 184 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • SharePlex を のぞ く すべてのユーザーに対 し て INSERT、 UPDATE お よ び DELETE 操作を拒否す る ス ク リ プ ト を作成 し ます。 フ ェ イ ルオーバー • プ ラ イ マ リ シ ス テ ム上で使用す る アプ リ ケーシ ョ ン を、 セ カ ン ダ リ シ ス テ ム上で利用可能に し ます。 • イ ン ス タ ン ス外部の複製 さ れていないデー タ ベースお よ び重要な フ ァ イ ル を セ カ ン ダ リ シ ス テ ム上に コ ピー し ます。 • フ ェ イ ルオーバー手順の間に実行可能なすべてのユーザに対 し 、 INSERT、 UPDATE お よ び DELETE の権限を許可す る ス ク リ プ ト を作成 し ます。 • フ ェ イ ルオーバー実行中、 セ カ ン ダ リ シ ス テ ム上で制約を有効にす る ス ク リ プ ト を作成 し ます ( 同期プ ロ セ ス実行中は制約を無効に し ます )。 • ユーザーを セ カ ン ダ リ シ ス テ ムに再配置す る ために、 フ ェ イ ルオーバーの 手順を開発 し ます。 • Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し てセ カ ン ダ リ イ ン ス タ ン ス を作成 し た 場合、 実行す る ス ク リ プ ト を保持 し ます。 セ カ ン ダ リ イ ン ス タ ン ス を修正 し 、 プ ラ イ マ リ イ ン ス タ ン ス を再度作成で き ます。 • 「定期的な SharePlex バ ッ ク ア ッ プ」 (119 ページ) に従っ て、 複製フ ァ イ ルのバ ッ ク ア ッ プ を維持 し ます。 • 「SharePlex で高可用性環境で使用す る には」 (327 ページ) を参照 し 、 SharePlex を実行 し てい る マシ ンの フ ェ イ ルオーバーお よ びフ ェ イ ルバ ッ ク の手順を確認 し て く だ さ い。 . 両シ ス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ムのすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • プ ラ イ マ リ デー タ を コ ピー し てセ カ ン ダ リ イ ン ス タ ン ス に適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 第 7 章にあ る いずれかの手順を 実行 し 、 イ ベン ト の適切な シーケ ン ス に従っ て く だ さ い。 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し (289 ページ を参照 し て く だ さ い)、 ユーザーがプ ラ イ マ リ デー タ ベースへのア ク セ ス を継続で き る よ う に し ます。 • 「定期的な SharePlex バ ッ ク ア ッ プ」 (119 ページ) に従っ て、 複製フ ァ イ ルのバ ッ ク ア ッ プ を維持 し ます。 章5 SharePlex での複製の準備 185 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン または分散処理に 対する複製の設定 デー タ 分散お よ び分散処理では、 直接接続 さ れたネ ッ ト ワー ク 経由で各 タ ー ゲ ッ ト シ ス テ ム に対 し 、 ブ ロ ー ド キ ャ ス ト レ プ リ ケーシ ョ ン を使用 し ます。 デー タ 分散は通常、 設定内の すべての テーブルを、 設定内の すべての タ ー ゲ ッ ト シ ス テ ム に複製 し ます。 分散処理では、 テーブルの 異なる セッ ト ま たはサブセッ ト を 、 異なる タ ーゲッ ト シス テム に複製し 、 処理を 分散さ せま す。 分散処理によ っ て、 タ ーゲッ ト シ ス テム 上の処理はク エリ 、 アウ ト プッ ト およ びレ ポート のみと 想定さ れま す。 ユーザーがタ ーゲッ ト データ に DML ト ラ ン ザク ショ ン を 作成する には、 202 ページ に従っ て、 ピ アト ゥ ピ アレ プリ ケーショ ン 環境を 確立し てく ださ い。 こ の 2 つの方法で、 タ ーゲ ッ ト テーブルの所有者 と 名前が、 ソ ース テーブルの 所有者お よ び名前 と 同 じ 場合 も あれば、 一方ま たは両方が異な る 場合があ り ま す。 デー タ 分散では、 ソ ース テーブルの タ ーゲ ッ ト テーブルはすべて、 所有者 お よ び名前が同 じ 場合 も あれば、 異な る 場合 も あ り ます。 テ ン プ レ ー ト 10: タ ーゲ ッ ト デーブルの所有者 と 名前が同 じ 場合、 デー タ 分散 の設定 全 タ ーゲ ッ ト シ ス テ ム上の対応す る タ ーゲ ッ ト テーブルすべての所有者お よ び 名前が同 じ 場合、 複合ルーテ ィ ン グマ ッ プ を使用で き ます。 複合ルーテ ィ ン グ マ ッ プの作成支援は、 139 ページ を参照 し て く だ さ い。 Datasource:o.sourceSID srce_own.table targ_own.table [email protected] + [email protected] 186 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA scott.prod scott.prod [email protected] + [email protected] + [email protected] テ ン プ レ ー ト 11: タ ーゲ ッ ト デーブルの所有者 と 名前が異な る場合、 デー タ 分 散の設定 いずれかの タ ーゲ ッ ト シ ス テ ム上で対応 タ ーゲ ッ ト テーブルの所有者 と 名前の いずれか、 ま たは両方が異な る 場合、 こ の設定を使用 し ます。 こ の設定を使用 す る と 、 テ ン プ レー ト 10 の設定 と 結合 さ せ る こ と がで き ます。 Datasource:o.sourceSID source_owner.table1 target_owner.table1 [email protected] source_owner.table1 target_owner.table2 [email protected] ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA scott.emp jane.emp scott.emp joe.prod scott.emp mary.cust [email protected] [email protected] [email protected] テ ン プ レ ー ト 12: 分散処理の設定 こ の設定では、 タ ーゲ ッ ト テーブルの所有者お よ び名前が、 ソ ース テーブルの 所有者お よ び名前 と 同一、 ま たは異な る 場合があ り ます。 Datasource:o.sourceSID source_owner.table1 source_owner.table2 target_owner.table1 [email protected] target_owner.table2 [email protected] ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA scott.emp scott.emp scott.sales scott.sales scott.prod jane.prod [email protected] [email protected] [email protected] ソ ースシ ス テム側 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 章5 SharePlex での複製の準備 • 187 テ ン プ レー ト 10、 テ ン プ レー ト 11 ま たはテ ン プ レー ト 12 に従っ て、 設定 を作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで使用 し ます (151 ページ を参照 し て く だ さ い )。 分散処理のためにシーケ ン ス を複製す る には、 こ の設定に シーケ ン ス を使用 し ます。 別の方法 と し て、 シーケ ン ス固有の領域を各シ ス テ ムに与え ます。 別ののオプシ ョ ン を選択す る と 、 すべてのシ ス テ ムが デー タ ベース の リ ン ク を使用 し て同一シーケ ン ス にア ク セ ス で き ます。 タ ーゲ ッ ト シ ス テム側 • デー タ 同期化のために Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し ない場合、 タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用す る 場合は、 同期の手順を実行時に タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を 使用 し て タ ーゲ ッ ト イ ン ス タ ン ス を確定す る 場合は、 ora_setup を実行 し な いで く だ さ い。 タ ーゲ ッ ト イ ン ス タ ン ス が確定 し た後、 同期手順に よ っ て実 行の指示があ り ます。 両シス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ム のすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • ソ ースデー タ を コ ピー し て タ ーゲ ッ ト イ ン ス タ ン ス に適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 第 7 章にあ る いずれかの手順を 実行 し 、 イ ベン ト の適切な シーケ ン ス に従っ て く だ さ い。 188 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 中間シ ス テムを通 し た複製の設定 カ ス ケー ド レ プ リ ケーシ ョ ン では、 ソ ース シ ス テ ム か ら 中間シ ス テ ムへデー タ を複製 し 、 さ ら に中間シ ス テ ム か ら 直接接続 し てい る ネ ッ ト ワー ク を持たない 1 つ以上の リ モー ト タ ーゲ ッ ト シ ス テ ムへ、 デー タ を複製 し ます。 複製ルー ト のいずれかのシ ス テ ム上では、 対応 ソ ースや タ ーゲ ッ ト テーブルの所有者お よ び名前が同一であ る 場合ま たは異な る 場合があ り ます。 カ ス ケー ド 方法を使用 す る には、 ソ ース マシ ンは タ ーゲ ッ ト マシ ン名を解決で き る 必要があ り ます。 ただ し 、 タ ーゲ ッ ト マシ ンは ソ ース マシ ンか ら 接続で き る 必要はあ り ません。 こ の方法を設定す る 手段は 2 つあ り ます。 シナ リ オ A: 中間お よ び タ ーゲ ッ ト イ ン ス タ ン ス への複製複製 し て中間シ ス テ ム上の Oracle イ ン ス タ ン ス に post す る と 、 中間シ ス テ ム上の Capture プ ロ セ ス が、 それ ら の変更を 1 つ以上の リ モー ト ( タ ーゲ ッ ト ) シ ス テ ム上にあ る Oracle デー タ ベース に複製す る こ と がで き ます。 シナ リ オ B: 中間シ ス テ ム を 通 し た タ ーゲ ッ ト イ ン ス タ ン スへの複製中間シ ス テ ム を使用す る と 、 複製デー タ を中間シ ス テ ム上のデー タ ベース に post せずに リ モー ト ( タ ーゲ ッ ト ) シ ス テ ムに 複製デー タ を移動 さ せ る こ と がで き ます。 その 場合、 Oracle を イ ン ス ト ール し 、 ORACLE_SID が oratab フ ァ イ ル (UNIX シ ス テ ム) ま たは Windows レ ジ ス ト リ に存在す る 必要があ り ます。 ただ し 、 デー タ ベース を投入す る 必要はあ り ません。 警告! 中間シ ス テムから タ ーゲ ッ ト シ ス テムへの DDL 複製はサポー ト さ れていませ ん。 こ れは、 ソ ース シス テムか ら中間シ ス テムのみでサポー ト さ れています。 章5 SharePlex での複製の準備 189 中間 および タ ーゲ ッ ト シ ス テム上のイ ン ス タ ン スへの複 製 次のテ ン プ レー ト を使用 し 、 複製 さ れた変更を中間シ ス テ ムの Oracle イ ン ス タ ン スへ post し 、 ま た タ ーゲ ッ ト シ ス テ ムに移動 さ せて Oracle イ ン ス タ ン ス に post し ます (シナ リ オ A)。 テ ン プ レ ー ト 13: ソ ース シ ス テムのカ スケー ド レ プ リ ケーシ ョ ン設定 Datasource:o.sourceSID source_own.table intermed_own.table [email protected] ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA HQ.price Reg.price [email protected] テ ン プ レ ー ト 14: ソ ース シ ス テムのカ スケー ド レ プ リ ケーシ ョ ン設定 * Datasource:o.intermedSID intermed_own.table target_own.table [email protected] + [email protected] * 注 : 1 つのルーテ ィ ン グマ ッ プに複数の タ ーゲ ッ ト シ ス テ ム を一覧化す る に は、 対応す る すべての タ ーゲ ッ ト テーブルがすべての タ ーゲ ッ ト シ ス テ ムに、 同一の所有者 と 名前を持つ必要があ り ます。 それ以外の場合は、 所有者 と 名前 のいずれか、 ま たは両方が異な る ソ ース タ ーゲ ッ ト テーブルの各セ ッ ト に 1 行 ずつ使用 し ます。 詳細は、 139 ページ を参照 し て く だ さ い。 中間シ ス テ ム sysB の設定例 Datasource:o.oraB Reg.price Loc.price [email protected] + [email protected] 190 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 中間シス テムを通 し た タ ーゲ ッ ト イ ン ス タ ン スのみへの 複製 こ のテ ンプ レー ト で Oracle デー タ ベースへ post せずに、 中間シ ス テ ム をパ ス ス ルーシ ス テ ム と し てのみ使用 し ます (シナ リ オ B)。 こ のシナ リ オでは、 中 間シ ス テ ム に設定を行 う 必要はあ り ません。 テ ンプ レー ト に従い、 中間シ ス テ ム を通 し て複数の タ ーゲ ッ ト に複製で き ます。 テ ン プ レ ー ト 15: ソ ース シ ス テムのカ スケー ド レ プ リ ケーシ ョ ン設定 * Datasource:o.sourceSID source_own.table target_own.table intermedsystemB*[email protected] + intermedsystemB*[email protected] * 注 : 1 つのルーテ ィ ン グマ ッ プに複数の タ ーゲ ッ ト シ ス テ ム を一覧化す る に は、 対応す る すべての タ ーゲ ッ ト テーブルがすべての タ ーゲ ッ ト シ ス テ ム に、 同一の所有者 と 名前を持つ必要があ り ます。 それ以外の場合は、 所有者 と 名 前のいずれか、 ま たは両方が異な る ソ ース タ ーゲ ッ ト テーブルの各セ ッ ト に 1 行ずつ使用 し ます。 詳細は、 139 ページ を参照 し て く だ さ い。 ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA HQ.price Reg.price sysB*[email protected] + sysB*[email protected] カ スケー ド レ プ リ ケーシ ョ ン設定の 2 つの方法 ソ ースシ ス テム側 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 • 次の作業のいずれか を行ない ます。 シナ リ オ A: 189 ページのテ ンプ レー ト 13 に従っ て、 デー タ ベース を中間シ ス テ ムに複製す る 一方向設定を作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブル に使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで 使用 し ます (151 ページ を参照 し て く だ さ い )。 タ ーゲ ッ ト テーブル と し て同 じ 名前を持つ ソ ース テーブルが多数存在す る 場合、 ま たすべての ソ ース テーブルが同一ス キーム に存在す る 場合、 章5 SharePlex での複製の準備 191 build_config.sql ス ク リ プ ト を使用 し て、 設定を構築で き ます (171 ページ を参照 し て く だ さ い)。 ま たは、 config.sql ス ク リ プ ト を使用 し て全デー タ ベース を設定 し ます (174 ページ を参照 し て く だ さ い)。 シナ リ オ B: 190 ページのテ ン プ レー ト 15 に従い、 パ ス ス ルー と し てのみ中 間シ ス テ ム を使用 し て タ ーゲ ッ ト シ ス テ ム に複製す る 一方向設定を作成 し ます ( ア ク テ ィ ブな設定はあ り ません )。 垂直分割レ プ リ ケーシ ョ ン を テー ブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 . 水平分割レ プ リ ケーシ ョ ン を テーブル に使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで 使用 し ます (151 ページ を参照 し て く だ さ い )。 中間シス テム側 • 次の方法のいずれかで Oracle イ ン ス タ ン ス を確定 し ます。 シナ リ オ A: デー タ 同期のために Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し ない場合、 中間 イ ン ス タ ン ス を作成 し ます。 Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用す る 場合は、 同期の手順を実行す る と き 、 中 間 イ ン ス タ ン ス を作成 し ます。 シナ リ オ B: 完全な Oracle デー タ ベース を作成す る 必要はあ り ません。 oratab フ ァ イ ル (UNIX) ま たは レ ジ ス ト リ (Windows) の Oracle イ ン ス ト ール ( ラ イ ブ ラ リ と 共に) お よ び有効な ORACLE_SID のみが要求 さ れま す。 • 次の方法のいずれかで SharePlex を イ ン ス ト ール し ます。 シナ リ オ A: 『SharePlex イ ン ス ト ールお よ びデモン ス ト レーシ ョ ン ガ イ ド 』 の指示に従い、 SharePlex を通常の方法で イ ン ス ト ール し ます。 SharePlex は、 こ のマシ ンの Oracle イ ン ス タ ン ス に複製 さ れ る ため、 イ ン ス タ ン ス に対 し ora_setup を通常の方法で実行 し ます。 ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy で中間 イ ン ス タ ン ス を確定 し てい る 場合、 ora_setup を 実行 し ない で く だ さ い。 同期手順に従っ て セ カ ン ダ リ イ ン ス タ ン ス が確定 し た後、 コ マ ン ド を 実行 し ます。 シナ リ オ B: 『SharePlex イ ン ス ト ールお よ びデモン ス ト レーシ ョ ン ガ イ ド 』 の指示に従い、 SharePlex を通常の方法で イ ン ス ト ール し ます。 こ のシ ス テ ム では、 ora_setup を実行す る 必要はあ り ません。 • ( シナ リ オ A のみ ) 189 ページのテ ン プ レー ト 14 に従っ て、 タ ーゲ ッ ト シ ス テ ム あ る いは複数のシ ス テ ムに複製す る 基本ま たはマルチ タ ーゲ ッ ト 設定 を作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 パーテ ィ シ ョ 192 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで使用 し ます (151 ページ を参照 し て く だ さ い )。 • ( シナ リ オ A のみ ) SP_OCT_REPLICATE_POSTER パ ラ メ ー タ を 1 に設定 し ま す。 こ れに よ り 、 中間シ ス テ ム の Capture プ ロ セ ス で、 SharePlex に post さ れ た変更を捕捉 し 、 それ ら の変更を タ ーゲ ッ ト シ ス テ ム に複製 し ます。 (デ フ ォ ル ト 設定を 0 に し ます。 こ う す る こ と で Capture は同一シ ス テ ム上の Post 活動を無視 し ます。) SP_OCT_REPLICATE_POSTER の設定変更 1 SharePlex と sp_ctrl を起動 し 、 sp_ctrl の次の コ マ ン ド を発行 し ます。 Capture starts が次回起動 し た と き 、 変更が有効にな り ます。 sp_ctrl(sysB)> set param SP_OCT_REPLICATE_POSTER 1 2 実行中の同期手順の要求に従っ て、sp_ctrl を終了 し て SharePlex を シ ャ ッ ト ダ ウ ンす る か、 ま たは両方を実行 し た ま ま にす る こ と がで き ます。 タ ーゲ ッ ト シ ス テム側 • デー タ 同期化のために Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し ない場合、 タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用す る 場合は、 同期の手順を実行す る と き 、 中 間 イ ン ス タ ン ス を作成 し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を 使用 し て タ ーゲ ッ ト イ ン ス タ ン ス を確定す る 場合は、 ora_setup を実行 し な いで く だ さ い。 タ ーゲ ッ ト イ ン ス タ ン ス が確定 し た後、 同期手順に よ っ て実 行の指示があ り ます。 全シ ス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ムのすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • 最初の同期では、 次の こ と を実行 し ます。 -- ソ ースデー タ の コ ピーを作成 -- 中間シ ス テ ム (シナ リ オ A のみ) お よ び タ ーゲ ッ ト シ ス テ ム (両シナ リ オ) に コ ピーを適用 -- 中間シ ス テ ム と ソ ース シ ス テ ムのいずれか、 ま たは両方で設定を ア ク テ ィ ベー ト 第 7 章の中か ら 、 適 し た同期手順を選択 し ます。 章5 SharePlex での複製の準備 193 結合 し た カ スケー ド /ブ ロー ド キ ャ ス ト レ プ リ ケーシ ョ ンの設定 イ ン ス ト ールに従っ て、 ブ ロ ー ド キ ャ ス ト レ プ リ ケーシ ョ ン をパ ス ス ルーカ ス ケー ド レ プ リ ケーシ ョ ン と 同一設定内で結合で き ます。 タ ーゲ ッ ト テーブル は、 ソ ース テーブル と 同 じ 所有者 と 名前を持つ場合があ り 、 いずれかあ る いは 両方が異な る 場合 も あ り ます。 • すべての タ ーゲ ッ ト シ ス テ ム で所有者 と 名前が同一であ る 場合は、 テ ンプ レー ト 16 を使用 し ます。 • 所有者ま たは名前のいずれかが異な る 場合は、 ソ ース タ ーゲ ッ ト オブジ ェ ク ト の各セ ッ ト に 1 行ずつ作成 し ます。 詳細は、 139 ページ を参照 し て く だ さ い。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで使用 し ます (151 ページ を参照 し て く だ さ い )。 テ ン プ レ ー ト 16: ブ ロー ド キ ャ ス ト お よび カ スケー ド レ プ リ ケーシ ョ ン を結合 する設定 Datasource:o.sourceSID source_own.table target_own.table intermedsystemB*[email protected] + [email protected] ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA HQ.price Reg.price sysB*[email protected] + [email protected] 194 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 こ の例では、 ソ ース テーブルは SysA から SysB を 通し て タ ーゲッ ト シス テム SysC に複製さ れ、 直接接続さ れたネッ ト ワ ーク を 通っ て SysD に複製さ れま す。 複製を確定す る には、 「デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン ま たは分散処理に対す る 複製の設定」 (185 ページ) お よ び 「中間シ ス テ ム を通 し た複製の設定」 (188 ページ) の指示に従っ て く だ さ い。 章5 SharePlex での複製の準備 195 集中化レポー ト のための複製の設定 ( 標準方法 ) 集中化レ ポー ト では集約 レ プ リ ケーシ ョ ン を使用 し 、 複数の ソ ース シ ス テ ム が異な る テーブ ルを 1 つの タ ーゲ ッ ト シ ス テ ム 上にあ る 同一 Oracle イ ン ス タ ン ス に複製 し ます。 ferent テー ブルか ら 同 じ 1 個の タ ーゲ ッ ト シ ス テ ム上の Oracle イ ン ス タ ン ス。 異なる ソ ース シス テム ( ユーザ は DML を 実行) から 中央デー タ ベース への同一テーブルの複 製は、 集約レ プリ ケーショ ン で はあり ま せん。 それは、 ピ ア ト ゥ ピ ア レ プリ ケーショ ン と な り ま す。 ピ アト ゥ ピ アレ プリ ケーショ ン を 確定する には、 202 ページを 参照し てく ださ い。 集中化レポー ト の注意事項 複製開始時、 SharePlex は中央 タ ーゲッ ト シス テム の各ソ ース シス テム に Import プロ セス を 作 成し ま す。 次に、 sp_cop プロ セ 図 17: 単一イ ン ス タ ン ス sp_cop を使用する集約 ス に管理さ れた各複製ス ト リ ー レ ポー ト ム に post queues およ び Post プロ セス を 作成し ま す。 こ れら の post queues は中央 タ ーゲッ ト シス テム の同じ SharePlex 変数データ ディ レ ク ト リ を 共有し ま す。 196 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 シ ス テ ムの リ ソ ース に よ っ ては、 同一 queue リ ソ ースやセマ フ ォ の競合を引 き 起 こ す場合があ り ます。 競合を避け る ために、 中央 タ ーゲ ッ ト シ ス テ ム の変数 デー タ デ ィ レ ク ト リ を各 ソ ース シ ス テ ムに 1 つずつ確定す る こ と がで き ます。 こ れに よ り 、 sp_cop の複数の イ ン ス タ ン ス を実行 し 、 各 ソ ース シ ス テ ム の複 製ス ト リ ーム を隔離 し 、 1 つのシ ス テ ム に影響を与え る イ ベン ト が他のシ ス テ ムに影響を与え ない よ う に し ます。 各 sp_cop プ ロ セ ス を使用 し て集約レ プ リ ケーシ ョ ン を確定す る には、 198 ページ を参照 し て く だ さ い。 sp_cop の単独 イ ン ス タ ン ス を使用 し た集約レ プ リ ケーシ ョ ンは、 次の指示に 従っ て く だ さ い。 テ ン プ レ ー ト 17: sp_cop イ ン ス タ ン ス を使用 し た集約化レ ポー ト の設定 各 ソ ース シ ス テ ム に こ の設定を作成 し ます。 各設定に よ っ て、 異な る テーブ ルのセ ッ ト を複製 し ます。 タ ーゲ ッ ト テーブルは、 ソ ース テーブル と 同 じ 所 有者 と 名前を持つ場合があ り 、 いずれかあ る いは両方が異な る 場合 も あ り ま す。 Datasource:o.sourceSID source_owner.table target_owner.table [email protected] 次の設定例の sysA お よ び sysB は、 ど ち ら も sysC に複製 し ます。 ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA sales.dat sales.dat [email protected] ソ ース シ ス テ ム sysB の設定例 Datasource:o.oraB cust.dat cust.dat [email protected] ソ ースシ ス テム側 • 各 ソ ース シ ス テ ム (sysA お よ び sysB) に SharePlex を通常の方法で イ ン ス ト ール し 、 ソ ース イ ン ス タ ン ス に ora_setup を実行 し ます。 詳細は、 414 ページ を参照 し て く だ さ い。 • テ ン プ レー ト 17 に従っ て、 中央 タ ーゲ ッ ト シ ス テ ム (sysC) に複製す る 設 定を各 ソ ース シ ス テ ム に作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブ ルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブル に使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで 章5 SharePlex での複製の準備 197 使用 し ます (151 ページ を参照 し て く だ さ い )。 シーケ ン ス を レ ポー ト あ る いはアーカ イ ブに複製す る 必要はあ り ません。 シーケ ン ス を設定に含む こ と はで き ません。 重要!各設定によ っ て、 異な る オブ ジ ェ ク ト のセ ッ ト を複製する必要があ り ます。 中央 タ ーゲ ッ ト シ ス テム側 • 全 ソ ース シ ス テ ム の全テーブルがデー タ ベース に存在す る よ う 、 タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 こ のプ ロ セ ス の一部 と し て ホ ッ ト コ ピーを 使用す る 場合、 同期手順に従っ て コ ール ド コ ピーの方法 と ホ ッ ト コ ピーを 結合 し ます。 • SharePlex を イ ン ス ト ール し 、 ora_setup を通常の方法で タ ーゲ ッ ト イ ン ス タ ン ス に実行 し ます。 詳細は、 414 ページ を参照 し て く だ さ い。 全シス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ム のすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • 各 ソ ース シ ス テ ム の ソ ースデー タ を コ ピー し て タ ーゲ ッ ト イ ン ス タ ン ス に 適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 こ の作業を 1 つの ソ ース シ ス テ ム に対 し て同時に実行す る か、 ま たはすべてのシ ス テ ム か ら 1 度にデー タ を コ ピー し 、 適用す る こ と も で き ます。 こ のため、 ホ ッ ト コ ピー方法 (Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy ホ ッ ト コ ピー) は、 コ ール ド コ ピー方法 と 結合す る こ と がで き ます。 ただ し 、 ホ ッ ト コ ピーは 1 つの ソ ース シ ス テ ムにデー タ を コ ピーす る 場合にのみ使用で き ま す。 ホ ッ ト コ ピーは既存のデー タ を上書 き す る ため、 その他の ソ ース シ ス テ ムに import/export な ど の コ ール ド コ ピー方法を使用す る か、 ト ラ ン ス ポー タ ブルテーブル領域機能を使用 し ます。 第 7 章 を参照 し 、 適切な手順 に従っ て く だ さ い。 198 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 複数の sp_cop プ ロ セス を使用 し た集中化レポー ト のための複製設定 こ の設定を使用す る と 、 集中化レ ポー ト に よ っ て複製ス ト リ ーム を各 ソ ース ス ト リ ームか ら 隔離 し ます。 こ の方法に よ り 、 中央 タ ーゲ ッ ト シ ス テ ムの各変数 デー タ デ ィ レ ク ト リ を確定 し ます。 各変数デー タ デ ィ レ ク ト リ は、 異な る ポー ト 番号で実行 し てい る sp_cop の各 イ ン ス タ ン ス に よ っ て制御 さ れてい ます。 sp_cop を複数 イ ン ス タ ン ス で実行す る と 、 キ ュ ー リ ソ ースお よ びセマ フ ォ の 競合を回避で き ます。 さ ら に、 1 つの複製ス ト リ ーム に影響す る イ ベン ト が他 の複製ス ト リ ーム に影響 し ない よ う にす る 、 各デ ィ ス ク 上の変数デー タ デ ィ レ ク ト リ を検索す る オプシ ョ ン を表示 し ます。 図 18: 各変数デー タ デ ィ レ ク ト リ お よび sp_cop の複数イ ン ス タ ン ス を 使用 し た集中化レ ポー ト 章5 SharePlex での複製の準備 199 各変数デー タ デ ィ レ ク ト リ を通 し た集中化レ ポー ト の複製は、 下記の と お り 複 数の ス テ ッ プに実装 さ れてい ます。 詳細な指示は次の と お り です • 各 ソ ース シ ス テ ム に SharePlex を イ ン ス ト ール し ます。 • 各 ソ ース シ ス テ ム に、 タ ーゲ ッ ト シ ス テ ム の集中化レ ポー ト に複製す る 設 定を作成 し ます。 タ ーゲ ッ ト シ ス テ ムに、 異な る ソ ース テーブルを複製 し ます。 同 じ テーブルの、 異な る シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムへの複製 は、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン と な り ます。 ピ ア ト ゥ ピ ア レ プ リ ケー シ ョ ン を確定す る には、 202 ページ を参照 し て く だ さ い。 • 各 ソ ース シ ス テ ム に 1 つずつ、 複数の変数デー タ デ ィ レ ク ト リ を タ ーゲ ッ ト シ ス テ ム に作成 し 、 各 ソ ース シ ス テ ムの複製ス ト リ ーム を隔離 し ます。 • 各変数デー タ デ ィ レ ク ト リ に固有のポー ト 番号を確定 し 、 複数の sp_cop イ ン ス タ ン ス が、 タ ーゲ ッ ト シ ス テ ム の イ ン ス タ ン ス の各 ソ ース シ ス テ ムに 対 し て同時に実行で き る よ う に し ます。 • 各 sp_cop イ ンスタ ンスに対し 、 Oracle ユーザーアカウ ント をそれぞれ作成し ます。 テ ン プ レ ー ト 18: 各 sp_cop イ ン ス タ ン ス を使用 し た集中化レ ポー ト の設定 各 ソ ース シ ス テ ムに こ の設定を作成 し ます。 各設定に よ っ て、 異な る テーブ ルのセ ッ ト を複製 し ます。 タ ーゲ ッ ト テーブルは、 ソ ース テーブル と 同 じ 所 有者 と 名前を持つ場合があ り 、 いずれかあ る いは両方が異な る 場合 も あ り ま す。 Datasource:o.sourceSID source_owner.table target_owner.table [email protected] 次の設定例の sysA お よ び sysB は、 ど ち ら も sysC に複製 し ます。 ソ ース シ ス テ ム sysA の設定例 Datasource:o.oraA sales.dat sales.dat [email protected] ソ ース シ ス テ ム sysB の設定例 Datasource:o.oraB cust.dat cust.dat [email protected] 中央 タ ーゲ ッ ト シ ス テム側 • 全 ソ ース シ ス テ ム の全テーブルがデー タ ベース に存在す る よ う 、 タ ーゲ ッ ト イ ン ス タ ン ス を作成 し ます。 こ のプ ロ セ ス の一部 と し て ホ ッ ト コ ピーを 200 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 使用す る 場合、 同期手順に従っ て コ ール ド コ ピーの方法 と ホ ッ ト コ ピーを 結合 し ます。 • SharePlex を通常の方法で タ ーゲ ッ ト シ ス テ ムに イ ン ス ト ール し ます。 ただ し 、 ora_setup は ま だ実行 し ないで く だ さ い。 • 「複数の SharePlex イ ン ス タ ン ス の実行」 (45 ページ) の指示に従い、 新 し い SharePlex 変数デー タ デ ィ レ ク ト リ を各 ソ ース シ ス テ ム に作成 し ます。 た と えば sysA お よ び sysB か ら sysC 複製す る 場合、 sysC の sysA と sysB に各 1 つずつ変数デー タ デ ィ レ ク ト リ を作成 し ます。 こ れ ら の指示では、 各変数デー タ デ ィ レ ク ト リ の Oracle ユーザーア カ ウ ン ト の作成方法、 sp_cop お よ び sp_ctrl の関連 イ ン ス タ ン ス の開始方法 も 解説 し てい ます。 シ ス テ ムに、 すべての ソ ース シ ス テ ム か ら 受け取っ たデー タ を収容で き る デ ィ ス ク 領域があ る か を確認 し て く だ さ い。 ソ ースシ ス テム側 • 各 ソ ース シ ス テ ムに SharePlex を通常の方法で イ ン ス ト ール し 、 ora_setup を ソ ース イ ン ス タ ン ス に実行 し ます。 詳細は、 414 ページ を参照 し て く だ さ い。 -- 各 Windows ソ ース シ ス テ ムに対 し ては、 タ ーゲ ッ ト シ ス テ ムの変数デー タ デ ィ レ ク ト リ に対応す る ポー ト 番号で イ ン ス ト ール し ます。 -- 各 UNIX ソ ース シ ス テ ム に対 し ては、 タ ーゲ ッ ト シ ス テ ム の変数デー タ デ ィ レ ク ト リ に対応す る ポー ト に イ ン ス ト ール し た後、 SharePlex ポー ト 番号を変更 し ます。 こ れに よ り 、 sp_cop を開始す る ご と に SharePlex 環境 変数を エ ク ス ポー ト す る 必要があ り ません。 「sp_cop の代替ポー ト の設 定」 (256 ページ) を参照 し て く だ さ い。 • 199 ページのテ ンプ レー ト 18 に従っ て、 中央 タ ーゲ ッ ト シ ス テ ム に複製す る 設定を各 ソ ース シ ス テ ム に作成 し ます。 垂直分割レ プ リ ケーシ ョ ン を テーブルに使用す る 場合、 カ ラ ムパーテ ィ シ ョ ン を追加ま たは除外 し ます (166 ページ を参照 し て く だ さ い )。 水平分割レ プ リ ケーシ ョ ン を テーブル に使用す る 場合、 パーテ ィ シ ョ ン ス キーム を作成 し ルーテ ィ ン グマ ッ プで 使用 し ます (151 ページ を参照 し て く だ さ い )。 シーケ ン ス を レ ポー ト あ る いはアーカ イ ブに複製す る 必要はあ り ません。 シーケ ン ス を設定に含む こ と はで き ません。 重要!各設定によ っ て、 異な る オブ ジ ェ ク ト のセ ッ ト を複製する必要があ り ます。 章5 SharePlex での複製の準備 201 全シス テム • 第 4 章のガ イ ド ラ イ ンに従っ てデー タ やシ ス テ ム のすべての問題に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • 各 ソ ース シ ス テ ム の ソ ースデー タ を コ ピー し て タ ーゲ ッ ト イ ン ス タ ン ス に 適用、 設定を ア ク テ ィ ベー ト し て最初の同期を実行 し ます。 こ の作業を 1 つの ソ ース シ ス テ ム に対 し て同時に実行す る か、 ま たはすべてのシ ス テ ム か ら 1 度にデー タ を コ ピー し 、 適用す る こ と も で き ます。 こ のため、 ホ ッ ト コ ピー方法 (Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy ホ ッ ト コ ピー) は、 コ ール ド コ ピー方法 と 結合す る こ と がで き ます。 ただ し 、 ホ ッ ト コ ピーは 1 つの ソ ース シ ス テ ムにデー タ を コ ピーす る 場合にのみ使用で き ま す。 ホ ッ ト コ ピーは既存のデー タ を上書 き す る ため、 その他の ソ ース シ ス テ ムに import/export な ど の コ ール ド コ ピー方法を使用す る か、 ト ラ ン ス ポー タ ブルテーブル領域機能を使用 し ます。 第 7 章 を参照 し 、 適切な手順 に従っ て く だ さ い。 202 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定 SharePlex レ プ リ ケーシ ョ ン では、 同期 し たすべてのデー タ ベース を保持 し ま すが、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン では、 複数のデー タ ベース間で、 複数の ユーザーが同時に他のア ク テ ィ ブデー タ ベース内の同 じ デー タ に対 し て変更す る こ と がで き ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 すべての複製環境に適 し てい ません。 デー タ ベースデザ イ ン に対す る 大規模な コ ミ ッ ト メ ン ト を要す る ので、 パ ッ ケージ アプ リ ケーシ ョ ン を使用 し てい る 場合は、 実用的でない可 能性があ り ます。 2 人以上のユーザーが同 じ レ コ ー ド を ほぼ同時に変更 し た場 合、 タ ーゲ ッ ト デー タ ベース に post す る ために ど の ト ラ ンザ ク シ ョ ン を受け入 れ る か を制御す る PL/SQL 競合解決ルーチン も 要求 さ れ ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの問題点 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン には、 本稼働中のサーバーか ら セ カ ン ダ リ シ ス テ ムへ報告の目的でデー タ を複製す る よ う な一方向の レ プ リ ケーシ ョ ン には見 ら れない、 特有の問題があ り ます。 こ れ ら の設定では、 セ カ ン ダ リ シ ス テ ムへ の DML ア ク セ ス はあ り ません。 ただ し 、 SharePlex が複製を通 し てセ カ ン ダ リ シ ス テ ム を最新の状態に保つ一方、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン では様々な ユーザーがすべて DML 変更を行い、 通常異な る シ ス テ ムにあ る 、 複数のデー タ ベース の同一テーブルを コ ピー し ます。 レ コ ー ド が 2 つ以上のデー タ ベース で (ほぼ) 同時に変更 さ れた場合、 競合が発生す る 場合があ り ます。 競合は、 ソ ースお よ び タ ーゲ ッ ト テーブルが同一でない非同期状態 と し て定義 さ れ ます。 次の理由に よ り タ ーゲ ッ ト テーブルの行に SharePlex が作成 し た DML メ ッ セージ を実行で き ない場合、 非同期 (競合) 状態を予期す る こ と が で き ます。 • ソ ース シ ス テ ム で INSERT が実行 さ れ、 SharePlex がそれを post し よ う と し た と き 行がすでに タ ーゲ ッ ト デー タ ベース に存在 し ていた場合、 非同期状 態が発生 し ます。 INSERT 文を作成す る ため、 SharePlex に よ っ てすべてのカ ラ ム が使用 さ れ ます。 SharePlex が タ ーゲ ッ ト テーブルにすでに存在す る キーを持つ列を挿 章5 SharePlex での複製の準備 203 入 し よ う と し た場合、 Oracle が一意キー違反のエ ラ ーを生成す る ため、 非 同期エ ラ ーが発生 し ます。 SharePlex 文 : SQL> INSERT into scott.employee_source values (emp_seq.nextval, ‘Mary Smith’ , ‘Manager’ , ‘50000’ , ‘1’ ); • ソ ース シ ス テ ム で UPDATE が実行 さ れ、 ソ ース シ ス テ ムの行が変更 さ れ る 「前の」 イ メ ージが タ ーゲ ッ ト 行 と 一致 し ない場合、 非同期状態が発生 し ま す。 こ れに よ り 、 別のユーザーがすでに タ ーゲ ッ ト 列を変更 も し く は削除 し て い る こ と を意味 し ます。 タ ーゲ ッ ト デー タ ベース に適用す る UPDATE 文を 構築す る と き 、 SharePlex はプ ラ イ マ リ キーを使用 し て行を検索 し ます。 さ ら に SharePlex は、 変更前の 値を持つ更新 さ れた列のプ リ イ メ ージか ら な る WHERE 句を作成 し ます。 も し プ リ イ メ ージ と キーが ソ ース と タ ーゲ ッ ト 行 の間で一致 し た場合、 SharePlex は操作を post し ます。 も し プ リ イ メ ージが 一致 し ない場合、 あ る いは SharePlex キーを使用 し て行を見つけ る こ と がで き なか っ た場合は、 SQL 文は失敗 し SharePlex が非同期エ ラ ーを返 し ます。 ソ ース のユーザー文 : タ ーゲ ッ ト の SharePlex 文 : SQL> UPDATE scott.employee_source SET Salary = 32000 WHERE EmpNo = 3 SQL> UPDATE scott.employee_source SET Salary = 32000 WHERE EmpNo = 3 AND Salary = 30000; (30000 is the amount before the salary value was updated to 32000.) • ソ ース シ ス テ ム で DELETE が実行 さ れ、 SharePlex が削除す る 行を タ ーゲ ッ ト シ ス テ ム に見つけ る こ と がで き ない場合、 非同期状態が発生 し ます。 SharePlex が タ ーゲ ッ ト デー タ ベース か ら 行を削除す る ために DELETE 文を 構築す る と き 、 WHERE 句にあ る キーの値 「のみ」 を使用 し ます 。 も し 、 行がすでに削除 さ れたか、 キーの列が変更 さ れたために タ ーゲ ッ ト シ ス テ ム でキーが使用不可であ る 場合は、 SharePlex は行を見つけ る こ と がで き ず、 非同期エ ラ ーを返 し ます。 SharePlex 文 : SQL> DELETE from scott.employee_source WHERE EmpNo = 3; 204 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 非同期状態の例 SharePlex に よ る 非同期の決定方法は、 次の通常お よ び非同期の例を参照 し て く だ さ い。 簡略化す る ために、 3 つのシ ス テ ム (SysA、 SysB お よ び SysC) が 使用 さ れてい ますが、 新たに複製を行 う さ ら に多 く のシ ス テ ムが存在す る 場合 があ り ます。 例では次のテーブルが使用 さ れてい ます。 図 19: ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのテーブル例 PRIMARY TABLE (scott 所有) Employee_source EmpNo number(4) not null, SocSec number(11) not null, EmpName char(30), Job char(10), Salary number(7,2), Dept number(2) unique index employee_Idx on employee_source(EmpNo) SECONDARY TABLE (scott 所有) Employee_backup EmpNo number(4) not null, SocSec number(11) not null, EmpName char(30), Job char(10), Salary number(7,2), Dept number(2) unique index employee_bk on employee_backup(EmpNo) 両テーブルの数値 EmpNo SocSec EmpName Job Salary Dept 1 111-22-3333 Mary Smith Manager 50000 1 2 111-33-4444 John Doe Data Entry 20000 2 3 000-11-2222 Mike Jones Secretary 30000 3 4 000-44-7777 Dave Brown Manager 45000 3 非同期のないピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの例 午前 9 時、 SysA の UserA が EmpNo 1 の 「Dept」 列の数値を 2 に変更 し ます 。 SharePlex がその変更を SysB お よ び SysC に複製 し 、 両デー タ ベース が同期 し た ま ま にな り ます。 同日午前 9 時 30 分、 SysB の UserB が EmpNo が 1 にな っ てい る 「Dept」 列の数 値を 3 に変更 し ます 。 SharePlex がその変更を SysA お よ び SysC に複製 し 、 両 デー タ ベース が同期 し た ま ま にな り ます。 章5 SharePlex での複製の準備 205 行は次の よ う に表示 さ れ ます。 図 20: Emp No 1 に対する Dept 列の更新 EmpNo SocSec EmpName Job Salary Dept 1 111-22-3333 Mary Smith Manager 50000 3 UPDATE 非同期のある ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの例 こ の例は、 206 ページの図 21 に記載 さ れてい ます。 午前 11 時、 SysA の UserA が EmpNo 1 の Dept 列の数値を 1 に更新 し ます 。 同 日午前 11 時 2 分、 ネ ッ ト ワ ー ク に障害が発生 し ます。 複製 さ れた変更が、 す べてのシ ス テ ム に列を作成 し ます。 同日午前 11 時 5 分、 SysB の UserB が EmpNo 1 の Dept 列の数値を 2 に変更 し ます 。 同日午前 11 時 10 分、 ネ ッ ト ワー ク が復旧 し ます。 複製デー タ の転送 を再開 し ます。 SharePlex が UserA の変更を SysB のデー タ ベース に post し よ う と す る 場合、 「Dept」 列の数値が 3 にな る こ と が予期 さ れ ますが (図 20 の よ う なプ リ イ メ ー ジ)、 UserB の変更のため 2 と な り ます 。 プ リ イ メ ージが一致 し ない場合は、 SharePlex に よ り 、 行が同期せずエ ラ ーを発生す る こ と を決定 し ます。 SharePlex UserB の変更を SysA に post し よ う と す る 場合、 列の数値が 3 にな る こ と が予期 さ れ ますが、 UserA の変更のため 1 と な り ます。 SharePlex が非同期 エ ラ ーを発生 し ます。 SharePlex が UserA お よ び User B に作成 さ れた変更を SysC のデー タ ベース に post し よ う と す る 場合、 プ リ イ メ ージが一致 し ないため両方の文が表示 さ れ ま せん。 再度、 SharePlex が非同期エ ラ ーを発生 し ます。 注 : SharePlex は、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのデー タ が 1 つのマ シ ンから別のマ シ ンにループバ ッ ク し ないよ う に設計 さ れています。 デ フ ォル ト 設定では、 SharePlex Oracle ユーザーによ っ て (Post プ ロ セス を通っ て) ロー カルシス テムで実行 さ れた SharePlex ト ラ ンザ ク シ ョ ンが無視 さ れる ため、 Capture プ ロ セスは ト ラ ンザク シ ョ ン の複製を ソ ースへ返す こ と はあ り ません。 206 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 UPDATE 文に よ っ て発生する非同期 章5 SharePlex での複製の準備 207 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの注意事項 ピ ア ト ゥ ピ ア設定で SharePlex を展開す る には、 次の こ と がで き る 必要があ り ます。 • • • • • • • 隔離キー キーの変更防止 シーケ ン ス生成の制御 ト リ ガ使用の制御 カ ス ケー ド 削除の解消 信頼 さ れ る ホ ス ト の指定 優先順位の定義 アプ リ ケーシ ョ ン と の連携が要求 さ れ る ため、 プ ロ ジ ェ ク ト の構造上フ ェーズ の間、 こ れ ら の要件を考慮す る 必要があ り ます。 その結果、 多数のパ ッ ケージ アプ リ ケーシ ョ ンがガ イ ド ラ イ ンにそ っ て作成 さ れていないため、 ピ ア ト ゥ ピ アの展開には適 し てい ません。 各要件の詳細は、 次の と お り です。 キーの隔離 SharePlex に よ っ て作成 さ れた SQL 文のキーの役割を理解す る こ と で、 同期の 問題を理解 し 、 ピ ア ト ゥ ピ ア環境の非同期を最小化す る こ と がで き ます。 SharePlex は SQL 文にあ る 独自の not-NULL キーを使っ て、 UPDATE お よ び DELETE 文に対 し 正 し い行を タ ーゲ ッ ト テーブルで検索 し 、 挿入す る 行が既に 存在 し ていない こ と を確認 し ます。 SharePlex は通常、 プ ラ イ マ リ キーがない場合は一意のキーを使用、 ま たは LONG 以外のすべての列を内部的に使用す る シ ミ ュ レーシ ョ ン さ れた キーを作 成 し ますが、 こ れはピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンには適用 さ れません。 プ ラ イ マ リ キーのみが、 適用 さ れます。 テーブルにプ ラ イ マ リ キーがな く 、 独自の not-NULL キーがあ る 場合、 その キーを プ ラ イ マ リ キーに変換す る こ と がで き ます。 LONG 列を キーの一部 と す る こ と がで き ません。 プ ラ イ マ リ キーを配置で き ない場合、 ま たすべての行が 一意であ る と わか っ てい る 場合は、 すべてのテーブルに一意の イ ンデ ッ ク ス を 作成で き ます。 プ ラ イ マ リ キーは、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン ネ ッ ト ワー ク のすべての デー タ ベース で一意であ る 必要があ り ます。 208 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • つま り 、 全デー タ ベース にあ る 、 対応す る 各テーブルの同 じ 列を使用す る 必要があ り ます。 • 対応す る 行のキー列は、 同 じ 値を持っ てい る 必要があ り ます。 プ ラ イ マ リ キーが作成 さ れ、 行についての充分な情報を所有す る と 、 行の一意 性や場所についての質問がない場合があ り ます。 こ れに よ り 、 SharePlex が不正 な行にデー タ を post で き ない よ う にす る こ と 、 conflict resolution が成功す る こ と を実現 し ます。 プ ラ イ マ リ キー と し てシーケ ン ス を使用す る だけでは、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンに対 し て充分ではない場合があ り ます。 次の例で、 こ の理由を説明 し ます。 204 ページの図 19 のサン プルテーブルシーケ ン ス を使用 し て、 キー列 EmpNo の数値を生成す る と し ます。 UserA が SysA 上で次のシーケ ン ス値を取得 し 、 「Jane Wilson」 に対す る 行を挿入す る 場合を考え てみま し ょ う 。 UserB は SysB 上で次のシーケ ン ス値を取得 し 、 「Jane Wilson」 に対す る 行を挿入 し ます。 各シ ス テ ム でシーケ ン ス番号が異な る ため (ま たシーケ ン ス がキーを生成す る ため)、 こ れ ら の INSERT がシ ス テ ム間で複製 さ れ る と き 、 一意キーの違反は あ り ません。 違反があ っ た場合、 デー タ の整合性は失われ ます。 現在デー タ ベース では、 「Jane Wilson」 の行に 2 つの入力が存在 し 、 今後の UPDATE 操作 に問題を引 き 起 こ し ます。 キーに他の一意の列を追加す る と 、 解決 し ます。 サン プルテーブルでは、 キー に 「SocSec」 列 (合衆国政府が発行の社会保障番号、 固有) お よ び 「EmpName」 列 ( 「EmpNo」 お よ び 「SocSec 」 列の追加検証 と し て ) 追加す る こ と も で き ます。 こ れに よ り 、 全デー タ ベース内の各行の一意性を確認す る のに充分な情報を得 る こ と がで き ます。 1 行にユーザーア ク テ ィ ビ テ ィ の重複 があ る 場合、 競合に よ っ て conflict resolution ルーチンの正 し いアプ リ ケーシ ョ ン を も た ら し ます。 全デー タ ベース でキーの一意性を保証す る コ ン セプ ト は、 キー隔離 と し て定義 さ れてい ます。 キーを隔離す る と 、 SharePlex 全デー タ ベース の正 し い行を検 索お よ び変更 し 、 conflict resolution ルーチン を正 し い行に、 必要に応 じ て適用 す る こ と がで き ます。 警告! SharePlex は、 キーを使 っ て タ ーゲ ッ ト シ ス テムで行を検索する ため、 キーの 1 つ以上の列が変更 さ れた と き、 conflict resolution を提供する こ と はで き ません。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 キーの値が変更 さ れる環境では、 実用的ではあ り ませ ん。 章5 SharePlex での複製の準備 209 ア プ リ ケーシ ョ ンのシーケ ン ス使用方法 シーケ ン ス はプ ラ イ マ リ キーの一意性を保証 し ますが、 SharePlex はシーケ ン ス の ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン をサポー ト し てい ません。 シーケ ン ス を使用 し て キーの全部ま たは一部を生成す る 場合、 ピ ア ト ゥ ピ ア設定の他のシ ス テ ム に生成 さ れ る 同 じ 領域の数値 と す る こ と はで き ません。 シーケ ン ス サーバを使用す る こ と はで き ますが、 WAN お よ び イ ン タ ーネ ッ ト 接続では非実用的であ る 場合があ り ます。 代わ り の方法 と し て、 各サーバに固 有の領域を分配 し 、 それぞれのシーケ ン ス を維持す る こ と がで き ます。 た と え ば、 2 つのサーバを所有 し てい る 場合、 一方のサーバには偶数値を、 も う 1 つ のサーバには奇数値を割 り 当て る こ と がで き ます。 各シ ス テ ム のシーケ ン ス を 必要 と す る サーバ数お よ び行数の増加を、 事前に予想す る 必要があ り ます。 Quest は n+1 のシーケ ン ス生成を推奨 し ます (n = 複製のシ ス テ ム数)。 アプ リ ケーシ ョ ンの タ イ プに応 じ て、 一意性を強制す る ためにプ ラ イ マ リ キー のシーケ ン ス値にシ ス テ ム名な ど位置の識別子を追加す る こ と がで き ます。 ア プ リ ケーシ ョ ンの ト リ ガ使用 ソ ース シ ス テ ム上で ト リ ガが実行 さ れた結果であ る DML 変更は、 REDO ロ グ に入力 さ れ る ため、 SharePlex に よ っ て複製 さ れ、 タ ーゲ ッ ト デー タ ベース に post さ れ ます。 同 じ ト リ ガが タ ーゲ ッ ト シ ス テ ム で実行 さ れ る 場合、 非同期エ ラ ーを返 し ます。 SharePlex 以外のユーザーか ら の操作に よ っ て ア ク テ ィ ベー ト さ れ る と き ト リ ガ を実行す る 必要があ る 場合、 ピ ア ト ゥ ピ ア設定全 イ ン ス タ ン ス の sp_add_trigger.sql ス ク リ プ ト に よ っ て、 ト リ ガ を 「 ラ ッ プ」 し て SharePlex ユーザーを無視す る よ う 、 指示す る 必要があ り ます。 こ の ス ク リ プ ト は個々の ト リ ガの文に、 Post プ ロ セ ス を無視す る よ う に指示す る WHEN 句を置 き ます。 こ の ス ク リ プ ト の詳細は、 434 ページ を参照 し て く だ さ い。 ア プ リ ケーシ ョ ンのカ スケー ド 削除の使用 ON DELETE CASCADE の制約には、 特別な注意が必要です。 元の ト ラ ンザ ク シ ョ ン中に こ れ ら の制約が実行 さ れ る と き 、 SharePlex はプ ラ イ マ リ (元の) と 依存す る (カ ス ケー ド ) DELETE 操作の両方を タ ーゲ ッ ト シ ス テ ムに複製 し ます。 こ れは、 こ れ ら がすべて REDO ロ グに入力 さ れ る ためです。 SharePlex は複製 さ れた操作が受信 さ れ る ために、 それ ら を post す る こ と を想定 し ます。 も し プ ラ イ マ リ の DELETE が依存す る 行を削除す る 外部キー制約を、 タ ー ゲ ッ ト テーブル上でア ク テ ィ ベー ト し た場合、 SharePlex がカ ス ケー ド さ れた 210 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 DELETE の複製を行 う こ と を期待 し ます。 その結果、 SharePlex が非同期エ ラ ーを返 し ます。 ON DELETE CASCADE の制約は、 無効であ る 必要があ り ます。 ON DELETE CASCADE の制約を使用せず、 必要な DELETE 機能を ト リ ガに組み込み、 sp_add_trigger.sql ス ク リ プ ト を実行 し て、 ト リ ガが SharePlex ユーザーを無視 す る よ う に指示す る こ と がで き ます。 こ れに よ り 、 参照整合性を維持す る こ と がで き ます。 ト リ ガは ソ ースデー タ ベース内の依存す る 行を削除す る 「 ソ ース」 ト ラ ンザ ク シ ョ ンのために実行 さ れますが、 SharePlex が複製 さ れたプ ラ イ マ リ DELETE を タ ーゲ ッ ト に post す る 際に ト リ ガは実行 さ れ ません。 複製 さ れた依存す る DELETE 操作が ソ ース か ら 受信 さ れ る ま で、 依存す る 行は削除 さ れ ません。 ア プ リ ケーシ ョ ン によ る在庫量および会計バラ ン スの維 持 UPDATE 文を使用 し て、 在庫や会計バ ラ ン ス な ど数量の変更を記録す る アプ リ ケーシ ョ ンは、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの問題点を提示 し ます。 次に挙 げ ら れたオ ン ラ イ ン書店についての例で、 理由を説明 し ます。 次のテーブルで は、 書店の在庫表について説明 し てい ます。 Book_ID (primary key) 数量 顧客が、 1 つのサーバ上のデー タ ベース を通 し て本を購入 し た と し ます。 手元 にあ る 数量は 100 冊か ら 99 冊に減少 し ます。 SharePlex は UPDATE 文を他の サーバに複製 し ます。 (UPDATE inventory SET quantity = 99 WHERE book_ID = 51295). ただ し 、 元の UPDATE が到着す る 前に、 他のサーバで同 じ 本を 2 冊入 す る と (UPDATE inventory SET quantity = 98 WHERE book_ID = 51295)、 そのサーバ の数量は 100 冊か ら 98 冊に減少 し ます。 Post プ ロ セ ス が最初の ト ラ ンザ ク シ ョ ン に post し よ う と す る 場合、 プ ロ セ ス は 最初のシ ス テ ム上のプ リ イ メ ージ (100 冊) が 2 番目のシ ス テ ム上の期待 さ れ た値に一致 し ない こ と を認識 し ます (2 番目の ト ラ ンザ ク シ ョ ンの結果 と し て、 現在 98 冊)。 Post が非同期エ ラ ーを返 し ます。 conflict resolution プ ロ シージ ャ を書 き 込む こ と はで き ますが、 正 し い数値は次 の よ う に決定 し ます。 2 つの ト ラ ンザ ク シ ョ ン実行後、 両デー タ ベース内の正 し い数値は 97 冊ですが、 2 つの UPDATE 文の ど ち ら を承認 し て も 、 結果は不 適切な値にな り ます。 章5 SharePlex での複製の準備 211 こ のため、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは UPDATE を使用 し た会計ま たは 在庫バ ラ ン ス を維持す る アプ リ ケーシ ョ ン には推奨 さ れ ません。 代わ り の解決 策 と し て、 次の方法があ り ます。 在庫および会計バラ ン ス維持のための解決策 会計バ ラ ン ス の維持に、 借方/信用勘定を使用す る 場合、 UPDATE 文の代わ り に INSERT 文 (INSERT into inventory values “n” ,...) を使用す る こ と がで き ま す。 INSERT 文は UPDATE 文同様、 WHERE 句 と の前後の比較を必要 と し ませ ん。 アプ リ ケーシ ョ ンが UPDATE 文を使用す る 必要があ る 場合、 conflict resolution プ ロ シージ ャ を書 き 込んで、 異な る シ ス テ ムの異な る UPDATE 文か ら 発生す る 絶対 (ま たは純) 変動を決定す る こ と がで き ます。 た と えば、 前述のオ ン ラ イ ン書店の場合、 最初の顧客の購入が 2 番目のシ ス テ ム に複製 さ れ る と き 、 次 の conflict resolution プ ロ シージ ャ が実行 さ れ ます。 if existing_row.quantity <> old.quantity then old.quantity - new.quantity = quantity_change; update existing_row set quantity = existing_row.quantity quantity_change; conflict resolution ロ ジ ッ ク は、 タ ーゲ ッ ト デー タ ベース内にあ る 既存の行の数 値 (98) が以前の数値 (100 のプ リ イ メ ージ) を一致 し ない場合、 プ リ イ メ ー ジか ら 新 し い数値 (複製 さ れた数値 99) を引 き 算 し て純変動 (1) を取得す る よ う 、 SharePlex に指示 し ます。 その後 UPDATE 文を発行 し 、 「Quantity」 列が 98-1 が 97 と な る よ う 設定 し ます。 2 番目のユーザーの変更が最初のシ ス テ ムに複製 さ れ る と き 、 同様の conflict resolution プ ロ シージ ャ が実行 さ れ ます。 こ の場合、 純変動 (プ リ イ メ ージ 100 か ら 新 し い数値 98 を引 く ) は 2 と な り ます。 こ のシ ス テ ム の UPDATE 文 も 99 (最初の顧客が購入 し た後の既存行の値) か ら 純変動 2 を引いた値 97 を導 き ま す。 手順の ロ ジ ッ ク の結果 と し て、 各シ ス テ ムの 「Quantity」 列は 97 冊に更 新 さ れ、 3 冊の本を販売 し た正味効率 と な り ます。 財務記録の会計バ ラ ン ス を使用 し た コ ン セプ ト を、 次の例で説明 し てい ます。 account_number (primary key) balance SysA のサン プルテーブルの行 (会計) に $1500 の勘定が記載 さ れてい る と し ます。 CustomerA がそのシ ス テ ム で $500 の預金を し た と し ます。 アプ リ ケー シ ョ ンは UPDATE 文を使用 し 、 勘定を $2000 に変更 し ます。 変更は SysB に UPDATE 文 と し て (UPDATE...SET balance=$2000 WHERE account_number=51295 な ど ) 複製 さ れ ます。 212 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 変更が到着す る 前に CustomerA の配偶者が $250 を SysB で引 き 出す と 、 アプ リ ケーシ ョ ンはそのシ ス テ ムのデー タ ベース を $1250 に更新 し ます。 CustomerA の ト ラ ンザ ク シ ョ ンが SysA か ら 到着 し Post がそれを SysB に post し よ う と す る と 、 配偶者の ト ラ ンザ ク シ ョ ンが一致せず、 ソ ース シ ス テ ム か ら のプ リ イ メ ージが $1500 であ る のに対 し 、 タ ーゲ ッ ト のプ リ イ メ ージが $1250 であ る た め、 競合が生 じ ます。 conflict resolution ルーチン を書 き 込んで取引の絶対 (ま たは純) 変動を計算 し て こ の種の ト ラ ンザ ク シ ョ ンに対処 し 、 その値を使用 し て競合を解決す る こ と がで き ます。 た と えば次の と お り です。 if existing_row.balance <> old.balance then old.balance - new.balance = balance_change; update existing_row set balance = existing_row.balance balance_change; こ の手順の結果に よ り 、 会計バ ラ ン ス を預金 $500 お よ び引 き 出 し $250 の正味 効率であ る $1750 に更新 し ます。 SysB では、 ルーチンが SharePlex に、 古い勘 定 1500 新 し い (複製) 勘定 2000 を引 き 、 純変動の -500 を導 く よ う 指示 し ま す。 UPDATE 文は勘定値を正 し い値 「1250 - (-500) = 1750 」 に設定 し ます。 SysA では、 複製 さ れた値 1250 が古い勘定 1500 か ら 差 し 引かれ、 純変動の 250 が取得 さ れ ます。 UPDATE 文は既存の勘定 2000 か ら その数値を差 し 引 き 、 正 し い値の 1750 を取得 し ます。 優先順位の割 り 当て方法 SharePlex が変更す る 正 し い行を検索す る と き 、 競合を回避ま たは解決す る た めに環境が確立 さ れ る 場合、 同 じ 行の同 じ 列に対す る 値が 2 つま たはそれ以上 のシ ス テ ム で異な る 場合に変更 し て承認す る 「実際の」 デー タ にのみ、 競合の 可能性を保持 し ます。 こ のため、 アプ リ ケーシ ョ ンは 「timestamp」 お よ び 「source 」 列の追加を承認 し 、 ソ ース の名前がテーブルの ロ ーカルシ ス テ ム と す る 必要があ り ます。 優先順位を確定す る conflict resolution ルーチン を使用す る と き 、 こ れ ら の列が果たす重要な役割を、 次の と お り 説明 し ます。 信頼 さ れた ソ ース : 次の 2 つの理由で、 一般的 も し く は信頼 さ れた ソ ース と な る 特定のデー タ ベース ま たはサーバを割 り 当て る 必要があ り ます。 • conflict resolution ルーチンは、 多 く のシ ス テ ム を所有す る ほ ど、 非常に大 き く 複雑にな る 可能性があ り ます。 い く つかのポ イ ン ト で、 再同期を要求す る 失敗が発生す る 場合があ り ます。 設定のシ ス テ ム のひ と つは、 他のシ ス テ ム が必要に応 じ て再同期す る 真の ソ ース と みな さ れ る 必要があ り ます。 • conflict resolution ルーチン を書 き 込み、 信頼 さ れた ソ ース シ ス テ ム か ら の操 作が他のシ ス テ ムか ら の競合す る 操作に優先順位を持つ こ と がで き ます。 章5 SharePlex での複製の準備 213 た と えば、 本社のサーバに行われた変更は、 支社が行っ た同様の変更に対 し 優先 さ れ ます。 Timestamp: テーブルに 「timestamp」 列を表示 し 、 conflict resolution ルーチン の 優先順位を最初の も し く は最新の タ イ ム ス タ ンプに割 り 当て る こ と が推奨 さ れ ます。 ただ し 、 競合を引 き 起 こ す場合があ る ため、 タ イ ム ス タ ン プはキーの一 部 と な る こ と はで き ません。 SharePlex は、 キー値が変更す る 場合行を検索す る こ と がで き 、 列のひ と つが タ イ ム ス タ ン プであ る 場合、 キー値が変更 さ れ ま す。 実行す る タ イ ム ス タ ンプの優先順位に対 し 、 すべてのサーバがデー タ と 時 間に関 し 常任 さ れてい る こ と を確認す る 必要があ り ます。 異な る タ イ ム ゾーン のテーブルは、 グ リ ニ ッ ジ標準時 (GMT) を使用す る こ と がで き ます。 214 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの設定 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンは、 次の設定ス テ ッ プで構成 さ れてい ます。 1 ピ ア ト ゥ ピ ア環境のその他全シ ス テ ム に複製を行 う 各シ ス テ ムに対 し 、 複 製設定を作成 し ます。 2 Post が行を検索で き ないため競合が発生 し た と き 、 ま たは変更の必要な行 がすでに変更 さ れてい る と き 、 Post プ ロ セ ス の動作を指示す る conflict resolution ルーチン を開発 し ます。 3 conflict resolution routines を特別な conflict_resolution.SID フ ァ イ ルに一覧化 し ます。 SharePlex は こ の フ ァ イ ルを参照 し 、 競合が発生 し た と き に使用す る 適切な手順を決定 し ます。 重要! ビ ジネスルールは企業によ っ て多岐にわた る ため、 ビ ジネスに応 じ た conflict resolution ルールおよび構文を作成 し ます。 こ の文書では、 ガ イ ド ラ イ ン、 事例、 テ ン プ レー ト を提供 し ていますが、 実際のルーチ ン と し て使用する こ と はで き ません。 さ ら に、 Quest では conflict resolution ロ ジ ッ ク を定期的に更新 し ています。 指示を拡大 し 優 先する追加情報は、 『 リ リ ース ノ ー ト 』 および SharePlex のバージ ョ ンに関する文書を 参照 し て く だ さ い。 テ ン プ レ ー ト 19: 各シ ス テムのピ ア ト ゥ ピ ア設定 Datasource:o.sourceSID source_owner.table target_owner.table [email protected] 「 ソ ース」 は、 ト ラ ンザ ク シ ョ ンが発生す る デー タ ベース/ス キーム/テー ブル/シ ス テ ム です。 「 タ ーゲ ッ ト 」 は、 ト ラ ンザ ク シ ョ ンのために複製 さ れ た操作を受け取 る デー タ ベース/ス キーム/テーブル/シ ス テ ム です。 設定例 Datasource:o.oraA sales.dat1 sales.dat2 [email protected] 章5 SharePlex での複製の準備 215 信頼 さ れた ソ ースシ ス テムへのス テ ッ プ ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン を維持す る には、 「信頼 さ れた」 ソ ースデー タ ベース と シ ス テ ム、 その他の全シ ス テ ムが最初に同期 さ れ、 必要に応 じ て再同 期 さ れ る プ ラ イ マ リ デー タ ベース と シ ス テ ム を確定す る 必要があ り ます。 は じ めに、 信頼 さ れた ソ ース シ ス テ ムに次の ス テ ッ プ を実行 し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 • 214 ページのテ ンプ レー ト 19 に従っ て、 他の複製シ ス テ ム に複製を行 う 設 定を作成 し ます。 build_config.sql ス ク リ プ ト (171 ページ を参照 し て く だ さ い)、 ま たは config.sql ス ク リ プ ト (174 ページ を参照 し て く だ さ い) のい ずれか を使用 し て、 こ の タ ス ク を自動化で き る 場合があ り ます。 設定にシーケ ン ス を表示す る こ と はで き ません。 シーケ ン ス の使用を承諾 す る には、 「アプ リ ケーシ ョ ンのシーケ ン ス使用方法」 (209 ページ) を参照 し て く だ さ い。 その他の全シ ス テム • こ れ ら のシ ス テ ム に Oracle を作成 し ます。 Oracle ホ ッ ト バ ッ ク ア ッ プ ま た は DBCopy ホ ッ ト コ ピーを使用 し ない場合、 イ ン ス タ ン ス を作成 し ません。 同期手順を実行中、 コ ピーを使用 し て イ ン ス タ ン ス を作成 し ます。 重要! ホ ッ ト コ ピー方法を使用す る には、 手順を継続す る ために、 セ カ ン ダ リ ソ ース シ ス テ ムのすべて を沈静化す る 準備を し ます。 • SharePlex を イ ン ス ト ール し 、 通常の方法で ora_setup を実行 し ます。 詳細 は、 414 ページ を参照 し て く だ さ い。 重要! Oracle ホ ッ ト バ ッ ク ま たは DBCopy ホ ッ ト コ ピーを使用す る 場合、 ora_setup を実行 「 し ない」 で く だ さ い。 イ ン ス タ ン ス が確定 し た後、 同期手順に よ っ て実行の指示があ り ま す。 • 214 ページのテ ンプ レー ト 19 に従っ て、 その他の全シ ス テ ムに複製を実行 す る 設定を、 各シ ス テ ム に作成 し ます。 テーブル構造が同 じ 場合、 所有者 お よ びテーブル名は、 他のシ ス テ ム の対応す る も の と は異な る 場合があ り ます。 デー タ ソ ース と し て ロ ーカル イ ン ス タ ン ス を指定 し 、 ルーテ ィ ン グ マ ッ プに リ モー ト イ ン ス タ ン ス と シ ス テ ム を指定 し ます。 build_config.sql ス ク リ プ ト (171 ページ を参照 し て く だ さ い)、 ま たは config.sql ス ク リ プ ト ( を参照 し て く だ さ い) のいずれか を使用 し て、 こ の タ ス ク を自動化で き る 場合があ り ます 174 ページ。 設定にシーケ ン ス を表示す る こ と はで き ません。 シーケ ン ス の使用を承諾 す る には、 「アプ リ ケーシ ョ ンのシーケ ン ス使用方法」 (209 ページ) を参照 し て く だ さ い。 216 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • SharePlex conflict resolution のデフ ォ ル ト の日付フ ォ ーマ ッ ト は、 MMDDYYYY HH24MISS です。 デフ ォ ル ト の日付のテーブルはその フ ォ ー マ ッ ト を使用 し ますが、 そ う でない場合、 conflict resolution ではエ ラ ーが返 さ れ ます。 デフ ォ ル ト の日付のテーブルを作成す る 前に、 次の コ マ ン ド を 使用 し て SQL*Plus の日付フ ォーマ ッ ト を変更 し ます。 SQL> ALTER SESSION SET nls_date_format = 'MMDDYYYYHH24MISS' 全シ ス テムの信頼 さ れた ソ ースの表示 • シ ス テ ムの タ イ ム ゾーンが異な る 場合、 グ リ ニ ッ ジ標準時への修正を利用 し て タ イ ム ス タ ンプ を確定 し ます。 • 競合が発生 し た と き SharePlex の動作を指示す る 、 保存 さ れた PL/SQL conflict resolution プ ロ シージ ャ を作成 し て、 conflict resolution ルーチン を作 成 し ます。 SharePlex は次の形式の conflict resolution を サポー ト し ます。 Generic conflict resolution は、 ひ と つの conflict resolution ルーチンが複数の テーブルで使用で き る よ う にす る 、 動的な PL/SQL を使用 し ます。 その手順 については、 「generic conflict resolution の使用」 (217 ページ) を参照 し て く だ さ い。 • conflict resolution ルーチン を作成 し た後、 開発 し た conflict resolution プ ロ シージ ャ を一覧化 し て、 SharePlex conflict resolution フ ァ イ ルを各シ ス テ ム に 完成 さ せます。 conflict resolution フ ァ イ ルを作成す る 指示は、 conflict resolution プ ロ シージ ャ を作成す る 指示に続 き ます。 • 第 4 章お よ び 「ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の注意事項」 (207 ページ) のガ イ ド ラ イ ンに従っ て複製のすべての問題点に対処 し てい る こ と を確認 し 、 デー タ を同期 し て複製を開始 し ます。 • デー タ ベース を信頼 さ れた ソ ース シ ス テ ムか ら 他のシ ス テ ム に コ ピー し 、 各シ ス テ ム に設定を ア ク テ ィ ベー ト し て、 最初の同期を実行 し ます。 第 7 章か ら 、 手順を選択 し ます。 conflict resolution フ ァ イルの変更 conflict resolution フ ァ イ ルは複製中にいつで も 変更 し て、 テーブルやプ ロ シー ジ ャ を追加 し た り 削除 し た り で き ます。 conflict resolution フ ァ イ ルを変更す る 場合は、 解決方法のキ ャ ッ シ ュ を更新で き る よ う に、 Post プ ロ セ ス をい っ たん 停止 し て再起動 し ます。 章5 SharePlex での複製の準備 217 generic conflict resolution の使用 Generic conflict resolution に よ っ て動的な SQL を使用 し 、 1 つま たは複数の conflict resolution ルーチン を書 き 込んで、 複数テーブルに使用す る こ と がで き ます。 SharePlex は準備 さ れた conflict resolution ルーチン を い く つか提供 し ます が、 ビ ジネ ス ルールを満たすルーチンの代わ り に も し く は連動 し て、 独自の手 順を書 き 込む必要がない場合があ り ます。 準備 さ れたルーチン の詳細は、 229 ページ を参照 し て く だ さ い。 キーが隔離 さ れ、 デー タ ベース が適切に設定 さ れ る と 仮定 し た場合、 DELETE 文の conflict resolution は、 SharePlex に DELETE への非同期エ ラ ーを無視す る よ う な、 ま た DELETE の後で実行 さ れ る UPDATES への重複 し た ト ラ ンザ ク シ ョ ン を解除す る ルーチン の書込み同様簡略化す る こ と がで き ます。 INSERT お よ び UPDATE 文はデー タ 値を変更 し 、 複雑にな る 場合があ り ます。 そのため、 デー タ 整合性を保証す る ための手順は同様に複雑にな る 場合があ り ます。 サ イ ト やシ ス テ ムの優先順位を プ ラ イ マ リ ルーテ ィ ンや タ イ ム ス タ ン プ を セ カ ン ダ リ ルーテ ィ ンにす る な ど、 2 つ以上の手順を書 き 込む こ と は、 良い実行例 です。 SharePlex は、 ルーチンが成功す る ま で、 ま たは有効な手順がな く な る ま でルーチン を順番に起動 し ます。 特定のテーブルお よ び INSERT な ど特定の操作に対 し generic conflict resolution プ ロ シージ ャ を書 き 込み、 1 つま たは複数の複数テーブルプ ロ シージ ャ と 組み 合わせて使用す る こ と がで き ます。 警告! ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチ ン を作成する前に、 そのルーチ ン を テ ス ト し て、 意図 し た と お り に機能する こ と 、 およびあるルーチ ンが別のルーチ ンに対 し て反作 用 し ない こ と を確認 し ます。 generic conflict resolution 使用の制限 と 要件 次の制限を参照 し た後、 generic conflict resolution を実装 し て く だ さ い。 • generic conflict resolution ま たは ト ラ ン ス フ ォ ー メ ーシ ョ ンの 「ど ち ら か一 方」 を使用す る か、 ま たはど ち ら も 使用 し ません。 同 じ sp_cr PL/SQL パ ッ ケージが conflict resolution と ト ラ ン ス フ ォ ー メ ーシ ョ ンに使用 さ れ ますが、 変換 さ れたテーブルは、 SharePlex に よ っ て比較す る こ と がで き ないため、 conflict resolution は成功で き ません。 両方使用す る 場合、 SharePlex は ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチンのみを呼び出 し ます。 適切であれば、 generic conflict resolution お よ び ト ラ ン ス フ ォ ー メ ーシ ョ ン を同 じ 設定の異な る テー ブルに使用す る こ と がで き ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン の詳細は、 241 ページ を参照 し て く だ さ い。 218 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • SharePlex レ プ リ ケーシ ョ ン がサポー ト し てい る かいないかにかかわ ら ず、 Conflict resolution は DDL の変更に使用で き ません。 . • ト ラ ン ス フ ォー メ ーシ ョ ン を行 う ために PL/SQL を介 し て ア ク セ ス さ れ る テーブルは、 SharePlex に対す る オブジ ェ ク ト の所有者か ら 明示的に許可 さ れた権限を必要 と し ます。 • Conflict resolution は LONG ま たは LOB 列への変更を サポート し ていま せん。 • PL/SQL 内の既知の問題に よ り 、 SharePlex 競合解決 ロ ジ ッ ク は、 名前が所 有者 と 同 じ テーブルの PL/SQL コ ンパ イ ルがで き ません。 Oracle 社は、 こ の 問題の修復を予定 し ていない こ と を表明 し ま し た。 詳細は、 「Oracle TAR 2577886.996」 を参照 し て く だ さ い。 こ の問題は複製には影響あ り ません。 SharePlex では、 同 じ 所有者名 と テーブル名を持つテーブルがサポー ト さ れ ます。 章5 SharePlex での複製の準備 219 generic conflict resolution プ ロ シージ ャ の作成 SharePlex は、 SharePlex ス キーム の ora_setup を実行中に イ ン ス ト ール さ れた sp_cr と い う 名前のパブ リ ッ ク パ ッ ケージに PL/SQL レ コ ー ド お よ びテーブル 構造を定義 し ます。 こ のパ ッ ケージは、 次のパ ラ メ ー タ を使用 し ます。 create package sp_cr as type row_typ is record (src_hostvarchar2(32) ,src_ora_sidvarchar2(32) ,src_ora_timevarchar2(20) ,source_rowidvarchar2(20) ,target_rowidvarchar2(20) ,statement_typevarchar2(6) ,target_tablevarchar2(78) ,oracle_errnumber ,statusnumber ,actionnumber ,reportingnumber ); type col_def_typ (column_name ,datatype ,is_key ,is_changed ,old_value ,new_value ,current_value ); こ れら はプ ロ シージ ャ に渡 さ れる IN 変数です。 こ れら は、 プ ロ シージ ャ に 設定 さ れて、 動作を指示す る ために SharePlex に返 さ れる OUT 変数です。 is record user_tab_columns.column_name%type user_tab_columns.datatype%type boolean boolean varchar2(32764) varchar2(32764) varchar2(32764) type col_def_tabtyp is table of col_def_typ こ れは、 プ ロ シー ジ ャ に必要な情報 を捕捉する col_def_tabtyp テーブルを読み込 むのに使用する デー タ 型です。 220 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex がプ ロ シージ ャ に渡す IN 変数の説明 競合を引 き 起 こ す各行に対 し 、 SharePlex は こ の識別情報を渡 し ます。 src_host こ れは、 (デー タ が変更 さ れた) ソ ース シ ス テ ムの名前で す。 こ れには大文字 と 小文字の区別があ り 、 た と えば SysA と い う よ う に ソ ース シ ス テ ム と 同 じ 大文字/小文字 を用いて渡 さ れ ます。 指定 し た post キ ュ ーが タ ーゲ ッ ト シ ス テ ム で使用中であ る 場合、 こ の変数は、 た と えば postq1 と い う よ う に post キ ュ ー の名前で構成 さ れます。 src_ora_sid こ れは ソ ースデー タ ベース の ORACLE_SID です。 こ れに は大文字 と 小文字の区別があ り 、 Windows レ ジ ス ト リ ま たは V$PARAMETER テーブルの oratab フ ァ イ ル と 同 じ 大 文字/小文字を用いて渡 さ れ ます。 src_ora_time こ れは、 複製 さ れた ソ ース redo log の変更 さ れたデー タ の タ イ ム ス タ ン プです。 source_rowid こ れは ソ ース行 (デー タ が複製 さ れた行) の ROWID で す。 こ れは、 た と えば ‘123456’ と い う よ う に一重引用 符で囲まれた リ テ ラ ル と し て渡 さ れます。 target_rowid こ れは、 タ ーゲ ッ ト デー タ ベース において対応す る 行の ROWID です。 SharePlex はデー タ ベース に問い合わせて ROWID を取得 し ます。 こ れは、 た と えば ‘123456’ と い う よ う に一重引用符で囲ま れた リ テ ラ ル と し て渡 さ れ ま す。 PRIMARY キーを使用 し て も 行が見つか ら ない場合、 値は NULL です。 statement_type こ れは、 I、 U ま たは D のいずれかの文字であ り 、 競合を 引 き 起 こ し たのは INSERT 文であ る のか、 UPDATE 文で あ る のか、 それ と も DELETE 文であ る のか を示 し ます。 target_table こ れは タ ーゲ ッ ト テーブルの所有者お よ び名前であ り 、 owner.table と 記述 し ます。 こ の値には大文字 と 小文字の区 別があ り 、 デー タ ベース でテーブルが指定 さ れ る 方法に 一致 し ます。 こ れは、 た と えば "scott"."emp." と い う よ う に二重引用符で囲ま れて渡 さ れ ます。 oracle_err こ れは競合を引 き 起 こ し た Oracle エ ラ ー番号です。 章5 SharePlex での複製の準備 221 SharePlex がプ ロ シージ ャ に渡す OUT 変数の説明 こ れ ら の変数は、 (conflict resolution が成功 し たか失敗 し たかにかかわ ら ず) プ ロ シージ ャ の結果に基づいて SharePlex の動作を指示 し ます。 status status 変数は、 conflict resolution プ ロ シージ ャ が競合を解 決 し たか ど う か を定義 し ます。 こ のパ ラ メ ー タ について は、 値を指定す る 必要があ り ます。 • 0 の値は解決を表 し 、 SharePlex に SQL 文を進め る よ う 指示 し ます。 conflict resolution が成功す る と 、 SharePlex は Event Log にはいかな る エ ラ ー メ ッ セージ も 書 き 込み ません。 • 1 の値は conflict resolution に失敗 し た こ と を意味 し ま す。 こ の場合、 SharePlex が行 う 動作は、 action 変数 と し て指定す る 内容に よ っ て決ま り ます。 action action 変数は、 失敗 し た conflict resolution プ ロ シージ ャ の 結果 と し て SharePlex が行 う 動作を定義 し ます。 こ のパ ラ メ ー タ については、 値を指定す る 必要があ り ます。 • 0 の値は SharePlex が SQL 文を post 「 し ない」 よ う 指示 し ます こ の動作の結果は、 reporting 変数について指定 す る 内容に よ っ て決ま り ます。 • 1 の値は SharePlex の内部使用のために保持 さ れ ます。 こ の値は使用 し ないで く だ さ い。 • conflict resolution フ ァ イ ルが存在す る 場合、 SharePlex が フ ァ イ ルに一覧化 し た次の conflict resolution プ ロ シー ジ ャ を試行す る よ う 指示 し ます。 222 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 reporting reporting 変数は、 失敗 し た conflict resolution の結果を SharePlex が報告す る 方法を決め ます。 こ のパ ラ メ ー タ に ついては、 値を指定す る 必要があ り ます。 • 0 の値は、 エ ラ ーを報告 し た り 、 失敗 し た SQL 文を SID_errlog.sql ロ グに書 き 込んだ り し ない よ う SharePlex に指示 し ます。 • 1 と 2 の値は、 SharePlex の内部での使用のために保持 さ れ ます。 こ れ ら の値は使用 し ないで く だ さ い。 • 3 の値は、 失敗 し た SQL 文を SID_errlog.sql ロ グに書 き 込んで、 次のエ ラ ーを Event Log に出力す る よ う SharePlex に指示 し ます。 Warning:sp_opst_mt (for o.ora102-o.ora102) 15020 - Table “ABC.INVTABLE” is outof-sync.No conflict resolution available. 重要!デ フ ォル ト 設定では、 SharePlex は非同期条件に対 し て停止 し ません。 conflict resolution の失敗 し た志向が解決 し ていない場合、 デー タ ベースはよ り 非同期 と な る場 合があ り ます。 Event Log を頻繁にチ ェ ッ ク し 、 sp_ctrl の show log コ マ ン ド 、 または Quest CentralTM の Replication Monitor コ ンポーネ ン ト を Oracle デー タ ベース管理コ ン ソ ールに使用 し て、 非同期警告を管理 し ます。 show log およびその他の SharePlex コ マ ン ド の詳細は、 SharePlex リ フ ァ レ ン スガ イ ド を参照 し て く だ さ い。 col_def_typ デー タ 型の説明 競合を引 き 起 こ す行のそれぞれの複製列について、 SharePlex は col_def_tabtyp テーブルに次の情報を示 し ます。 column_name こ れは、 た と えば emp_last_name と い う よ う に、 ソ ース テーブルか ら 複製 さ れた列の名前を プ ロ シージ ャ に伝え ます。 こ の値には、 大文字 と 小文字の区別はあ り ません。 デー タ 型 こ れは、 た と えば VARCHAR2 と い う よ う に、 複製 さ れた 列のデー タ のデー タ 型を プ ロ シージ ャ に伝え ます。 こ の 値は常に大文字です。 章5 SharePlex での複製の準備 223 is_key こ れは、 列がキー列であ る か ど う か を プ ロ シージ ャ に伝 え ます。 キー列であ る 場合、 SharePlex は TRUE の値を渡 し ます。 キー列の一部でなければ、 SharePlex は FALSE の 値を渡 し ます。 is_changed こ れは、 列の値が変更 さ れたか ど う か を プ ロ シージ ャ に 伝え ます。 値が変更 さ れてい る 場合、 SharePlex は TRUE の値を渡 し ます。 列が変更 さ れていなければ、 SharePlex は FALSE の値を渡 し ます。 INSERT の場合、 デー タ ベース には列が存在 し ないため、 is_changed は非 NULL の値に対 し て TRUE です。 NULL の値が挿入 さ れ る と 、 is_changed は FALSE にな り ます。 UPDATE の場合、 is_changed は非キー列に対 し て TRUE です。 キー列に対 し て、 キーは ピ ア ト ゥ ピ ア レ プ リ ケー シ ョ ン では変更で き ないため、 is_changed は通常 FALSE にな り ます。 ただ し 、 SharePlex は変更 さ れた キー列の値 を渡す こ と にな っ てい ます が、 タ ーゲ ッ ト シ ス テ ム にお いてそのキーの値 も 変更 さ れた場合、 SharePlex は正 し い 行を特定で き ず、 conflict resolution は失敗 し ます。 DELETE の場合、 SharePlex は DELETE 文のキーの値のみ を複製す る ため、 is_changed は常に FALSE です。 old_value こ れは、 複製 し た列の古い値が ソ ース シ ス テ ム で変更 さ れ る 前にその値を プ ロ シージ ャ に伝え ます。 こ れは、 SharePlex が同期チ ェ ッ ク の一部 と し て ソ ースお よ び タ ー ゲ ッ ト 列を比較す る プ リ イ メ ージ です。 UPDATE お よ び DELETE に対 し て、 SharePlex に渡 さ れた古い値が タ ー ゲ ッ ト 行か ら 取得 し た current_value 変数 と 一致 し ない場 合、 競合が存在 し ます。 タ ーゲ ッ ト デー タ ベース に行が 存在 し なか っ たため、 こ の列は INSERT に対 し て NULL です。 new_value こ れは、 複製 し た列の新 し い値が ソ ース シ ス テ ム で変更 さ れ る 時にその値を プ ロ シージ ャ に伝え ます。 current_value こ れは、 タ ーゲ ッ ト テーブルの列の現在の値を プ ロ シー ジ ャ に伝え ます。 SharePlex が タ ーゲ ッ ト 行を特定で き な い場合、 値は NULL です。 224 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 col_def_tabtyp テーブルの利用可能な エ ン ト リ SharePlex は、 競合を引 き 起 こ す操作ご と に col_def_tabtyp PL/SQL テーブルを 作成 し ます。 SharePlex が行を特定で き ない場合、 すべての フ ィ ール ド が値を 備え てい る わけではないに も かかわ ら ず、 SharePlex はルーチン にすべての フ ィ ール ド を渡 し ます。 次のテーブルは、 操作のそれぞれの タ イ プについて起 り 得 る 結果を示 し てい ます。 INSERT 文の場合 1 column_name is_changed old_value new_value current_value C1 TRUE NULL bind NULL FALSE C2 TRUE NULL bind NULL TRUE C3 FALSE NULL NULL NULL TRUE | FALSE 1 is_key INSERT が失敗 し た場合、 それは同 じ PRIMARY キーを持つ行が、 すでに タ ーゲ ッ ト デー タ ベース に存在す る ためです。 SharePlex は INSERT に現在の値を返 し ません。 章5 SharePlex での複製の準備 225 UPDATE 文の場合 column_name is_changed old_value new_value current_value1 is_key C1 TRUE bind bind NULL | target value FALSE C2 FALSE bind NULL NULL | target value TRUE C3 TRUE bind bind NULL | target value TRUE 1 UPDATE が失敗 し た場合、 それは SharePlex が PRIMARY キーお よ びプ リ イ メ ージ を使用す る 行を特定で き なか っ たためです。 行が特 定 さ れない場合、 SharePlex PRIMARY キーのみを使用す る 行を検索 し ます。 行が見つか っ た場合、 SharePlex は、 変更 さ れた列だけで な く キー列について も 現在の値を返 し ます。 PRIMARY キーのみを 使用 し て行が特定で き ない場合、 current_value は NULL です。 DELETE 文の場合 column_name is_changed old_value new_value current_value1 is_key C1 FALSE bind NULL NULL TRUE 1 DELETE が失敗 し た場合、 それは SharePlex が PRIMARY キーを使用 す る 行を特定で き なか っ たためです。 そのため、 current_value は NULL にな り ます。 generic conflict resolution プ ロ シージ ャ イ ン タ ー フ ェ イ スの作成 プ ロ シージ ャ は次の イ ン タ ーフ ェ イ ス を使用 し ます。 テ ン プ レ ー ト 20: CREATE/REPLACE PROCEDURE パラ メ ー タ 宣言 (table_info in out splex.sp_cr.row_typ, col_values in splex.sp_cr.col_def_tabtyp) 重要! 「splex」 は SharePlex Oracle ユーザーに置き換え ます。 226 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ヒ ン ト : SharePlex conflict resolution デモ ン ス ト レーシ ョ ン を実行する場合、 デモ ン ス ト レーシ ョ ン に使用 さ れるデー タ ベースに イ ン ス ト ール さ れた od_employee_gen ルーチ ン を表示 し て、 generic conflict resolution ルーチ ン を表示する こ と がで き ます。 SharePlex デモ ン ス ト レーシ ョ ンの詳細は、 『SharePlex イ ン ス ト ールお よびデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 generic conflict resolution のための conflict resolution フ ァ イルの作成 conflict resolution プ ロ シージ ャ を作成 し た後 conflict_resolution.SID フ ァ イ ルを 作成、 SharePlex に ど のプ ロ シージ ャ を使用す る か指示 し ます。 空の conflict resolution フ ァ イ ルが、 SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ 内に、 SharePlex と 共に イ ン ス ト ール さ れます。 こ の フ ァ イ ルが存在 し ない場合は、 ASCII テ キ ス ト エデ ィ タ を用いて ASCII フ ォ ーマ ッ ト で作成 し ます。 フ ァ イ ルには conflict_resolution.SID と い う 名前を付け ます。 こ の場合、 SID は、 oratab フ ァ イ ルま たは Windows レ ジ ス ト リ に示 さ れてい る よ う な、 タ ーゲ ッ ト イ ン ス タ ン ス の ORACLE_SID と な り ます。 SID には大文 字 と 小文字の区別があ り 、 こ れ ら の ロ ケーシ ョ ンに表示 さ れてい る 大文字/小 文字に一致す る 必要があ り ます。 た と えば、 SID が oratab フ ァ イ ルま たは レ ジ ス ト リ では ORCL8 の場合、 フ ァ イ ル名前に orcl8 と は表示で き ません。 こ の フ ァ イ ルの名前は変更 し ないで く だ さ い。 変更す る と SharePlex は conflict resolution ルーチン を呼び出 し ません。 重要! conflict_resolution.SID フ ァ イルは、 ア ク テ ィ ブ な設定ご と に 1 つだけです。 手順に従っ て こ の フ ァ イ ルエ ン ト リ を作成す る 場合は、 次のテ ン プ レー ト を参 照 し て く だ さ い。 テ ン プ レ ー ト 21: generic conflict resolution のための conflict resolution フ ァ イル like:owner.%\_string I | U | D | IUD owner.procedure_name 各 conflict resolution プ ロ シージ ャ に対 し 、 conflict resolution フ ァ イ ルに一行ずつ 作成 し ます。 1 つま たは複数のプ ロ シージ ャ を使用す る 場合、 conflict resolution フ ァ イ ルに表示す る 順番は優先順位を定義 し ます (降順)。 テーブル指定プ ロ シージ ャ を表示す る 場合、 SharePlex は ワ イ ル ド カー ド 指定のプ ロ シージ ャ の前 に使用 し ます。 章5 SharePlex での複製の準備 227 それぞれの行を使用 し て各手順を表示 し 、 手順の終わ り に Enter キーを押 し ま す。 次に conflict resolution フ ァ イ ルの例を示 し ます。 scott.sal IUD scott.sal_cr like:scott.%\_corp\_emp IUD scott.emp_cr1 like:scott.%\_corp\_emp IUD scott.emp_cr2 like:scott% IUD scott.emp_cr3 scott.cust U scott.sal_cr こ の例では、 scott.sal_cr ルーチン が scott.sal テーブルに使用 さ れ、 その後 scott.emp_cr1 手順 も そのテーブルに使用 さ れます。 scott.emp_cr1 プ ロ シー ジ ャ が使用 さ れた後、 scott.emp_cr2 プ ロ シージ ャ が検索基準な ど に一致す る すべてのテーブルに使用 さ れ ます。 scott.cust の場合、 プ ロ シージ ャ が UPDATE のために呼び出 さ れ、 他のルーチン がすべての操作に使用 さ れ ます。 conflict_resolution.SID エ ン ト リ の作成 1 デ ィ レ ク ト リ を SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に変更 し ます ÅB 2 conflict_resolution.SID フ ァ イ ルを vi テ キ ス ト エデ ィ タ (UNIX) ま たは WordPad (Windows) の ど ち ら かで開 き ます。 3 [OPTIONAL] コ メ ン ト ラ イ ン を入力 し て フ ァ イ ルを確認す る か ま たは別の情報を 表示で き ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を 無効に し 、 行末で Enter キーを押 し ます。 4 タ ーゲ ッ ト テーブルを指定 し ます。 ルーチンに対 し て個別の タ ーゲ ッ ト を 指定で き ます。 所有者 と 名前を ド ッ ト (.) で区切っ て スペース を含めずに 入力 し ます。 ま たは テ ン プ レー ト 21 お よ び次の例にに示 さ れてい る よ う に、 検索文字列を用い て複数のテーブルを指定す る のに、 LIKE 演算子 と SQL ワ イ ル ド カー ド (%) を使用で き ます。 1 文字の ワ イ ル ド カー ド を表すには、 ア ン ダー ラ イ ン (_) を使用で き ます。 ア ン ダー ラ イ ン を含んでい る テーブル名の場合 (た と えば emp_sal)、 SharePlex は、 バ ッ ク ス ラ ッ シ ュ (\) については、 ア ン ダー ラ イ ン を ワ イ ル ド カー ド ではな く リ テ ラ ル と し て表すエ ス ケープ文字 と し て認識 し ます。 228 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 例: like:scott.%\_corp\_emp scott.emp 注 : LIKE 演算子を使用 し ていない場合は、 ア ン ダー ラ イ ン を含んでいる テーブル名を 使用する と き にバ ッ ク ス ラ ッ シ ュ エ スケープ文字を指定する必要があ り ます。 .2 番目の列を作成す る 、 少な く と も スペース ま たは タ ブのエ ン ト リ タ イ プ の後、 Enter キーを押 さ 「ないで」 く だ さ い。 5 操作 タ イ プ を指定 し ます。 すべての タ イ プの SQL 文に対 し てプ ロ シージ ャ が書かれた場合、 文字列 「IUD」 を入力 し ます。 プ ロ シージ ャ が操作固有の 場合は、 「I」、 「U」 ま たは、 「D」 のいずれか を入力 し ます。 こ れを入力 し た 後で Enter キーを押 し てはいけ ません。 6 3 番目の列を作成す る ために、 少な く と も スペース ま たは タ ブ を入力 し ま す。 7 プ ロ シージ ャ を指定 し ます。 conflict resolution プ ロ シージ ャ の所有者 と 名前 を ド ッ ト (.) で区切 り 、 スペース を含めずに入力 し ます。 例 : scott.emp_cr 入力が完了 し た行は次の例の よ う にな り ます。 like:scott.%\_corp\_emp IUD scott.emp_cr ま たは scott.emp U scott.emp_tr ま たは like:scott.%\_corp\_emp U scott.emp_cr_u 8 新 し い行を作成 し 、 conflict resolution プ ロ シージ ャ を追加す る たびに 4 か ら 7 の ス テ ッ プ を繰 り 返 し ます。 9 conflict resolution フ ァ イ ルの作成を終え た ら 、 vi では :wq コ マ ン ド を、 WordPad では [ フ ァ イル] メ ニ ュ ーの [保存] を使用 し て フ ァ イ ルを保存 し 、 閉 じ ます。 章5 SharePlex での複製の準備 229 conflict resolution フ ァ イルの変更 conflict resolution フ ァ イ ルは複製中にいつで も 変更 し て、 テーブルやプ ロ シー ジ ャ を追加 し た り 削除 し た り で き ます。 conflict resolution フ ァ イ ルを変更す る 場合は、 解決方法のキ ャ ッ シ ュ を更新で き る よ う に、 Post プ ロ セ ス を い っ たん 停止 し て再起動 し ます。 conflict resolution に対する準備さ れたプ ロ シージ ャの使用 SharePlex は、 カ ス タ ムルーチン と 連動 し て、 ま たはその代わ り に使用す る 、 オプシ ョ ンの準備 さ れたルーチン を次の と お り 提供 し ます。 こ れ ら のオプシ ョ ンは基本お よ び generic conflict resolution フ ォ ーマ ッ ト で使用 さ れます。 次の準 備 さ れたプ ロ シージ ャ を使用す る 列 タ イ プには制限はあ り ません。 !UpdateUsingKeyOnly prepared routine SharePlex は、 UPDATE 操作のために、 準備 さ れた conflict resolution ルーチン を 提供 し ます。 変更 さ れた行のキー値に単独で依存す る 競合解決機能を提供 し ま す。 通常、 SharePlex が SQL 文を作成 し てデー タ を post す る と き 、 WHERE 句は同期 を保証す る 歌芽に変更 さ れた列のキーお よ び プ リ イ メ ージ を使用 し ます。 !UpdateUsingKeyOnly ルーチンは、 キーが一致 し て る にかかわ ら ずプ リ イ メ ー ジ値が一致 し ない場合であ っ て も 、 SharePlex がデー タ を post す る よ う に指示 し ます 適切であれば、 こ のルーチンは UPDATE に対す る 単独ルーチン と し て使用で き ます。 ただ し 、 複数の UPDATE の場合、 シ ス テ ム あ る いは時間優先権な ど の優先順位を割 り 当て る ロ ジ ッ ク が含まれない こ と を理解す る 必要があ り ま す。 非同期エ ラ ーを回避す る には、 Quest は、 カ ス タ ムルーチンが失敗 し た場合 最後のオプシ ョ ン と し て !UpdateUsingKeyOnly に依存 し 、 !UpdateUsingKeyOnly を特定のカ ス タ ムルーチン と 連動 し て使用す る こ と を推 奨 し ます。 !UpdateUsingKeyOnly は一連のルーチンの 最後の エ ン ト リ であ り 、 最終優先順位を割 り 当て る 必要があ り ます。 次の例で、 UPDATE 実行中に owner.table1 に対す る 競合があ る 場合、 SharePlex は まず 2 つのカ ス タ ムルーチン を呼び出 し ( 優先順位に従っ て )、 その後 !UpdateUsingKeyOnly ルーチン を呼び出 し ます。 230 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 !UpdateUsingKeyOnly を使用す る conflict resolution フ ァ イ ルの例 owner.table1 owner.table1 owner.table1 u u u owner.procedure_up_A owner.procedure_up_B !UpdateUsingKeyOnly !UpdateUsingKeyOnly の名前は、 大文字、 小文字が区別 さ れ ます。 こ れ ら の指 示に示 さ れてい る と お り 、 文字の間に スペース を入れず正確に入力す る 必要が あ り ます。 こ のルーチン と 所有者名を、 設定フ ァ イ ルに一覧化 し てはいけ ませ ん。 INSERT お よ び DELETE の操作の場合、 カ ス タ ム ロ ジ ッ ク を使用す る 必要があ り ます。 !MostRecentRecord(column_name) 準備 さ れたルーチ ン SharePlex は、 UPDATE お よ び DELETE 操作のために、 準備 さ れた conflict resolution ルーチン を提供 し ます。 こ れは、 指定 さ れた 「column_name」 の値に 基づいて競合を解決 し ます。 通常、 SharePlex が SQL 文を作成 し てデー タ を post す る と き 、 WHERE 句は同期を保証す る ために変更 さ れた列のキーお よ び プ リ イ メ ージ を使用 し ます。 !MostRecentRecord ルーチンは SharePlex に、 プ リ イ メ ージの値が一致 し ない場合で も デー タ を Post す る よ う に指示 し ます。 こ れは、 指定 さ れた 「column_name」 の比較に基づいて、 現在の行を変更 し ま す。 送信 さ れた 「column_name」 の値が タ ーゲ ッ ト の 「column_name」 の値 よ り 大 き い場合、 変更が適用 さ れ ます。 こ のルーチンは、 時間ベース の複製の競 合を解決す る ために使用で き ます。 !MostRecentRecord を使用す る conflict resolution フ ァ イ ルの例 owner.table1 u owner.procedure_up_A owner.table1 u !UpdateUsingKeyOnly owner.table1 u !MostRecentRecord(C2) C2 はデー タ 型が TIMESTAMP の column_name です !ControlExtendedCharSet 準備 さ れたルーチ ン こ のルーチンは、 キ ャ ラ ク タ セ ッ ト の追加検証を提供 し ます。 SharePlex は デー タ ベース のキ ャ ラ ク タ セ ッ ト が、 US7ASCII の Oracle デフ ォ ル ト 設定 と な る こ と を想定 し ますが、 異な る セ ッ ト が有効 と な る と き 検出 し 、 そのセ ッ ト を 使用 し ます。 SharePlex がキ ャ ラ ク タ セ ッ ト を検出で き ない場合の予防手段 と し て、 異な る キ ャ ラ ク タ セ ッ ト で複数のデー タ ベース を実行 し ていない場合、 章5 SharePlex での複製の準備 231 Quest は NLS_LANG シ ス テ ム環境変数を SharePlex 起動前にデー タ ベース の環 境 と し て設定す る こ と を推奨 し ます。 重要!デー タ ベースがデ フ ォル ト の US7ASCII キ ャ ラ ク タ セ ッ ト を使用 し ている場合 は、 NLS_LANG を設定 し ないで く だ さ い。 設定する と 、 7F を超え るキ ャ ラ ク タ が正常 に複製 さ れな く な り ます。 こ れ ら の推奨に従っ て も なお無効な キ ャ ラ ク タ に引 き 起 こ さ れ る 複製問題が予 期 さ れ る 場合、 UPDATE お よ び DELETE に !ControlExtendedCharSet ルーチン を使用 し ます。 こ のルーチン に よ っ て、 拡張 ASCII セ ッ ト (127 以上 ) に分類 さ れ る 複製キ ャ ラ ク タ を、 Oracle が誤っ て解釈 し ない標準フ ォーマ ッ ト に変換 し ます。 その後 UPDATE ま たは DELETE 文を再実行 し 、 競合を解決 し ます。 拡張 ASCII セ ッ ト の文字は通常、 正確に定義 さ れてい ません。 それ ら の文字は 国、 アプ リ ケーシ ョ ン も し く は操作シ ス テ ム特有の も のです。 ま れに、 Microsoft Windows アプ リ ケーシ ョ ン の よ う な他のプ ラ ッ ト フ ォームは、 ソ ー スデー タ ベース に こ う し た文字を挿入 し 、 Oracle が誤っ た解釈を し ます。 SharePlex は、 タ ーゲ ッ ト デー タ ベース に文字を複製 し ます。 Post はその後、 影響を受けた行を更新 も し く は削除す る 必要があ る 場合、 その行を検出で き ず、 エ ラ ーを返 し ます。 !ControlExtendedCharSet を使用す る と き 、 UPDATE お よ び DELETE 文が 最優 先順位 と し て設定す る よ う 、 他のルーチン の中で も 最初に表示 し ます。 名前に は大文字 と 小文字の区別があ り ます。 こ れ ら の指示に示 さ れてい る と お り 、 ス ペース を含めず正確に入力 し ます。 設定フ ァ イ ルには、 こ のルーチン と と も に プ ロ シージ ャ 所有者名を記載 し ないで く だ さ い。 !ControlExtendedCharSet を使用す る 競合解決フ ァ イ ルの設定例 owner.table1 owner.table1 owner.table1 u u u !ControlExtendedCharSet owner.procedure_up_A owner.procedure_up_B ! 準備 さ れたルーチ ンに対する DEFAULT パラ メ ー タ 複製設定内のすべてのテーブルに対 し て、 準備 さ れたルーチン を使用す る 、 ま たは準備 さ れたルーチン と ユーザー定義ルーチン を組み合わせて使用す る 場合 は、 !DEFAULT パ ラ メ ー タ を使用 し ます。 準備 さ れたルーチンに加え て、 ま た はその代わ り にカ ス タ ムルーチン が存在す る テーブルの場合、 カ ス タ ムルーチ ン が準備 さ れたルーチン を上回 る 優先順位を持ち ます。 準備 さ れたルーチン は、 カ ス タ ムルーチンが失敗 し た場合のみ使用 さ れ ます。 実際、 !DEFAULT 関 連ルーチンが フ ァ イ ルに表示 さ れ る 順番 と は関係あ り ません。 232 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 !DEFAULT パ ラ メ ー タ は大文字、 小文字が区別 さ れ ます。 すべて大文字で入力 さ れ る 必要があ り ます。 !DEFAULT を使用す る 競合解決の例 !DEFAULT !DEFAULT james.table1 !DEFAULT james.table1 james.table1 u d u u i d !ControlExtendedCharSet !ControlExtendedCharSet james.procedure_upd !UpdateUsingKeyOnly james.procedure_ins james.procedure_del 競合解決を使用す る こ の例では、 james.table1 も 含めたすべてのテーブルの UPDATE お よ び DELETE に対 し て !ControlExtendedCharSet プ ロ シージ ャ を使 用 し ます。 6 SharePlex オプシ ョ ンのセ ッ ト ア ッ プ こ の章では、 レ プ リ ケーシ ョ ンパフ ォーマ ン ス を改善 し た り 、 SharePlex を カ ス タ マ イ ズ し た り す る ための追加実施オプシ ョ ン について説明 し ます。 こ の章は、 カ ス タ マ イ ズ可能な レ プ リ ケーシ ョ ン の さ ま ざ ま な局面に関連す る 各部分に分かれてい ます。 目次 Post パ フ ォ ーマ ン スの向上 SharePlex での ト ラ ン ス フ ォ ー メ ーシ ョ ンの使用 環境変数の設定 SharePlex でのセキ ュ リ テ ィ の使用 その他のオプ シ ョ ン機能 234 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: Post パフ ォ ーマ ン スの向上 こ こ では、 Post プ ロ セ ス のパフ ォーマ ン ス を最適化で き る オプシ ョ ン機能を解 説 し ます。 情報の補足的なチ ュ ーニ ン グや ト ラ ブルシ ュ ーテ ィ ン グは、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 高速 posting のための INDEX ヒ ン ト の使用 SharePlex が タ ーゲ ッ ト テーブルで UPDATE や DELETE を実行す る と 、 Oracle は SharePlex に と っ て最 も 効率的な イ ンデ ッ ク ス を選ばない場合 も あ り ます。 正 し い イ ンデ ッ ク ス がない場合、 複数の UPDATE や DELETE が実行 さ れ る と Post プ ロ セ ス は速度が低下 し ます。 SharePlex では、 Oracle’ s INDEX ヒ ン ト を 利用 し て、 タ ーゲ ッ ト オブジ ェ ク ト に対 し て正 し い イ ンデ ッ ク ス を実行で き ま す。 定義済みの イ ンデ ッ ク ス郡に対 し て Post が フルテーブル ス キ ャ ン を行っ てい る 場合は、 そのテーブルのための ヒ ン ト を使用 し ます。 SharePlex に よ る INDEX ヒ ン ト の使用を有効にす る には、 hints.SID フ ァ イ ルを 使用 し ます。 こ の場合、 SID は タ ーゲ ッ ト イ ン ス タ ン ス の ORACLE_SID です。 Post は、 SQL 文を適用す る と き に ヒ ン ト フ ァ イ ルを読み込みます。 フ ァ イ ルが エ ン ト リ を備え てい る 場合、 Post はデー タ を メ モ リ に読み込んで、 処理す る そ れぞれの UPDATE お よ び DELETE 文をチ ェ ッ ク し ます。 こ の よ う な操作のい ずれかにおいて ヒ ン ト フ ァ イ ルに記載 さ れてい る テーブルが必要にな る 場合、 Post は Oracle に ヒ ン ト を送 り ます。 ora_setup プ ロ セ ス では、 SparePlex が イ ン ス ト ール さ れてい る 各シ ス テ ムに空 白の hints.SID フ ァ イ ルが イ ン ス ト ール さ れます。 タ ーゲ ッ ト シ ス テ ム上に常 駐す る hints.SID フ ァ イ ルを使用 し ます。 必ず し も 複製す る テーブルをすべて ヒ ン ト フ ァ イ ルに含め る 必要はあ り ませ ん。 Oracle は通常は正 し い イ ンデ ッ ク ス を使用 し ますが、 すべてのテーブルを こ の フ ァ イ ルに含め る と 、 Post は操作のたびに こ の フ ァ イ ルを参照す る よ う に な り ます。 こ れは posting の処理を遅 ら せます。 ヒ ン ト を必要 と す る テーブル にのみ ヒ ン ト を使用 し ます。 デフ ォ ル ト の最大 ヒ ン ト 数は 100 です ( テーブル名 / イ ンデ ッ ク ス名のペア )。 こ の値は、 SP_OPO_HINTS_LIMIT パ ラ メ ー タ を使っ て増減で き ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 235 SharePlex パ ラ メ ー タ の詳細は、 『『SharePlex Reference Manual』 の第 6 章 』 を参照 し て く だ さ い。 こ のパラ メ ー タ を変更するには、 Post をい っ たん停止 し てから再開 し ます。 ヒ ン ト フ ァ イルの構成 ヒ ン ト フ ァ イ ルを構成す る には、 構成を作成す る の と 同様のプ ロ セ ス に従い ま す。 1 タ ーゲ ッ ト シ ス テ ム で、 Post プ ロ セ ス を停止 し ます。 sp_ctrl(sysB)> stop post 2 タ ーゲ ッ ト シ ス テ ム で、 デ ィ レ ク ト リ を SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に変更 し ます。 3 vi (UNIX) ま たは WordPad (Windows) で hints.SID フ ァ イ ルを開 き ます。 4 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効に し ます。 5 非 コ メ ン ト 行には、 最初の タ ーゲ ッ ト テーブルの所有者 と 名前を入力 し 、 名前が 2 つあ る 場合は、 ド ッ ト (.) で区切 り ます。 文字間の スペース は不 要です。 ア ン ダー ラ イ ン (_) は使用可能です。 Enter キーは押 さ ないで く だ さ い。 source_owner.source_table_name 6 少な く と も い く つかの スペース ま たは タ ブ を入力 し てか ら 、 テーブルに使 用す る イ ンデ ッ ク ス の所有者 と 名前を入力 し 、 名前が 2 つあ る 場合は ド ッ ト で区切 り ます (.)。 文字間の スペース は不要です。 ア ン ダー ラ イ ン (_) は使用可能です。 target_owner.target_table_index 7 Enter キーを押 し て新 し い行を作成 し ます 8 タ ーゲ ッ ト テーブルご と に 5 か ら 7 の ス テ ッ プ を繰 り 返 し ます。 9 操作を終え た ら 、 vi では :wq コ マ ン ド を、 WordPad では [フ ァ イル] メ ニ ュ ーの [保存] を使用 し て フ ァ イ ルを保存 し 、 閉 じ ます。 10 タ ーゲ ッ ト シ ス テ ム で、 Post プ ロ セ ス を起動 し ます。 sp_ctrl(sysB)> start post 236 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ヒ ン ト フ ァ イルの問題解決 ヒ ン ト フ ァ イ ルが無効な イ ンデ ッ ク ス を含んでいて も 、 SharePlex はテーブル の ヒ ン ト と し てその イ ンデ ッ ク ス を使用 し ます。 ただ し 、 Oracle は無効な ヒ ン ト を無視 し ますので、 エ ラ ーは発生 し ません。 ヒ ン ト の使用に関す る 異常が SharePlex に発生す る と 、 SharePlex は event_Log に次のエ ラ ーを記録 し ます。 15050 17000 15051 15052 15053 15054 15055 - hint file not found error opening hint file missing column in the hint file (either table or index name) syntax error for tablename syntax error for indexname source table’s object_id not found in object cache more than 20 valid entries were entered into the hints file 重要! ヒ ン ト フ ァ イルが読み込まれているかど う かにかかわら ず、 SharePlex は data サブデ ィ レ ク ト リ に ヒ ン ト フ ァ イルがある もの と 期待 し ます。 ヒ ン ト フ ァ イルが存在 し ない場合、 タ ーゲ ッ ト シス テムの変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に フ ァ イルを作成 し ます。 「hints.SID」 命名フ ォ ーマ ッ ト を使用 し ます。 ""UNIX シ ス テ ムでは、 touch /variable_data_dir/data/hints.SID コ マ ン ド を発行 し て、 フ ァ イルを作成 で き ます。 variable_data_dir を SharePlex 変数デー タ デ ィ レ ク ト リ のフ ルパス名に置き 換え、 SID は タ ーゲ ッ ト イ ン ス タ ン スの ORACLE_SID に置き換え ます。 高速 posting のための SQL 文のキ ャ ッ シ ュ SharePlex の SQL Cache 機能は頻繁に使用す る 解析お よ びバ イ ン ド 済みの SQL 文を再利用のためにキ ャ ッ シ ュ す る ため、 操作な ど を繰 り 返す場合に SharePlex はその SQL 文を再度解析お よ びバ イ ン ド す る 必要はあ り ません。 こ の機能は、 アプ リ ケーシ ョ ンが繰 り 返 し 生成す る 文の量に基づ く 利点を最大限 に活用す る よ う にチ ュ ーニ ン グで き ます。 SQL Cache を使用する タ イ ミ ング SharePlex は SQL Cache を有効に し た状態で イ ン ス ト ール さ れます。 SQL Cache は、 デー タ 値以外は何 も 変化せずに同 じ SQL 文が何度 も 発行 さ れ る 場合にの み Post のパフ ォ ーマ ン ス を改善 し ます。 それが作業環境に当ては ま ら ない場 合、 SQL Cache は Post プ ロ セ ス に不要なオーバーヘ ッ ド を付け加え る ため、 そ れを無効に し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 237 SQL Cache の有効化 と 構成 SQL Cache 機能は次の SharePlex パ ラ メ ー タ で制御 し ます。 SP_OPO_SQL_CACHE_DISABLE: こ のパ ラ メ ー タ に よ っ て、 SQL Cache 機能の 有効、 無効が切 り 替え ら れます。 デフ ォ ル ト では、 SQL Cache は有効 にな っ て いて、 こ のパ ラ メ ー タ は 0 に設定 さ れてい ます。 1 に設定す る と 、 SQL キ ャ ッ シ ュ が無効にな り ます。 SQL キ ャ ッ シ ュ を無効にす る と 、 SharePlex は次のエ ン ト リ を event_log に出力 し ます。 SQL Cache disabled. SP_OPO_MAX_CDA: こ のパ ラ メ ー タ は、 セ ッ シ ョ ン ご と にキ ャ ッ シ ュ す る カー ソ ル数を指定 し ます。 キ ャ ッ シ ュ を維持す る ために、 Post はデフ ォ ル ト で セ ッ シ ョ ン当た り 50 個のカー ソ ルを開 き ます。 こ の設定は、 必要な ら ば増減 で き ます。 重要! SP_OPO_MAX_CDA を チ ュ ーニ ングする前に、 次の説明をすべて読んでおいて く だ さ い。 オープ ン カ―ソ ルについて Oracle パ ラ メ ー タ OPEN_CURSORS は、 プ ロ セ ス (Post な ど) が開 く こ と がで き る カー ソ ルの 合計最大数を定義 し ます。 こ のパ ラ メ ー タ は、 Post のパフ ォ ー マ ン ス に悪影響を与え ない よ う に高 く 設定す る 必要があ り ます。 こ れは、 SQL キ ャ ッ シ ュ が有効にな っ てい る か ど う かにかかわ ら ず当ては ま り ます。 カー ソ ルの不足を防止す る ために、 Post プ ロ セ ス はプ ロ セ ス開始時に OPEN_CURSORS 値を問い合わせます。 こ の値が十分に高 く ない場合、 Post は event_log に次の警告を書 き 込みます。 Warning:(sp_opst_mt for o.oracle-o.oracle queue oracle)Oracle parameter 'OPEN_CURSORS' is < number.Check 'OPEN_CURSORS' setting. OPEN_CURSORS の値を表示す る には、 次の SQL 文を使用 し てデー タ ベース を ク エ リ し ます。 SQL> select value from v$parameter where name = 'open_cursors' ; OPEN_CURSORS の値が存在 し ない場合、 値を変更ま たは追加で き ます。 Oracle パ ラ メ ー タ を変更す る 際には、 事前に適切な Oracle ド キ ュ メ ン ト を参照 す る こ と をお勧め し ます。 238 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 OPEN_CURSORS 設定のガ イ ド ラ イ ン OPEN_CURSORS の値を見積 も る には、 タ ーゲ ッ ト イ ン ス タ ン ス について予測 さ れ る 並行 ト ラ ンザ ク シ ョ ン (セ ッ シ ョ ン) の ピー ク 数を推定 し ます。 Post は、 ソ ース シ ス テ ム のセ ッ シ ョ ン ご と に タ ーゲ ッ ト シ ス テ ム のセ ッ シ ョ ン を開 き ます。 実稼働が最大レベルにあ る と き に sp_ctrl で show post detail コ マ ン ド を発行す る と 良好な推定が得 ら れ ます。 デ ィ ス プ レ イ の Number of Open Transactions フ ィ ール ド は、 並行 ト ラ ンザ ク シ ョ ン数を表示 し ます (239 ペー ジの図 22 を参照)。 予想 さ れ る 並行 ト ラ ンザ ク シ ョ ン数を予想 し た あ と 、 次の式を用いて SharePlex 複製環境におけ る OPEN_CURSORS の正 し い設定を決め ます。 SQL Cache を無効に し た場合 SQL Cache を無効に し た場合、 Post プ ロ セ ス は、 終了時にい っ たん閉 じ る ルー チン コ ールに備え て 10 個のカー ソ ルを、 さ ら に ト ラ ンザ ク シ ョ ン当た り 少な く と も 2 個のカー ソ ルを確保 し てお く 必要があ り ます。 式は次の と お り です。 10 + (並行 ト ラ ンザ ク シ ョ ンのピ ー ク 数 × 2) = 必要最小オープ ン カ ー ソ ル数 SQL Cache を有効に し た場合 SQL Cache を有効に し た場合、 Post は、 終了時にい っ たん閉 じ る ルーチン コ ー ルに備え て 10 個のカー ソ ルを、 さ ら に ト ラ ンザ ク シ ョ ン当た り 少な く と も 7 個のカー ソ ルを確保 し てお く 必要があ り ます (基本最少数 2 個に加え て さ ら に 5 個)。 式は次の と お り です。 10 + (並行 ト ラ ンザ ク シ ョ ンのピ ー ク 数 × 7) = 必要最小オープ ン カ ー ソ ル数 Post のオープ カ ー ソ ル追跡方法 Post は、 ルーチン コ ールに必要な 10 を引いた OPEN_CURSORS の値か ら オー プン カー ソ ルの合計最大数を内部で確立 し ます。 こ の値を event_log に表示 し ます。 次の例の場合、 OPEN_CURSORS は 512 に設定 さ れてい ます。 Notice:sp_opst_mt (for o.oracle-o.oracle queue oracle) Post will not open more than 502 cursors (OPEN_CURSORS - 10). Post はオープ ン な カー ソ ルの数の記録を維持 し ます。 カー ソ ルの最大数を上回 る こ と を Post が検出す る と 、 Post は直前に使用 し たセ ッ シ ョ ン で直前に使用 し た カー ソ ルを と 閉 じ ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 239 SQL Cache のチ ュ ーニ ング SQL Cache を最大限に活用す る には、 sp_ctrl を実行 し て show post detail コ マ ン ド を発行 し 、 キ ャ ッ シ ュ し た文の ヒ ッ ト 率を判断 し ます。 sp_ctrl> show post detail SQL Cache パフ ォ ーマ ン ス情報 図 22:show post detail コ マ ン ド を使用する と SQL Cache の ヒ ッ ト が Post 統計に表示 さ れます。 show post detail デ ィ ス プ レ イ の SQL cache hit count フ ィ ール ド は、* 解析お よ びバ イ ンデ ィ ン グす る こ と な く 実行 さ れた メ ッ セージの合計数を 挿入、 更新お よ び削除操作の合計数で除算 し た割合を示 し ます。 前述の例では、 ヒ ッ ト 率は 36% です。 こ れは、 キ ャ ッ シ ュ し た文を時間全体の 36% において Post が使用 し てい る こ と を示 し ます。 * メ ッ セージは SQL 操作か SharePlex 内部の操作であ るのが普通です。 メ ッ セージの詳細は、 12 ページ を参照 し て く だ さ い。 240 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 代表的な複製活動の数日後に ヒ ッ ト 率を表示 し て、 SP_OPO_MAX_CDA の理 想的な設定を判断 し ます。 ヒ ッ ト 率が 50% 未満の場合は、 SP_OPO_MAX_CDA を増加 し ますが、 約 5 カー ソ ルずつ小刻みに行い ます。 次に、 数日間 ヒ ッ ト 率を監視 し ます。 ヒ ッ ト 率が増加 し た場合、 それはアプ リ ケーシ ョ ン が利用可能なすべてのカー ソ ルを使用 し てい る こ と を意味 し ます。 ヒ ッ ト 率が一定に保たれ る ま で、 さ ら に SP_OPO_MAX_CDA を小刻みに増加 し ます。 大き な ト ラ ンザク シ ョ ンの高速化 アプ リ ケーシ ョ ンパ ッ チが適用す る よ う な単一の大 き な SQL 文は、 SharePlex の数千ま たは数百万 も の個別の UPDATE ま たは DELETE 文に変換 さ れ る 場合 があ り ます。 こ れ ら の文はすべて Post に よ り タ ーゲ ッ ト デー タ ベース に適用 す る 必要があ り ます。 こ の よ う な ト ラ ンザ ク シ ョ ンは ソ ースデー タ と タ ーゲ ッ ト デー タ 間の遅延を増加 さ せ、 Post 処理の速度が大幅に低下す る 可能性があ り ます。 次の手順を利用 し て、 こ の よ う な問題を回避す る こ と がで き ます。 こ の 手順では、 SharePlex オプシ ョ ン機能を使っ て Post プ ロ セ ス をバ イ パ ス し 、 Oracle 経由で文を直接適用 し ます。 1 ソ ース デー タ ベース で、 次の説明に従っ て テーブルを作成 し ます。 名前を dml_statement に し ます。 テーブルに、 SharePlex の フル DBA 権限を割 り 当 て ます。 2 ソ ース シ ス テ ム で、 SharePlex 製品デ ィ レ ク ト リ 下の util サブデ ィ レ ク ト リ か ら 、 create_ignore.sql ス ク リ プ ト を実行 し ます。 こ の ス ク リ プ ト は、 デー タ ベース内に SHAREPLEX_IGNORE_TRANS パブ リ ッ ク プ ロ シージ ャ を作 成 し ます。 ト ラ ンザ ク シ ョ ン開始時にプ ロ シージ ャ を実行す る と 、 ト ラ ン ザ ク シ ョ ン が コ ミ ッ ト ま たは ロ ールバ ッ ク さ れ る ま での間に発生 し た DML 操作を無視す る よ う に、 Capture プ ロ セ ス に指示が行われ ます。 し たがっ て、 影響 さ れた操作は複製 さ れません。 こ の ス ク リ プ ト お よ びプ ロ シー ジ ャ の詳細は、 432 ページ を参照 し て く だ さ い。 3 更新ま たは削除前に SHAREPLEX_IGNORE_TRANS を呼び出す よ う に、 パ ッ チ ス ク リ プ ト を編集 し ます。 こ れに よ り 、 SharePlex は ト ラ ンザ ク シ ョ ン を無視 し 、 タ ーゲ ッ ト には送信 し ません。 デー タ ベース を同期状態に戻 すために、 こ の ス ク リ プ ト は タ ーゲ ッ ト 上で も 実行す る 必要があ り ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 241 パー ト 2 : SharePlex での ト ラ ン ス フ ォ ー メ ーシ ョ ンの使用 ト ラ ン ス フ ォー メ ーシ ョ ン は、 SQL 操作を タ ーゲ ッ ト デー タ ベース に適用す る 代わ り に、 PL/SQL プ ロ シージ ャ ( ト ラ ン ス フ ォー メ ーシ ョ ン ルーチン と し て定義) を呼び出す よ う Post プ ロ セ ス に指示 し ます。 ト ラ ン ス フ ォ ー メ ー シ ョ ン では、 post す る 前に、 ま たは post す る 代わ り に、 複製デー タ を操作で き ます。 た と えば、 ソ ース テーブル と その タ ーゲ ッ ト テーブルの構造が異な っ てい る 場 合 (人の フ ァ ース ト ネーム と ラ ス ト ネーム が ソ ース テーブルでは 1 つの列に収 ま る が、 タ ーゲ ッ ト テーブルでは別々の列に分かれ る と い う よ う な場合)、 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を書いて、 複製が成功す る よ う に列に合わせ てデー タ を変換で き ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を使用す る と 、 デー タ 型、 測定単位、 ま たは文字セ ッ ト を変換で き ます。 デー タ ベース ト リ ガ の代わ り に こ のルーチン を使用す る と 、 その他の多 く の ビ ジネ ス要件に対 し て も 入出力オーバーヘ ッ ド を軽減で き ます。 テーブルに ト ラ ン ス フ ォ ー メ ーシ ョ ン を指定す る と 、 Post は複製デー タ に対 し て何 も 動作を行い ません。 その代わ り 、 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン に デー タ 値を渡 し ます。 こ れに よ り 、 デー タ の形式 と デス テ ィ ネーシ ョ ン の両方 を こ のプ ロ シージ ャ で制御で き る よ う にな り ます。 タ ーゲ ッ ト テーブルに post す る か、 ま たは別の場所に post す る か、 あ る いは両方に post で き ます。 ルー チン を書 く 場合、 posting に必要な SQL 操作を プ ロ シージ ャ に含め る 必要があ り ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ンは次の手順で実施 し ます。 • 変換す る ソ ース テーブルお よ び タ ーゲ ッ ト テーブルの構成エ ン ト リ を作成 し ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン を使用す る テーブルの特別な構成プ ロ シージ ャ はあ り ません。 ほかのテーブルの場合 と 同様に構成 し ます。 構成 の作成の詳細は、 『「SharePlex 設定の構築」 (122 ページ)』 を参照 し て く だ さ い。 • 245 ページ の指示に従っ て ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を作成 し ま す。 • 252 ページ の指示に従っ て、 transformation.SID フ ァ イ ルに こ れ ら のルーチ ン のエ ン ト リ を作成 し ます。 242 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ト ラ ン ス フ ォ ー メ ーシ ョ ン を使用する場合の考慮 事項 ト ラ ン ス フ ォ ー メ ーシ ョ ンはデー タ を変化 さ せ、 SharePlex はそのデー タ を post し ないため、 ト ラ ン ス フ ォー メ ーシ ョ ン では複製動作に変化はあ り ませ ん。 ト ラ ン ス フ ォー メ ーシ ョ ン を実施す る 前に、 次の考慮事項を確認 し ます。 サポー ト する複製シナ リ オ ト ラ ン ス フ ォ ー メ ーシ ョ ンは、 同一の構造やデー タ の維持を気にせずに、 SharePlex を用いて テーブルか ら テーブルへ と デー タ を転送す る 便利な方法で す。 こ れは、 レ ポー ト 、 デー タ 配布、 デ― タ マー ト お よ びデー タ ウ ェ アハ ウ ス アプ リ ケーシ ョ ン に と っ て実用的な も のです。 ト ラ ン ス フ ォ ー メ ーシ ョ ンは、 peer-to-peer ま たは high-availability 複製環境に は適 し てい ません。 High availability には、 複製に よ っ て同期が維持 さ れ る 同一 のデー タ ベース が必要です。 peer-to-peer 複製の場合、 SharePlex は、 同 じ 記録 にい く つかの変更が同時に加え ら れ る と き の競合を検出お よ び解決で き ます。 デー タ が変換 さ れ る 場合、 同期を確認 し て競合を検出す る 値の前後では SharePlex は比較で き ません。 high-availability 複製の詳細は、 『「高可用性およびデー タ リ カバ リ のための複製の設定」 (182 ページ)』 を参照 し て く だ さ い。 peer-to-peer 複製の詳細は、 『「ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定」 (202 ページ)』 を参照 し て く だ さ い。 サポー ト する操作 ト ラ ン ス フ ォ ー メ ーシ ョ ンは、 INSERT、 UPDATE お よ び DELETE 操作 のみ を サポー ト し ます。 それぞれのテーブルについて、 SQL 操作ご と に 1 つの ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を使用で き ます。 こ の場合、 次の選択肢が利用可 能です。 • 3 種類の操作 タ イ プすべてについて共通の 1 つのプ ロ シージ ャ を作成で き ま す。 ま たは • 操作 タ イ プご と に個別のプ ロ シージ ャ を作成で き ます。 および 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 243 • すべてのテーブルについて共通の 1 つのプ ロ シージ ャ を使用で き ます。 SharePlex では、 テーブルを指定す る のに ワ イ ル ド カー ド を使用で き ます。 ま たは • それぞれのテーブルに対 し て異な る プ ロ シージ ャ を作成で き ます。 例: テーブル scott.emp scott.emp scott.emp プ ロ シージ ャ scott.emp_tr_insert scott.emp_tr_update scott.emp_tr_delete ま たは テーブル scott スキーマのすべてのテーブル プ ロ シージ ャ scott.tr_insert scott.tr_update scott.tr_delete ま たは テーブル scott スキーマのすべてのテーブル プ ロ シージ ャ scott.tr_all ま たは テーブル scott スキーマのすべてのテーブル scott.emp プ ロ シージ ャ scott.tr_all scott.tr_insert 前述の例の scott.emp の よ う に、 個々のテーブルに対 し て ト ラ ン ス フ ォー メ ー シ ョ ンルーチン が指定 さ れ る 場合、 し か も そのテーブルが別のルーチン が指定 さ れてい る テーブルのグループの一部で も あ る 場合、 関連の DML 操作が発生 す る と 、 そのテーブルにはテーブル固有のルーチンが使用 さ れます。 こ の例で は、 scott.emp の INSERT に対 し ては scott.tr_insert のみが使用 さ れ ますが、 scott.emp に対す る UPDATE お よ び DELETE については scott.tr_all が用い ら れ ま 244 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 す。 scott スキーマ のその他のすべてのテーブルの場合、 すべての DML 文に対 し て scott.tr_all ルーチンが使用 さ れ ます。 権限 ト ラ ン ス フ ォ ー メ ーシ ョ ン を行 う ために PL/SQL を介 し て ア ク セ ス さ れ る テー ブルは、 SharePlex に対す る オブジ ェ ク ト の所有者か ら 明示的に許可 さ れた権 限を必要 と し ます。 キー ト ラ ン ス フ ォ ー メ ーシ ョ ン を使用す る すべてのテーブルには PRIMARY ま たは UNIQUE キーが必要です。 SharePlex はキーを用いて UPDATE お よ び DELETE の タ ーゲ ッ ト 行を特定 し 、 こ れに よ り UPDATE の タ ーゲ ッ ト テーブルか ら ト ラ ン ス フ ォー メ ーシ ョ ンルーチンに値を返す こ と がで き ます。 タ ーゲ ッ ト シ ス テ ム ではキーを変更 し ないで く だ さ い。 さ も ない と 、 SharePlex はルーチンに 値を渡すための行を特定で き な く な り ます。 同期 デー タ が変換 さ れ る 場合、 同期を確認す る 値の前後では SharePlex は比較で き ません。 同期を確認す る 唯一の方法は、 compare コ マ ン ド を [key] オプシ ョ ン と と も に使用す る こ と です。 こ の方法は、 同期を完全に確認す る わけではあ り ません。 こ れは ソ ース行 と 同 じ キーを用いて タ ーゲ ッ ト シ ス テ ム に行があ る か ど う か を示すため、 不明の行や余分な行を検出す る だけです。 タ ーゲ ッ ト デー タ が変換 さ れたため、 こ れは非キー列の値が ソ ース列の値 と 適切な相関関 係にあ る か ど う かは示 し ません (示す こ と がで き ません)。 し たがっ て、 [repair] コ マ ン ド に [key] オプシ ョ ン を指定 し てデー タ を再同 期す る こ と はで き ません。 勤務先の業務規則やデー タ ベース環境に基づいて独 自の再同期プ ロ シージ ャ を考案す る 必要があ り ます。 日付 SharePlex ト ラ ン ス フ ォー メ ーシ ョ ン のデフ ォ ル ト の日付フ ォ ーマ ッ ト は、 MMDDYYYY HH24MISS です。 デフ ォ ル ト の日付のテーブルはその フ ォー マ ッ ト を使用 し ますが、 そ う でない場合、 ト ラ ン ス フ ォ ー メ ーシ ョ ン ではエ 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 245 ラ ーが返 さ れ ます。 デフ ォ ル ト の日付のテーブルを作成す る 前に、 次の コ マ ン ド を使用 し て SQL*Plus の日付フ ォーマ ッ ト を変更 し ます。 SQL> ALTER SESSION SET nls_date_format = 'MMDDYYYYHH24MISS' Conflict Resolution 構成内の同 じ テーブルに対 し ては、 ト ラ ン ス フ ォ ー メ ーシ ョ ン と conflict resolution は使用で き ません。 適切な場合には、 さ ま ざ ま な テーブルに generic conflict resolution と ト ラ ン ス フ ォ ー メ ーシ ョ ン を使用で き ます。 generic conflict resolution の詳細は、 217 ページ を参照 し て く だ さ い。 ト ラ ン ス フ ォー メ ー シ ョ ン と conflict-resolution ルーチンが同 じ テーブルに存在す る 場合、 SharePlex は ト ラ ン ス フ ォー メ ーシ ョ ンルーチン を使用 し ます。 他の考慮事項 • ト ラ ン ス フ ォ ー メ ーシ ョ ンは LOB お よ び LONG 列に対す る 変更を サポー ト し ません。 • プ ロ シージ ャ にデー タ を渡す場合の処理オーバーヘ ッ ド はプ ロ シージ ャ 自 体を実行す る 処理オーバーヘ ッ ド と 組み合わ さ れ、 通常の複製お よ び posting に比べ る と 、 タ ーゲ ッ ト シ ス テ ムにおけ る パフ ォ ーマ ン ス全体を低 下 さ せます。 • PL/SQL 内の既知の問題に よ り 、 SharePlex の conflict resolution ロ ジ ッ ク は、 名前が所有者 と 同 じ テーブルに対 し て conflict resolution ルーチン を呼び出す こ と がで き ません。 Oracle 社は、 こ の問題の修復を予定 し ていない こ と を 表明 し ま し た。 詳細は、 「Oracle TAR 2577886.996」 を参照 し て く だ さ い。 こ の問題は複製には影響あ り ません。 SharePlex では、 同 じ 所有者名 と テーブ ル名を持つテーブルがサポー ト さ れ ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチ ンの作成 重要! ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチ ン を作成する前に、 そのルーチ ン を テ ス ト し て、 意図 し た と お り に機能する こ と 、 およびあるルーチ ンが別のルーチ ンに対 し て反作 用 し ない こ と を確認 し ます。 パ ラ メ ー タ お よ び sp_cr と い う パブ リ ッ ク パ ッ ケージに定義 さ れてい る レ コ ー ド と テーブルの構造を用いて、 動的な PL/SQL 手続 き 型言語で ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を書 き ます。 こ のパ ッ ケージは、 SharePlex ス キーマにお 246 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 け る ora_setup の実行中に イ ン ス ト ール さ れてい ます。 こ のパ ッ ケージは、 次 のパ ラ メ ー タ を使用 し ます。 create package sp_cr as type row_typ is record (src_host varchar2(32) ,src_ora_sid varchar2(32) ,source_rowid varchar2(20) ,target_rowid varchar2(20) ,statement_type varchar2(6) ,target_table varchar2(78) ,oracle_err number ,status number ,action number ,reporting number ); こ れら はプ ロ シージ ャ に渡 さ れる IN 変数です。 こ れら は、 プ ロ シージ ャ に 設定 さ れて、 動作を指示す る ために SharePlex に返 さ れる OUT 変数です。 type col_def_typ is record (column_name user_tab_columns.column_name%type ,datatype user_tab_columns.datatype%type ,is_key boolean ,is_changed boolean ,old_value varchar2(32764) ,new_value varchar2(32764) ,current_value varchar2(32764) ); type col_def_tabtyp is table of col_def_typ index by binary_integer; こ れは、 プ ロ シー ジ ャ に必要な情報 を捕捉する col_def_tabtyp テーブルを読み込 むのに使用する デー タ 型です。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 247 SharePlex がプ ロ シージ ャ に渡す IN 変数の説明 SharePlex が複製す る 行に変更が加え ら れ る たびに、 SharePlex は こ の識別情報 を ト ラ ン ス フ ォー メ ーシ ョ ンルーチンに渡 し ます。 src_host こ れは、 (デー タ が変更 さ れた) ソ ース シ ス テ ム の名前で す。 こ れには大文字 と 小文字の区別があ り 、 た と えば SysA と い う よ う に ソ ース シ ス テ ム と 同 じ 大文字/小文字 を用いて渡 さ れます。 指定 し た post キ ュ ーが タ ーゲ ッ ト シ ス テ ム で使用中であ る 場合、 こ の変数は、 た と えば postq1 と い う よ う に post キ ュ ー の名前で構成 さ れ ます。 src_ora_sid こ れは ソ ースデー タ ベース の ORACLE_SID です。 こ れに は大文字 と 小文字の区別があ り 、 Windows レ ジ ス ト リ ま たは V$PARAMETER テーブルの oratab フ ァ イ ル と 同 じ 大 文字/小文字を用いて渡 さ れ ます。 source_rowid こ れは ソ ース行 (デー タ が複製 さ れた行) の ROWID で す。 こ れは、 た と えば ‘123456’ と い う よ う に一重引用 符で囲まれた リ テ ラ ル と し て渡 さ れます。 target_rowid こ れは、 タ ーゲ ッ ト デー タ ベース において対応す る 行の ROWID です。 こ れは、 た と えば ‘123456’ と い う よ う に 一重引用符で囲ま れた リ テ ラ ル と し て渡 さ れ ます。 SharePlex はデー タ ベース に問い合わせて ROWID を取得 し ます。 PRIMARY キーを使用 し て も 行が見つか ら ない場 合、 値は NULL です。 statement_type こ れは、 I、 U ま たは D のいずれかの文字であ り 、 操作が INSERT 文であ る のか、 UPDATE 文であ る のか、 それ と も DELETE 文であ る のか を示 し ます。 target_table こ れは タ ーゲ ッ ト テーブルの所有者お よ び名前であ り 、 owner.table と 記述 し ます。 こ の値には大文字 と 小文字の区 別があ り 、 デー タ ベース でテーブルが指定 さ れ る 方法に 一致 し ます。 こ れは、 た と えば "scott"."emp." と い う よ う に二重引用符で囲まれて渡 さ れ ます。 oracle_err SharePlex は こ の変数については 0 の値を渡 し ます。 こ の 変数は、 conflict resolution に対 し てのみ使用 し ます。 248 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex がプ ロ シージ ャ に渡す OUT 変数の説明 こ れ ら の変数は、 (プ ロ シージ ャ が成功 し たか失敗 し たかにかかわ ら ず) プ ロ シージ ャ の結果に基づいて SharePlex の動作を指示 し ます。 status status 変数は、 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン が成功 し たか ど う か を定義 し ます。 こ のパ ラ メ ー タ については、 値を指定す る 必要があ り ます。 • 0 の値は実行に成功 し た こ と を意味 し ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン が成功す る と 、 SharePlex は Event Log にはいかな る エ ラ ー メ ッ セージ も 書 き 込みません。 post キ ュ ーの次の複製操作を読み込んで処理を継続 し ます。 • 1 の値は実行に失敗 し た こ と を意味 し ます。 • 7 の値は実行に失敗 し た こ と を意味 し 、 Post プ ロ セ ス の 停止を指示 し ます。 action action 変数は、 SharePlex が取 る 動作を定義 し ます。 こ の パ ラ メ ー タ については 0 の値を指定す る 必要があ り ます。 こ の値は、 SQL 文を post し ない よ う SharePlex に指示 し ま す。 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチンは、 ト ラ ン ス フ ォ ー メ ーシ ョ ン の結果を タ ーゲ ッ ト テーブル ま たは別の テーブルの ど ち ら かに post し ます。 こ の動作の結果は、 reporting 変数について指定す る 内容に よ っ て決ま り ます。 reporting reporting 変数は、 失敗 し た ト ラ ン ス フ ォ ー メ ーシ ョ ンの 結果を SharePlex が ど の よ う に し て報告す る 方法を決め ま す。 こ のパ ラ メ ー タ については、 値を指定す る 必要があ り ます。 • 0 の値は、 エ ラ ーを報告 し た り 、 失敗 し た SQL 文を SID_errlog.sql ロ グに書 き 込んだ り し ない よ う SharePlex に指示 し ます。 • 1 と 2 の値は、 SharePlex の内部での使用のために保持 さ れ ます。 こ れ ら の値は使用 し ないで く だ さ い。 • 3 の値は、 失敗 し た SQL 文を SID_errlog.sql ロ グに書 き 込んで、 エ ラ ーを Event Log に出力す る よ う SharePlex に指示 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 249 col_def_typ デー タ 型の説明 行のそれぞれの複製列について、 SharePlex は col_def_tabtyp テーブルに次の情 報を示 し ます。 column_name こ れは、 た と えば emp_last_name と い う よ う に、 ソ ース テーブルか ら 複製 さ れた列の名前を プ ロ シージ ャ に伝え ます。 こ の値には、 大文字 と 小文字の区別はあ り ません。 デー タ 型 こ れは、 た と えば VARCHAR2 と い う よ う に、 複製 さ れた 列のデー タ のデー タ 型を プ ロ シージ ャ に伝え ます。 こ の 値は常に大文字です。 is_key こ れは、 列がキー列であ る か ど う か を プ ロ シージ ャ に伝 え ます。 キー列であ る 場合、 SharePlex は TRUE の値を渡 し ます。 キー列でなければ、 SharePlex は FALSE の値を渡 し ます。 is_changed こ れは、 列の値が変更 さ れたか ど う か を プ ロ シージ ャ に 伝え ます。 値が変更 さ れてい る 場合、 SharePlex は TRUE の値を渡 し ます。 変更 さ れていなければ、 SharePlex は FALSE の値を渡 し ます。 INSERT の場合、 デー タ ベース には列が存在 し ないため、 is_changed は非 NULL の値に対 し て TRUE です。 NULL の値が挿入 さ れ る と 、 is_changed は FALSE にな り ます。 UPDATE の場合、 is_changed は非キー列に対 し て TRUE です。 キー列の場合、 一般的にはキーは変化 し ないため、 is_changed は通常は FALSE です。 ただ し 、 SharePlex は変 更 さ れた キー列の値を渡す こ と にな っ てい ます が、 タ ー ゲ ッ ト シ ス テ ムにおいてそのキーの値 も 変更 さ れた場合、 SharePlex は正 し い行を特定で き ず、 非同期エ ラ ーが発生 し ます。 DELETE の場合、 SharePlex は DELETE 文のキーの値のみ を複製す る ため、 is_changed は常に FALSE です。 old_value こ れは、 複製 し た列の古い値が ソ ース シ ス テ ム で変更 さ れ る 前にその値を プ ロ シージ ャ に伝え ます。 タ ーゲ ッ ト デー タ ベース に行が存在 し なか っ たため、 こ の列は INSERT に対 し て NULL です。 250 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 new_value こ れは、 複製 し た列の新 し い値が ソ ース シ ス テ ム で変更 さ れ る 時にその値を プ ロ シージ ャ に伝え ます。 current_value こ れは、 タ ーゲ ッ ト テーブルの列の現在の値を プ ロ シー ジ ャ に伝え ます。 SharePlex が タ ーゲ ッ ト 行を特定で き な い場合、 値は NULL です。 col_def_tabtyp テーブルの利用可能な エ ン ト リ SharePlex は、 複製 し た操作ご と に col_def_tabtyp PL/SQL テーブルを作成 し ま す。 SharePlex が行を特定で き ない場合、 すべての フ ィ ール ド が値を備え てい る わけではないに も かかわ ら ず、 SharePlex はルーチン にすべての フ ィ ール ド を渡 し ます。 次のテーブルは、 操作のそれぞれの タ イ プについて起 り 得 る 結果 を示 し てい ます。 INSERT 文の場合 column_name is_changed old_value new_value current_value is_key C1 TRUE NULL bind NULL FALSE C2 TRUE NULL bind NULL TRUE C3 FALSE NULL NULL NULL TRUE | FALSE 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 251 UPDATE 文の場合 column_name is_changed old_ value new_value current_value* is_key C1 TRUE bind bind NULL | target value FALSE C2 FALSE bind NULL NULL | target value TRUE C3 TRUE bind bind NULL | target value TRUE * UPDATE の場合、 ト ラ ン ス フ ォ ー メ ーシ ョ ン のためにプ リ イ メ ージ が異な っ てい る ので、 PRIMARY キー と プ リ イ メ ージ を使用 し て も SharePlex は行を特定で き ません。 別の方法 と し て、 PRIMARY キー のみを使用 し て行を検索 し ます。 行が見つか っ た場合、 SharePlex は、 変更 さ れた列だけでな く キー列について も 現在の値を返 し ます。 PRIMARY キーのみを使用 し て行が特定で き ない場合、 current_value は NULL です。 DELETE 文の場合 column_name is_changed old_value new_value current_value is_key C1 FALSE bind NULL NULL TRUE ト ラ ン ス フ ォ ー メ ーシ ョ ン プ ロ シージ ャ イ ン タ ー フ ェ イ スの作成 プ ロ シージ ャ は次の イ ン タ ーフ ェ イ ス を使用 し ます。 テ ン プ レ ー ト 22: CREATE/REPLACE PROCEDURE パラ メ ー タ 宣言 (table_info in out splex.sp_cr.row_typ, col_values in splex.sp_cr.col_def_tabtyp) 重要! 「splex」 は SharePlex Oracle ユーザーに置き換え ます。 252 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 transformation.SID フ ァ イルのエ ン ト リ の作成 posting SQL 操作の代わ り に ト ラ ン ス フ ォー メ ーシ ョ ンルーチン を呼び出す よ う SharePlex に指示す る には、 transformation.SID フ ァ イ ルを使用 し ます。 こ の 場合、 SID は タ ーゲ ッ ト デー タ ベース の ORACLE_SID です。 SQL 操作を実行 す る 前に、 Post は こ の フ ァ イ ルを読み込んで、 呼び出す ト ラ ン ス フ ォー メ ー シ ョ ンルーチンがあ る か ど う か を判断 し ます。 通常、 こ の フ ァ イ ルは、 SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に イ ン ス ト ール さ れ ます。 こ の フ ァ イ ルが存在 し ない場合は、 ASCII テ キ ス ト エデ ィ タ を用いて ASCII フ ォ ーマ ッ ト で作成 し ます。 フ ァ イ ルには transformation.SID と い う 名前を付け ます。 こ の場合、 SID は、 oratab フ ァ イ ル ま たは Windows レ ジ ス ト リ に示 さ れてい る よ う な、 タ ーゲ ッ ト イ ン タ ーフ ェ イ ス の ORACLE_SID です。 SID には大文字 と 小文字の区別があ り 、 こ れ ら の ロ ケーシ ョ ンに表示 さ れてい る 大文字/小文字に一致す る 必要があ り ます。 た と えば、 SID が oratab フ ァ イ ル ま たは レ ジ ス ト リ では ORCL8 の場合、 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ルの名前に orcl8 と は表示で き ません。 こ の フ ァ イ ルの名前は変更 し ないで く だ さ い。 さ も ない と 、 SharePlex は ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を呼び出 し ません。 重要! transformation.SID フ ァ イルは、 ア ク テ ィ ブ な設定ご と に 1 つだけです。 それぞれの ト ラ ン ス フ ォー メ ーシ ョ ンルーチンについて、 ト ラ ン ス フ ォ ー メ ー シ ョ ン フ ァ イ ルに 1 行を作成 し ます。 手順に従っ て こ の フ ァ イ ルを作成す る 場 合は、 次のテ ンプ レー ト を参照 し て く だ さ い。 テ ン プ レ ー ト 23: transformation.SID フ ァ イルの ト ラ ン ス フ ォ ー メ ーシ ョ ン エン ト リ like:owner.%\_string I | U | D | IUD owner.procedure_name 1 デ ィ レ ク ト リ を SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に変更 し ます ÅB 2 transformation.SID フ ァ イ ルを vi テ キ ス ト エデ ィ タ (UNIX) ま たは WordPad (Windows) の ど ち ら かで開 き ます。 3 [OPTIONAL] コ メ ン ト ラ イ ン を入力 し て フ ァ イ ルを確認す る か ま たは別の情報を 表示で き ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を 無効に し 、 行末で Enter キーを押 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 253 4 タ ーゲ ッ ト テーブルを指定 し ます。 ルーチンに対 し て個別の タ ーゲ ッ ト を 指定で き ます。 所有者 と 名前を ド ッ ト (.) で区切っ て スペース を含めずに 入力 し ます。 ま たは テ ン プ レー ト 23 お よ び次の例にに示 さ れてい る よ う に、 検索文字列を用い て複数のテーブルを指定す る のに、 LIKE 演算子 と SQL ワ イ ル ド カー ド (%) を使用で き ます。 1 文字の ワ イ ル ド カー ド を表すには、 ア ン ダー ラ イ ン (_) を使用で き ます。 ア ン ダー ラ イ ン を含んでい る テーブル名の場合 (た と えば emp_sal)、 SharePlex は、 バ ッ ク ス ラ ッ シ ュ (\) については、 ア ン ダー ラ イ ン を ワ イ ル ド カー ド ではな く リ テ ラ ル と し て表すエ ス ケープ文字 と し て認識 し ます。 例: like:scott.%\_corp\_emp scott.emp 注 : LIKE 演算子を使用 し ていない場合は、 ア ン ダー ラ イ ン を含んでいる テーブル名を 使用する と き にバ ッ ク ス ラ ッ シ ュ エスケープ文字を指定する必要があ り ます。 こ のエ ン ト リ の後で、 Enter キーを押 さ ないで く だ さ い。 2 番目の列を作成 す る 場合は、 最低 1 つの スペース ま たは タ ブ を入力 し て く だ さ い。 5 操作 タ イ プ を指定 し ます。 すべての タ イ プの SQL 文に対 し てプ ロ シージ ャ を書いた ら 、 文字列 「IUD」 を入力 し ます。 プ ロ シージ ャ が操作固有の場合 は、 「I」、 「U」 ま たは、 「D」 のいずれか を入力 し ます。 Enter キーを押 し て はいけ ません。 6 3 番目の列を作成す る ために、 少な く と も スペース ま たは タ ブ を入力 し ま す。 7 プ ロ シージ ャ を指定 し ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン の所有者 と 名前を ド ッ ト (.) で区切っ て入力 し ます。 各項目の間には スペース を入れ ません。 例 : scott.emp_tr 入力が完了 し た行は次の例の よ う にな り ます。 like:scott.%\_corp\_emp IUD scott.emp_tr 254 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ま たは scott.emp U scott.emp_tr_u ま たは like:scott.%\_corp\_emp U scott.emp_tr_u 8 新 し い行を作成 し 、 ト ラ ン ス フ ォ ー メ ーシ ョ ンルーチン を追加す る たびに 4 か ら 7 の ス テ ッ プ を繰 り 返 し ます。 9 conflict resolution フ ァ イ ルの作成を終え た ら 、 vi では :wq コ マ ン ド を、 WordPad では [ フ ァ イル] メ ニ ュ ーの [保存] を使用 し て フ ァ イ ルを保存 し 、 閉 じ ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イルの変更 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ルは複製中にいつで も 変更 し て、 テーブルや プ ロ シージ ャ を追加 し た り 削除 し た り で き ます。 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ルを変更す る 場合は、 解決方法のキ ャ ッ シ ュ を更新で き る よ う に、 Post プ ロ セ ス をい っ たん停止 し て再起動 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 255 パー ト 3 : 環境変数の設定 こ こ では、 SharePlex を カ ス タ マ イ ズす る 場合の環境関連の側面を解説 し ます。 SP_SYS_VARDIR 環境変数の設定 SP_SYS_VARDIR 環境変数は、 sp_cop が構成デー タ 、 キ ュ ー、 ロ グお よ びそ の他の情報を特定で き る よ う に、 SharePlex 変数デー タ デ ィ レ ク ト リ を指 し 示 し ます。 通常の方法でマシ ン に イ ン ス ト ール し た SharePlex の イ ン ス タ ン ス が 1 つ し かない場合は、 こ の変数を設定す る 必要はあ り ません。 UNIX シ ス テ ム で、 proddir/data/defaults.yaml フ ァ イ ルは sp_cop に変数デー タ デ ィ レ ク ト リ を 指示 し ます。 Windows シ ス テ ム では、 変数デー タ デ ィ レ ク ト リ は レ ジ ス ト リ の SharePlex エ ン ト リ に設定 さ れてい ます。 SP_SYS_VARDIR は、 SharePlex プ ロ シージ ャ で指示 さ れてい る 場合に設定 し ます。 た と えば、 複数の変数デー タ デ ィ レ ク ト リ を必要 と す る sp_cop の複数 の イ ン ス タ ン ス を複製構成が使用す る 場合に用い ら れ ます。 こ れは、 SharePlex が高可用性 ク ラ ス タ 内に イ ン ス ト ール さ れてい る 場合に も 使用 し ます。 SP_SYS_VARDIR 環境変数を設定する には ksh シ ェ ルの場合 : export SP_SYS_VARDIR= /variable-data directory の フ ルパス名 csh シ ェ ルの場合 : setenv SP_SYS_VARDIR /variable-data directory の フ ルパス名 SharePlex マー カ ー フ ァ イルの詳細は、 『「SharePlex デ ィ レ ク ト リ 」 (15 ページ)』 を 参照 し て く だ さ い。 ク ラ ス タ 化 さ れたシ ス テムでの SharePlex の詳細は、 『SharePlex イ ン ス ト ールおよびデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 256 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 sp_cop の代替ポー ト の設定 SharePlex の TCP と UDP のデフ ォ ル ト のポー ト 番号は、 イ ン ス ト ール時に ど ち ら も 2100 に設定 さ れ ます。 2100 以外のポー ト 番号を使用す る 必要がない限 り 、 ポー ト を変更 し ないで く だ さ い。 ポー ト 番号を選択す る 前に、 次の点を確 認 し ます。 • Oracle バージ ョ ン 9.2.x を使用 し てい る 場合、 Oracle は XML デーモ ン につ いてポー ト 2100 を使用す る ため、 SharePlex のポー ト 番号を変更す る 必要が あ り ます。 • シ ス テ ム上で sp_cop の複数の イ ン ス タ ン ス を実行 し てい る 場合は、 代替 ポー ト 番号が使用 さ れ ます。 それぞれの イ ン ス タ ン ス は、 一意の変数デー タ デ ィ レ ク ト リ と ポー ト 番号を備え てい ます。 sp_cop の複数の イ ン ス タ ン ス の実行に関す る 詳細は、 45 ページ を参照 し て く だ さ い。 • 代替ポー ト が必要な場合、 TCP お よ び UDP ポー ト に同 じ 番号を使用す る 必 要があ り 、 ま た、 複製に関連す る その他のすべてのマシ ン上の関連 sp_cop イ ン ス タ ン ス の TCP お よ び UDP ポー ト に も 使用す る 必要があ り ます。 sp_cop プ ロ セ ス は TCP お よ び UDP ポー ト のそれぞれのシ ス テ ム上で ネ ッ ト ワ ー ク 内の他のシ ス テ ム上の SharePlex プ ロ セ ス か ら の通信、 た と えば、 コ マ ン ド ま たは Export プ ロ セ ス と Import プ ロ セ ス間のや り と り な ど を待ち ます。 ポー ト が異な っ てい る 場合、 あ る シ ス テ ム上の sp_cop は、 別のシ ス テ ム上の sp_cop に接続 し て メ ッ セージの送信や受信がで き ません。 • Windows プ ラ ッ ト フ ォーム では、 SharePlex は、 1 シ ス テ ムに最大 64 個の ポー ト 番号 (SharePlex イ ン ス タ ン ス) を許可 し ます。 UNIX シ ス テムで SharePlex ポー ト を設定する には ポー ト 番号を設定す る には、 SharePlex の管理者は TCP と UDP の両方のポー ト パ ラ メ ー タ を paramdb フ ァ イ ルに設定す る 必要があ り ます。 ア ク テ ィ ブな設 定があ る 場合、 ポー ト 番号を設定す る ために、 ソ ース オブジ ェ ク ト へのア ク セ ス を停止 し て sp_cop を シ ャ ッ ト ダ ウ ンす る よ う 指示 さ れ ます。 1 [複数の変数デー タ デ ィ レ ク ト リ を使用 し てい る場合のみ] SP_SYS_VARDIR を export し て、 設定す る ポー ト の変数デー タ デ ィ レ ク ト リ を指 し 示 し ます。 手 順の詳細は、 255 ページ を参照 し て く だ さ い。 2 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で次の環境変数を export し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 257 ksh シ ェ ルの場合 : $ export SP_COP_TPORT=portnumber $ export SP_COP_UPORT=portnumber portnumber は、 新 し いポー ト 番号です。 csh シ ェ ルの場合 : $ setenv SP_COP_TPORT portnumber $ setenv SP_COP_UPORT portnumber portnumber は、 新 し いポー ト 番号です。 3 デ ィ レ ク ト リ を SharePlex 製品デ ィ レ ク ト リ に変更 し 、 ソ ースお よ び タ ー ゲ ッ ト シ ス テ ム で sp_cop と sp_ctrl を起動 し ます。 複数の変数デー タ デ ィ レ ク ト リ を使用 し てい る 場合は、 -uportnumber オプシ ョ ン で sp_cop を起動 し ます。 こ の場合、 portnumber は設定す る ポー ト 番号です。 $ cd /SharePlex_product_dir/bin $ ./sp_cop -uportnumber & $ ./sp_ctrl 4 sp_ctrl プ ロ ン プ ト に対 し 、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で次のパ ラ メ ー タ を設定 し ます。 sp_ctrl> set param SP_COP_TPORT portnumber sp_ctrl> set param SP_COP_UPORT portnumber 5 次の 2 つの ど ち ら か を行い ます。 • ア ク テ ィ ブな設定がない場合は、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で sp_cop を シ ャ ッ ト ダ ウ ン し ます。 次に sp_cop を起動す る と 、 新 し い ポー ト 番号が有効にな り ます。 こ れで、 ポー ト 番号の設定が終了 し ます。 sp_ctrl> shutdown ま たは • ア ク テ ィ ブな設定があ る 場合は、 ソ ース シ ス テ ム の複製オブジ ェ ク ト へ のア ク セ ス を停止 し 、 ソ ース シ ス テ ムの sp_ctrl で flush コ マ ン ド を発行 し て キ ュ ーを ク リ ア し ます。 次の構文中の datasource は、 o. の後に ソ ース 258 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 手順の残 り の部分に進みます。 sp_ctrl(sysA)> flush datasource 6 [ア ク テ ィ ブ な設定のみ] ソ ース シ ス テ ム で qstatus コ マ ン ド を発行 し て、 す べての メ ッ セージが タ ーゲ ッ ト シ ス テ ムに届いた こ と を確認 し ます。 export キ ュ ーが空にな る ま で コ マ ン ド を発行 し 続け ます。 sp_ctrl> qstatus 7 [ア ク テ ィ ブ な設定のみ] タ ーゲ ッ ト シ ス テ ム で qstatus コ マ ン ド を発行 し て、 すべての メ ッ セージがデー タ ベース に post さ れた こ と を確認 し ます。 post キ ュ ーが空にな る ま で コ マ ン ド を発行 し 続け ます。 sp_ctrl> qstatus 8 [ア ク テ ィ ブ な設定のみ] タ ーゲ ッ ト シ ス テ ム で status コ マ ン ド を発行 し 、 Post が停止 し た こ と を確認 し ます。 sp_ctrl> status 9 [ア ク テ ィ ブ な設定のみ] ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl> shutdown 10 [ア ク テ ィ ブ な設定のみ] ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で sp_cop を起動 し ます。 新 し いポー ト が有効にな り ます。 $ cd /SharePlex_product_dir/bin $ ./sp_cop & 11 [ア ク テ ィ ブ な設定のみ] タ ーゲ ッ ト シ ス テ ム で Post プ ロ セ ス を開始 し ます。 sp_ctrl(sysB)> start post 12 ア ク テ ィ ブ な設定のみ] 複製オブジ ェ ク ト へのユーザーア ク セ ス を許可 し ま す。 13 [ア ク テ ィ ブ な設定のみ] ソ ースお よ び タ ーゲ ッ ト シ ス テ ム上のすべての SharePlex プ ロ セ ス が実行 し てい る こ と を確認 し ます。 sp_ctrl> status 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 259 Windows シ ス テムで SharePlex ポー ト を設定するには SharePlex のデフ ォ ル ト のポー ト 番号は 2100 ですが、 SharePlex を イ ン ス ト ール し て、 集約レ プ リ ケーシ ョ ン な ど特定の複製構成に対 し て複数のサービ ス を作 成 し た場合、 複数のポー ト 番号が設定 さ れ る こ と があ り ます。 SharePlex の ポー ト 番号は Windows レ ジ ス ト リ に格納 さ れ ます。 ポー ト 番号を変更す る 必 要が生 じ た場合、 ポー ト 番号は次の SharePlex エ ン ト リ ロ ケーシ ョ ンに格納 さ れてい ます。 \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex 警告!レ ジ ス ト リ および Windows プ ラ ッ ト フ ォ ームの機能に詳 し く ない場合は、 レ ジ ス ト リ エ ン ト リ を追加、 変更、 または削除 し ないで く だ さ い。 レ ジス ト リ 設定を誤っ て 変更 し た場合は、 ソ フ ト ウ ェ ア またはシ ス テム自体の運用に悪影響を及ぼす こ と があ り ます。 レ ジ ス ト リ について詳 し く ない場合は、 シス テム管理者に相談 し て く だ さ い。 ポー ト 番号を変更する には 1 シ ス テ ムパ ス ワー ド と ユーザー名を使用 し て SharePlex Administrator と し て Windows に ロ グオ ン し ます。 ユーザー名は、 SharePlex Admin ユーザーグ ループに割 り 当て ら れてい る 必要があ り ます。 2 SpUtils デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 [SharePlex Utilities] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 3 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 260 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 [Port] リ ス ト ボ ッ ク ス で、 変更す る ポー ト の SharePlex の イ ン ス タ ン ス のた めのポー ト 番号を選択 し ます。 5 [SharePlex Service Status] で、 [Stop] を ク リ ッ ク し ます。 6 [Close] を ク リ ッ ク し て、 [SharePlex Utilities] ダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 7 [ ス タ ー ト ] メ ニ ュ ーか ら 、 [ フ ァ イル名を指定 し て実行] を選択 し ます。 8 [ フ ァ イル名を指定 し て実行] ダ イ ア ロ グボ ッ ク ス で、 「regedit」 を入力 し て レ ジ ス ト リ エデ ィ タ を開 き ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 261 9 レ ジ ス ト リ エデ ィ タ で、 \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex の下のポー ト の フ ォ ルダ名を右 ク リ ッ ク し 、 [名前の変 更] を選択 し ます。 こ れに よ り 、 ポー ト 番号が強調表示 さ れ ます。 10 強調表示 さ れたポー ト 番号を新 し い番号に置 き 換え ます。 11 デフ ォ ル ト では、 変数デー タ デ ィ レ ク ト リ の レ ジ ス ト リ エ ン ト リ はポー ト 番号を含んでお り 、 新 し い番号を反映す る よ う に変更す る 必要があ り ます。 新 し いポー ト 番号の レ ジ ス ト リ フ ォ ルダ を ク リ ッ ク し て強調表示 し ます。 12 右 ウ ィ ン ド ウ 枠の [名前] の下の、 新 し いポー ト 番号に関連す る SP_SYS_VARDIR エ ン ト リ を右 ク リ ッ ク し 、 [修正] を選択 し ます。 262 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 13 [文字列の編集] ダ イ ア ロ グボ ッ ク ス で、 新 し いポー ト 番号へのパ ス において ポー ト 番号を変更 し 、 [OK] を ク リ ッ ク し て レ ジ ス ト リ エデ ィ タ に戻 り ま す。 14 レ ジ ス ト リ エデ ィ タ を終了 し ます。 15 SharePlex 製品デ ィ レ ク ト リ に移動 し 、 新 し いポー ト 番号を反映す る よ う に 変数デー タ デ ィ レ ク ト リ の名前を変更 し ます。 16 [SpUtils] デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し て [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス を も う 一度開 き ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 263 17 [Port] リ ス ト ボ ッ ク ス で、 作成 し たポー ト 番号を選択 し ます。 18 [SharePlex Service Status] で、 [Install] を ク リ ッ ク し てそのポー ト の SharePlex サービ ス を確立 し ます。 19 サービ ス が イ ン ス ト ール さ れ る と い う 旨の メ ッ セージが [Current State] テ キ ス ト ボ ッ ク ス に表示 さ れた ら 、 [Start] を ク リ ッ ク し てサービ ス を開始 し ます。 20 [Close] を ク リ ッ ク し て、 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス を閉 じ ます。 sp_ctrl のデ フ ォル ト ポー ト の設定 Windows シ ス テ ム では、 起動時にポー ト に自動的に接続す る よ う に、 sp_ctrl プ ロ セ ス のデフ ォ ル ト のポー ト 番号を設定で き ます。 こ れは、 同 じ シ ス テ ム上 に SharePlex の複数の イ ン ス タ ン ス があ る 場合に役立ち ます。 sp_ctrl が開始 さ れた後に port コ マ ン ド を使用 し て、 SharePlex イ ン ス タ ン ス に接続す る こ と が 264 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 で き ます。 デフ ォ ル ト のポー ト 番号を設定 し なか っ た場合は、 sp_ctrl に よ り 、 最 も 小 さ いポー ト 番号を使用 し て SharePlex に接続 さ れます。 sp_ctrl のデ フ ォル ト のポー ト を設定するには 1 [ス タ ー ト ] メ ニ ュ ーか ら [ フ ァ イル名を指定 し て実行] を ク リ ッ ク し ます。 2 [ フ ァ イル名を指定 し て実行] ダ イ ア ロ グボ ッ ク ス に 「regedit」 を入力 し 、 [OK] を ク リ ッ ク し て レ ジ ス ト リ エデ ィ タ を実行 し ます。 3 [マ イ コ ン ピ ュ ー タ ] か ら 、 \HKEY_LOCAL_MACHINE\SOFTWARE\Quest Software\SharePlex の SharePlex ま で ド リ ルダ ウ ン し ます。 4 [SharePlex] ノ ー ド を ク リ ッ ク し ます。 5 右 ウ ィ ン ド ウ 枠の [名前] 欄で [DefaultPort] を右 ク リ ッ ク し 、 [修正] を選 択 し て [文字列の編集] ダ イ ア ロ グボ ッ ク ス を開 き ます。 6 [値のデー タ ] テ キ ス ト ボ ッ ク ス にデフ ォ ル ト と し て使用 さ れ る ポー ト 番号 を入力 し 、 [OK] を ク リ ッ ク し ます。 7 レ ジ ス ト リ エデ ィ タ を終了 し ます。 代替エデ ィ タ の定義 create config ま たは edit config コ マ ン ド を発行 し て SharePlex 構成を作成ま た は変更す る 場合、 こ の コ マ ン ド はデフ ォ ル ト のテ キ ス ト エデ ィ タ を起動 し ま す。 vi は汎用の ASCII エデ ィ であ る ため、 UNIX シ ス テ ム での イ ン ス ト ール 中、 テ キ ス ト エデ ィ タ は こ れに設定 さ れ ます。 Windows シ ス テ ム では、 テ キ ス ト エデ ィ タ は WordPad に設定 さ れ、 WordPad で sp_ctrl を介 し て作成 さ れ る フ ァ イ ルは ASCII テ キ ス ト フ ォ ーマ ッ ト で保存 さ れ ます。 デフ ォ ル ト のエデ ィ タ を使用す る こ と をお勧め し ます。 SharePlex は ASCII フ ォーマ ッ ト の構成フ ァ イ ルを読み込み、 sp_ctrl は こ のデフ ォ ル ト エデ ィ タ を使用す る よ う に構成 さ れ ます。 エデ ィ タ を変更す る 必要があ る 場合は、 次の ガ イ ド ラ イ ンに従い ます。 • UNIX シ ス テ ム では、 新 し いエデ ィ タ を ASCII テ キ ス ト エデ ィ タ にす る 必要 があ り ます。 • Windows シ ス テ ム では、 NotePad が ASCII エデ ィ タ なので、 WordPad の代わ り に NotePad を使用で き ます。 た と え フ ァ イ ルを テ キ ス ト フ ォ ーマ ッ ト で 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 265 保存す る 場合で も 、 Microsoft Wor な ど の よ う な ワー ド プ ロ セ ッ サは使用 し ないで く だ さ い。 設定のア ク テ ィ ベー ト に失敗 し ます。 UNIX シス テムで エデ ィ タ を変更するには さ ま ざ ま な ASCII テ キ ス ト エデ ィ タ を UNIX シ ス テ ム上で SharePlex のデフ ォ ル ト と し て設定す る には、 次の 2 つの方法の ど ち ら かでそのエデ ィ タ を EDITOR 変数に よ り 定義 し ます。 • sp_ctrl を実行す る たびに EDITOR 変数を設定す る には、 sp_ctrl を開始す る 前に UNIX プ ロ ン プ ト で適切な コ マ ン ド を入力 し ます。 • EDITOR 変数を永久的に設定す る には、 それぞれのマシ ン のシ ェ ル ス タ ー ト ア ッ プ ス ク リ プ ト で適切な コ マ ン ド を入力 し ます。 ksh シ ェ ルの構文 export EDITOR= 新 し いテキス ト エデ ィ タ の名前 csh シ ェ ルの構文 setenv EDITOR= 新 し いテキス ト エデ ィ タ の名前 Windows シ ス テムで エデ ィ タ を変更するには Windows シ ス テ ム で SharePlex のテ キ ス ト エデ ィ タ を変更す る には、 レ ジ ス ト リ を介 し て作業 し ます。 レ ジ ス ト リ エ ン ト リ を変更す る 手順は、 281 ページ に あ り ます。 266 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 4 : SharePlex でのセキ ュ リ テ ィ の 使用 こ こ では、 SharePlex で安全対策を採用す る 方法を解説 し ます。 ホス ト 認証によ る安全性の向上 SharePlex は、 別のシ ス テ ム の SharePlex プ ロ セ ス がサービ スや コ マ ン ド の要求 のために ロ ーカルシ ス テ ムに接続す る のを許可 さ れ る か ど う か を確認す る ホ ス ト 認証セキ ュ リ テ ィ を提供 し ます。 ホ ス ト 認証を実装す る には、 SharePlex 変 数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に auth_hosts と い う 名前の ASCII テ キ ス ト フ ァ イ ルを作成 し 、 接続許可を付与 さ れてい る シ ス テ ムの名前 を その フ ァ イ ルに書 き 込みます。 auth_hosts フ ァ イルの使用要件 • こ の フ ァ イ ルを使用す る には、 auth_hosts と い う 名前で SharePlex の SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ に保存す る 必要 があ り ます。 SharePlex 製品デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ には保存 し ないで く だ さ い。 • auth_hosts フ ァ イ ルはオプシ ョ ン ですが、 シ ス テ ム に存在 し てい る 場合は、 有効なエ ン ト リ を含んでい る 必要があ り ます。 auth_hosts フ ァ イ ルが存在 し ていて も エ ン ト リ を含んでいない場合、 あ る いは不正なエ ン ト リ を含ん でい る 場合、 SharePlex は Event Log に次の例の よ う な メ ッ セージ を送出 し ます。 unauthorized connection attempt • auth_hosts がシ ス テ ム に存在 し ない場合、 sp_cop への接続を試み る すべて のシ ス テ ム か ら のあ ら ゆ る 要求を SharePlex は受け入れ ます。 • ロ ーカルシ ス テ ムの名前は こ の フ ァ イ ルに記載 さ れてい る 必要があ り 、 さ も なければホ ス ト 認証は機能 し ません。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 267 ホス ト 認証を実装するには 1 vi (UNIX)、 NotePad (Windows)、 あ る いは WordPad (Windows) な ど の ASCII テ キ ス ト エデ ィ タ を起動 し て空白の フ ァ イ ルを開 き ます。 UNIX テ キ ス ト エデ ィ タ を使用す る 場合は、 エデ ィ タ を起動す る 前に SharePlex 変数 デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ にデ ィ レ ク ト リ を変更 し ます。 2 [UNIX のみ] i キーを押 し て vi のテ キ ス ト 入力モー ド に入 り ます。 3 [オ プ シ ョ ン] 何行かの コ メ ン ト が含まれてい る 場合があ り ます。 コ メ ン ト の先頭にはパ ウ ン ド (#) 記号を付けて コ メ ン ト を無効に し ます。 コ メ ン ト の行末で Enter キーを押 し ます。 4 最初の非 コ メ ン ト 行に、 ロ ーカルシ ス テ ム の フルマシ ン名を入力 し ます。 LocalSys.xyzcompany.com 5 Enter キーを押 し て新 し い行を作成 し ます。 6 次の 2 つの ど ち ら か を行い ます。 要求を出すすべてのシ ス テ ム に対 し て ロ ーカルマシ ン での接続許可を付与 す る には、 「all」 と 入力 し て 9 に進みます。 all ま たは 特定のシ ス テ ム要求に対 し て ロ ーカルシ ス テ ム での接続許可を付与す る に は、 接続を許可す る 最初のシ ス テ ム の フルホ ス ト 名を入力 し ます。 system1.xyzcompany.com 7 Enter キーを押 し て新 し い行を作成 し ます。 8 許可を与え る シ ス テ ム を追加す る たびに、 フ ァ イ ル内で新 し い行を作成 し てその フルネーム を入力 し ます。 それぞれの行末で Enter キーを押 し ます。 作業を終え た フ ァ イ ルの例。 LocalSys.xyzcompany.com system1.xyzcompany.com system2.xyzcompany.com 268 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 9 フ ァ イ ルの編集を終え た ら 、 次の 2 つの方法の ど ち ら かで フ ァ イ ルを保存 し ます。 vi で保存する には 1 Esc キーを押 し てテ キ ス ト 入力モー ド を終了 し ます。 2 「:w auth_hosts」 と 入力 し 、 Enter キーを押 し ます。 3 「:q!」 と 入力 し 、 Enter キーを押 し て コ マ ン ド ラ イ ンに戻 り ます。 Windows テキス ト エデ ィ タ で保存する には 1 [ フ ァ イル] メ ニ ュ ーを ク リ ッ ク し 、 次に [保存] を ク リ ッ ク し ます。 2 [保存先] フ ィ ール ド に SharePlex 変数デー タ デ ィ レ ク ト リ の data サブ デ ィ レ ク ト リ の フルパ ス名を入力す る か、 あ る いは標準的な Windows 方式を使用 し てそのデ ィ レ ク ト リ に移動 し ます。 3 [保存] を ク リ ッ ク し ます。 デー タ 暗号化 と SharePlex SharePlex は SSH ® Secure ShellTM ユーテ ィ リ テ ィ を使用 し て、 安全な リ モー ト ロ グ イ ン な ど のネ ッ ト ワー ク サービ スや安全ではないネ ッ ト ワー ク のその他の サービ ス に暗号化機能を提供 し ます。 SharePlex で SSH を利用す る 場合は、 SSH 構成において ロー カルポー ト フ ォ ワーデ ィ ン グ ( ト ン ネ リ ン グ と も 呼ばれ る ) を使用す る 必要があ り ます。 ポー ト フ ォ ワーデ ィ ン グに よ り 、 安全な SSH セ ッ シ ョ ン を確立 し 、 そのセ ッ シ ョ ン を介 し て TCP 接続を行 う こ と がで き ます。 ト ン ネルを使用す る ク ラ イ ア ン ト サーバアプ リ ケーシ ョ ンは、 暗号化 さ れた ト ン ネルを使用 し ない場合 と 同 じ 方法で専用の認証手順を提供 し ます。 次の図は、 ど の よ う に し て ソ ース マ シ ン のデー タ が複製 さ れて、 暗号化 ト ン ネルを介 し て タ ーゲ ッ ト マシ ン に送 ら れ る か を示 し てい ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 269 注 : SSH は SharePlex には含まれていないため、 別途購入する必要があ り ます。 SharePlex と SSH の構成 SharePlex は、 ソ ース シ ス テ ム と 1 つの タ ーゲ ッ ト シ ス テ ム の間で SSH (Secure Shell) ソ フ ト ウ ェ ア と 併用す る よ う に構成で き ます。 SharePlex と SSH を併用す る には、 次のパ ラ メ ー タ を以下の よ う に設定 し ます。 • SP_XPT_USE_LOCALHOST - SharePlex Export プ ロ セ ス は、 TCP 接続を行 う 前に こ のパ ラ メ ー タ を読み取 り ます。 パ ラ メ ー タ が有効な場合、 Export プ ロ セ ス は、 タ ーゲ ッ ト シ ス テ ムに直接接続す る 代わ り に ト ン ネルポー ト 番 号を介 し て ロ ーカルホ ス ト に接続 し ます。 • SP_XPT_PORT_OVERRIDE - こ のパ ラ メ ー タ は、 ト ン ネルポー ト 番号を設定 し ます。 こ のポー ト は、 デフ ォ ル ト の SharePlex ポー ト に優先 し ます。 SharePlex で SSH ポー ト を使用で き る よ う に設定するには 1 ソ ース お よ び タ ーゲ ッ ト シ ス テ ム において、 次の手順で ト ン ネルポー ト と し て利用可能な ロ ーカルポー ト を選択 し ます。 両方のシ ス テ ム で同 じ ポー ト を使用で き ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合、 ど ち ら のシ ス テ ム に対 し て も 同 じ ポー ト を選択 し ます。 • 単方向レ プ リ ケーシ ョ ンの場合、 ソ ース シ ス テ ム が SSH を使用 し て接続 す る それぞれの タ ーゲ ッ ト シ ス テ ム について異な る ロ ーカルポー ト を選 択 し ます。 こ れ ら のポー ト の 1 つは、 ソ ース シ ス テ ム で SharePlex が使用 す る の と 同 じ ポー ト にで き ます。 2 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で、 -L オプシ ョ ン を付けて SSH コ マ ン ド を発行 し 、 指定 し たポー ト を使用 し てて ト ン ネルを構築 し ます。 $ ssh -L source_port:target_machine:target_port myuserid@target_machine -N -f 注 : SSH は -f オプ シ ョ ン を指定 し て実行する必要があ り ます。 こ のオプ シ ョ ンは、 SSH シ ェ ルのバ ッ ク グ ラ ウン ド での実行を強制 し ます。 -f オプ シ ョ ン を使用 し ない場 合は、 SSH を起動 し た タ ー ミ ナルウ ィ ン ド ウを そのま ま開き続ける必要があ り ます。 (nohup オプ シ ョ ン では SSH を開始で き ません。 ) myuserid@target_machine に対応す る パ ス ワー ド の入力が求め ら れます。 270 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 複数のマシ ンに接続す る 必要があ る 場合は、 SSH コ マ ン ド で さ ら に ?L オプ シ ョ ン を指定す る だけです。 構文 と 例は、 SSH ユーザーマニ ュ アルを参照 し て く だ さ い。 3 ソ ース シ ス テ ムにて、 sp_cop* と sp_ctrl を開始 し ます。 4 sp_ctrl では、 ソ ース シ ス テ ム で次のパ ラ メ ー タ を設定 し ます。 • タ ーゲ ッ ト シ ス テ ムが 1 つだけの場合は、 次の構文に よ り グ ロ ーバル ベース でパ ラ メ ー タ を設定 し ます。 sp_ctrl(sysA)> set param SP_XPT_USE_LOCALHOST 1 ま たは • 複数の複製ルー ト があ る 場合は、 その う ちの 1 つに対 し てのみ SSH を使 用で き ます。 その場合、 プ ロ セ ス固有のオプシ ョ ン を使用 し て、 SSH を 使用す る ルー ト の ロ ーカルホ ス ト に接続す る よ う SharePlex に指示 し ま す。 別の タ ーゲ ッ ト シ ス テ ムへの複製は、 通常の方法で直接接続 し ます。 sp_ctrl(sysA)> set param SP_XPT_USE_LOCALHOST to hostname 1 5 list param modified コ マ ン ド を発行 し てパ ラ メ ー タ の変更を確認 し ます。 sp_ctrl(sysA)> list param modified 6 ア ク テ ィ ブな設定があ る かないかに応 じ て、 次の う ちの 1 つを行い ます。 • [設定がア ク テ ィ ブ であ る場合] シ ャ ッ ト ダ ウ ン し 、 パ ラ メ ー タ の変更が有 効にな る よ う に、 ソ ース シ ス テ ム で sp_cop を再起動 し ます。 sp_ctrl> shutdown $ /productdir/bin/sp_cop & ま たは • [設定を ア ク テ ィ ベー ト する には] 複製構成を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename * UNIX シ ス テムでは、 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら sp_cop を実行 し ます。 Windows シ ス テムでは、 Sp_Utils ユーテ ィ リ テ ィ から SharePlex サービ ス を開始 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 271 パー ト 5 : 変更の追跡を オンにする 環境に よ っ ては、 デー タ ベース内の一連のテーブルに対 し て行われた変更の追 跡管理が必要な こ と も あ り ます。 た と えばあ る 環境下では、 顧客の不満を解決 す る ために、 テーブルに対 し て行われた各変更を追跡す る こ と が重要な場合が あ り ます。 現在 SharePlex には、 ロ グマ イ ニ ン グ テ ク ノ ロ ジーを使っ て、 セ カ ン ダ リ サーバー上に変更デー タ を保管す る オプシ ョ ンが用意 さ れてい ます。 ロ グマ イ ニ ン グ を使っ て ソ ースデー タ ベース か ら 変更を抽出す る ための コ ス ト は ご く わずかな ため、 こ の機能を有効活用で き ます。 変更デー タ は別のデー タ ベース に保管 さ れ る ため、 変更デー タ の照会に よ る 本稼働用デー タ ベース の負 荷を削減す る こ と がで き ます。 行に対す る 各変更に対 し て、 SharePlex はユーザー ID、 タ イ ム ス タ ン プ、 SCN、 ソ ース ROWID、 キー値、 ト ラ ンザ ク シ ョ ン ID、 操作 タ イ プ、 お よ び変更 さ れ た列値を記録 し ます。 更新操作の場合、 SharePlex は列変更後の イ メ ージ を記 録 し ます。 変更追跡機能を設定す る には : • タ ーゲ ッ ト 側のパ ラ メ ー タ SP_OPO_TRACK_CHANGES に 1 を設定 し ます。 必要に応 じ て、 特定の Post プ ロ セ ス用に こ のパ ラ メ ー タ を設定で き ます。 こ の Post パ ラ メ ー タ の詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参 照 し て く だ さ い。 • 制約を除いて ソ ース テーブル と 同 じ 名前 と 構造を持つ タ ーゲ ッ ト テーブル を作成 し ます ( 任意の列に NOT NULL 制約があ る と 、 Post は失敗 し ます )。 • 次の ス ク リ プ ト を実行 し て、 タ ーゲ ッ ト テーブルにユーザー ID や時間な ど に関す る 列を追加 し ます : optdir/util/add_change_tracking_columns.sql add_change_tracking_columns ス ク リ プ ト は、 次の列を タ ーゲ ッ ト テーブルに追 加 し ます。 SHAREPLEX_SOURCE_TIME VARCHAR2(20) SHAREPLEX_SOURCE_USERID NUMBER SHAREPLEX_SOURCE_OPERATION VARCHAR2(20) SHAREPLEX_SOURCE_SCN NUMBER SHAREPLEX_SOURCE_ROWID ROWID SHAREPLEX_SOURCE_TRANS VARCHAR2(20) SHAREPLEX_OPERATION_SEQ NUMBER 272 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SHAREPLEX_SOURCE_TIME 列には、 ソ ース上の Oracle に よ り 操作が適用 さ れた時刻が記録 さ れ ます。 SHAREPLEX_SOURCE_USERID 列には、 変更を適 用 し たユーザーの ソ ース か ら のユーザー ID が記録 さ れ ます。 SHAREPLEX_SOURCE_OPERATION 列は、 次の 6 つの値のいずれかで更新 さ れます。 INSERT UPDATE DELETE COMMIT TRUNCATE DROP COLUMN 注 : COMMIT レ コ ー ド は、 SP_OPO_TRACK_COMMITS パ ラ メ ー タ に 1 が設 定 さ れてい る場合にのみ、 タ ーゲ ッ ト テーブルに書き込まれます。 デ フ ォル ト では、 こ のパ ラ メ ー タ は 0 に設定 さ れています。 SHAREPLEX_SOURCE_SCN 列には、 操作発生時の ソ ース SCN が記録 さ れま す。 SHAREPLEX_SOURCE_ROWID 列には、 変更 さ れた行の ROWID が記録 さ れます。 SHAREPLEX_SOURCE_TRANS 列には、 変更に関連す る ト ラ ンザ ク シ ョ ン ID が記録 さ れ ます。 SHAREPLEX_OPERATION_SEQ 列には、 同 じ ト ラ ンザ ク シ ョ ン ID を持つ各操作に対す る 増分値が記録 さ れ ます。 実際のテーブル列は、 論理的にキー列お よ び非キー列に分割 さ れ ます。 挿入お よ び更新操作の場合、 SharePlex は元の DML が変更 し た キー列お よ び非キー列 を複製 し ます。 Post が タ ーゲ ッ ト テーブルに行を挿入す る 場合、 次の よ う に 1 つま たは複数のテーブル列に値が挿入 さ れ る こ と があ り ます。 操作 キー列 非キー列 - 更新 INSERT X X UPDATE X X DELETE X デー タ ベース サプ リ メ ン タ ル ロ ギ ン グが 「MIN」 レベルの場合、 コ ミ ッ ト さ れ ていない挿入操作の後に更新操作を実行す る と 、 キー列には null 値が記録 さ れ 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 273 ます。 サプ リ メ ン タ ル ロ ギ ン グは 「PK/UK」 レベルに設定す る こ と をお勧め し ます。 変更追跡機能を使用す る 場合、 次の事項に注意 し て く だ さ い。 • SP_OPO_TRACK_CHANGES パ ラ メ ー タ は、 Post プ ロ セ ス を開始 し た時に 有効にな り ます • タ ーゲ ッ ト テーブルに PK、 UK、 UNIQUE、 not null、 check、 ま たは default value 制約を入れてはいけ ません • タ ーゲ ッ ト テーブルには、 ALTER TABLE ADD お よ び ALTER TABLE MODIFY DDL のみが適用 さ れます • COMMIT 操作は、 SP_OPO_TRACK_COMMITS パ ラ メ ー タ が設定 さ れてい る 場合にのみ タ ーゲ ッ ト テーブルに適用 さ れ ます • UDT ま たは VARRAY 列に対す る 変更は、 タ ーゲ ッ ト には記録 さ れません • LOB 列の一部を変更す る ために DBMS_LOB 操作を使用 し た場合、 タ ー ゲ ッ ト 上でその列に保管 さ れ る 値は完全な LOB 列にはな り ません • Compare は、 サポー ト さ れていない メ ッ セージで失敗 し ます • copy コ マ ン ド は発行 し ないで く だ さ い、 こ の コ マ ン ド は タ ーゲ ッ ト テーブ ルが変更追跡テーブルであ る こ と を検出 し ないため、 ソ ース を タ ーゲ ッ ト に コ ピー し て し ま い ます • 自動追加 と 変更追跡は互換性がないため、 同 じ イ ン ス タ ン ス上で使用す る こ と はで き ません。 自動追加は create table ddl を複製 し 、 それを タ ーゲ ッ ト に適用 し ます。 一方変更追跡は、 create table ddl を無視 し ます。 274 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 6 : その他のオプ シ ョ ン機能 こ こ では、 ニーズに合わせて SharePlex を カス タ マイ ズでき る 機能を 解説し ま す。 Windows シス テムでの SharePlex ス タ ー ト ア ッ プ ス テー タ スの設定 [管理ツール] の [ コ ン ピ ュ ー タ の管理] の [サービ ス] コ ン ト ロ ールパネルを使 用 し て、 SharePlex の ス タ ー ト ア ッ プ ス テー タ ス を自動か ら 手動に、 ま たは手 動か ら 自動に変更で き ます (275 ページ を参照)。 [サービ ス] コ ン ト ロ ールパネルで SharePlex ス タ ー ト ア ッ プ を管理す る ユー ザーア カ ウ ン ト を制御す る こ と も で き ます。 7 [サービ ス] ダ イ ア ロ グボ ッ ク ス で [OK] を ク リ ッ ク し て変更を実施 し 、 ダ イ ア ロ グボ ッ ク ス を閉 じ ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 275 Windows シ ス テムで SharePlex ス タ ー ト ア ッ プ を変更するには 1 [ス タ ー ト ] メ ニ ュ ーか ら [プ ロ グ ラ ム] を選択 し 、 [管理ツール]、 [コ ン ピ ュ ー タ の管理] の順に ク リ ッ ク し ます。 2 [ コ ン ピ ュ ー タ の管理] ウ ィ ン ド ウ で、 [サービ ス と ア プ リ ケーシ ョ ン] ノ ー ド を展開 し ます。 3 [サービ ス] サブ ノ ー ド を ク リ ッ ク し 、 右 ウ ィ ン ド ウ 枠を ス ク ロ ール し て SharePlex サービ ス を探 し ます。 276 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 SharePlex サービ ス を右 ク リ ッ ク し 、 [プ ロパテ ィ ] を選択 し ます。 [SharePlex のプ ロパテ ィ ] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 5 [SharePlex のプ ロパテ ィ ] ダ イ ア ロ グボ ッ ク ス で、 [全般] タ ブ を ク リ ッ ク し ます。 6 [ス タ ー ト ア ッ プの種類] ド ロ ッ プダ ウ ン リ ス ト ボ ッ ク ス で、 [自動]、 [手動] ま たは [無効] を選択 し ます。 シ ス テ ム ア カ ウ ン ト 権限を付与す る 代わ り に、 [SharePlex のプ ロパテ ィ ] ダ イ ア ロ グボ ッ ク ス か ら 、 SharePlex の ス タ ー ト ア ッ プ ス テー タ ス を変更で き る 唯一のユーザー と し て SharePlex 管理者を指定で き ます。 ス タ ー ト ア ッ プ の許可を変更す る には、 次の ス テ ッ プに進みます。 ス タ ー ト ア ッ プの許可 を変更せずに [SharePlex のプ ロパテ ィ ] ダ イ ア ロ グボ ッ ク ス を終了す る に は、 [OK] を ク リ ッ ク し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 277 7 [プ ロパテ ィ ] ダ イ ア ロ グボ ッ ク ス で、 [ロ グオン] タ ブ を ク リ ッ ク し ます。 8 [ログオン] オプシ ョ ン ボ ッ ク ス で、 [ア カ ウン ト ]、 [参照] の順に ク リ ッ ク し て [ユーザーの選択] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 278 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 9 [ユーザーの選択] ダ イ ア ロ グボ ッ ク ス で、 [名前] の下の SharePlex 管理者 ユーザーを ダブル ク リ ッ ク し ます。 [ロ グオン] ダ イ ア ロ グボ ッ ク ス が現れ、 [ア カ ウン ト ] フ ィ ール ド に SharePlex 管理者が表示 さ れ ます。 10 [パスワー ド ] と [パスワー ド の入力確認] フ ィ ール ド で、 SharePlex 管理者ア カ ウ ン ト のパ ス ワー ド を入力 し て確認 し ます。 11 [OK] を ク リ ッ ク し て変更を適用 し 、 [プ ロパテ ィ ] ダ イ ア ロ グボ ッ ク ス を終 了 し ます。 Windows シス テムでの SharePlex プ ロ セスの優先順 位の設定 MKS NuTCRACKER 環境は SharePlex プ ロ セ ス を制御す る ため、 SharePlex のプ ロ セ ス の優先順位を変更す る には、 Windows の Task Manager を特別な権限で 実行す る 必要があ り ます。 SharePlex プ ロ セ ス の優先順位は、 次の方法の う ち の 1 つで変更で き ます。 SharePlex ユーテ ィ リ テ ィ に よ る優先順位の設定 プ ロ セ ス の優先順位を正 し く 設定す る 最 も 簡単で安全な方法は、 SpUtils ま た は SpClient ユーテ ィ リ テ ィ の Task Manager 機能を用いて設定す る こ と です。 SpClient を実行す る 手順は 464 ページ に、 SpUtils を実行す る 手順は 461 ペー ジ にあ り ます。 こ れ ら のユーテ ィ リ テ ィ に よ り 、 Task Manager の表示を 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 279 SharePlex プ ロ セ ス に限定 し 、 シ ス テ ム上で動作 し てい る その他のすべてのプ ロ セ ス を除外で き ます。 バ ッ チ フ ァ イルによ る優先順位の設定 プ ロ セ ス の優先順位は、 次の手順を使用 し 、 DTaskmgr と い う バ ッ チ フ ァ イ ル を実行 し て設定で き ます。 DTaskmgr で プ ロ セスの優先順位を変更するには 1 シ ス テ ム管理者ア カ ウ ン ト と し て シ ス テ ムへ ロ グオ ン し ます。 2 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ の DTaskmgr に移動 し てそれを実行 し ます。 特別な権限で Windows タ ス ク マネージ ャ が開 き ます。 3 [プ ロ セス] タ ブ を ク リ ッ ク し て、 実行 し てい る すべてのプ ロ セ ス を表示 し ます。 280 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 優先す る SharePlex を右 ク リ ッ ク し 、 次に [優先度の設定] を ク リ ッ ク し て希 望の優先順位レベルを選択 し ます。 5 シ ス テ ムは確認を求め ます。 [はい] を ク リ ッ ク し て変更を実施す る か、 あ る いは [いいえ] を ク リ ッ ク し て変更を キ ャ ン セル し ます。 6 [DTaskmgr] ダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 281 Windows シ ス テムでの SharePlex レ ジ ス ト リ エ ン ト リ の変更 SharePlex は、 Windows レ ジ ス ト リ に格納 さ れてい る デフ ォ ル ト デ ィ レ ク ト リ の場所お よ びその他の環境情報を記録 し て読み込みます。 SharePlex レ ジ ス ト リ の場所は次の と お り です。 \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex SharePlex の各 イ ン ス タ ン ス は レ ジ ス ト リ でポー ト 番号 と し て記録 さ れてお り 、 それぞれ固有の環境変数を持ち ます。 SharePlex の環境変数を追加、 変更ま た は削除す る 必要があ る 場合は、 必ず次の手順を使用 し て regedit プ ロ グ ラ ム で レ ジ ス ト リ を変更 し ます。 環境を変更す る には、 SharePlex サービ ス を再起動 し て有効にす る 必要があ り ます。 警告!レ ジ ス ト リ および Windows プ ラ ッ ト フ ォ ームの機能に詳 し く ない場合は、 レ ジ ス ト リ エ ン ト リ を追加、 変更、 または削除 し ないで く だ さ い。 レ ジス ト リ 設定を誤っ て 変更 し た場合は、 ソ フ ト ウ ェ ア またはシ ス テム自体の運用に悪影響を及ぼす こ と があ り ます。 レ ジ ス ト リ について詳 し く ない場合は、 シス テム管理者に相談 し て く だ さ い。 282 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 レ ジ ス ト リ で SharePlex に対 し て設定で き る 環境変数は以下の と お り です。 こ れ ら のほ と ん どは、 Quest Technical Support に問い合わせをす る と き に設定す る よ う 求め ら れ る デバ ッ グパ ラ メ ー タ です。 EDITOR HOST LOGNAME OL_DEBUG ORADUMP SIM_KERNEL SP_CNF_SKIP_ANALYZE SP_CONF_SPIN SP_COP_TPORT SP_DEBUG_BIO SP_DEBUG_DDL SP_DEBUG_FIO SP_DEBUG_GEN SP_DEBUG_KCA SP_DEBUG_LCACHE SP_DEBUG_MSG SP_DEBUG_MSG SP_DEBUG_OCAP SP_DEBUG_OLOG SP_DEBUG_OPC SP_DEBUG_OPP SP_DEBUG_OPST SP_DEBUG_OPST SP_DEBUG_OPST SP_DEBUG_ORD SP_DEBUG_RMP SP_DEBUG_ROM SP_DEBUG_SQL SP_DEBUG_SQL_LCACHE SP_DEBUG_TRP SP_OBJECTID SP_OCAP_TEST_LOG1 SP_OPO_DISCARD_MSG SP_QUE_PAUSE SP_QUE_SIGBUS SP_SPIN_CNC SP_SPIN_IMP SP_SPIN_OCT SP_SPIN_OPO SP_SPIN_ORD SP_SPIN_XPT SP_SPOOL_OCT SP_SPOOL_OPO SP_SPOOL_OPO SP_SPOOL_OPO SP_SPOOL_ORD SP_STOP_GEN SP_STOP_OCAP SP_STOP_OPC SP_STOP_OPP SP_STOP_ROM SP_SYS_HOST_NAME SP_SYS_VARDIR USERNAME VERBOSE レ ジ ス ト リ エ ン ト リ を追加する には 1 SharePlex サービ ス を シ ャ ッ ト ダ ウ ン し ます。 2 [ス タ ー ト ] メ ニ ュ ーか ら [ フ ァ イル名を指定 し て実行] を ク リ ッ ク し ます。 3 [ フ ァ イル名を指定 し て実行] ダ イ ア ロ グボ ッ ク ス で、 「regedit」 を入力 し て Registry Editor を実行 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 283 4 Registry Editor の \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex で、 変 数を追加す る SharePlex のポー ト 番号を ク リ ッ ク し 、 [新規] > [文字列値] を 選択 し ます。 5 右 ウ ィ ン ド ウ 枠の [名前] 列で、 強調表示 さ れた文字列値を SharePlex の変 数名に置 き 換え ます。 こ れを変数名に置き換 え ます。 284 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 変数名が付け ら れた新 し い文字列を右 ク リ ッ ク し 、 [修正] を選択 し ます。 [文字列の編集] ダ イ ア ロ グボ ッ ク ス が表示 さ れ ます。 7 [文字列の編集] ダ イ ア ロ グボ ッ ク ス の [値のデー タ ] フ ィ ール ド に、 変数の 文字列を入力 し ます。 8 [OK] を ク リ ッ ク し て、 Registry Editor を閉 じ ます。 9 SharePlex サービ ス を開始 し ます。 レ ジ ス ト リ エ ン ト リ を変更する には 1 SharePlex サービ ス を シ ャ ッ ト ダ ウ ン し ます。 2 [ス タ ー ト ] メ ニ ュ ーか ら [ フ ァ イル名を指定 し て実行] を ク リ ッ ク し ます。 3 [ フ ァ イル名を指定 し て実行] ダ イ ア ロ グボ ッ ク ス で、 「regedit」 を入力 し て Registry Editor を実行 し ます。 4 Registry Editor の \HKEY_LOCAL_MACHINE\Software\Quest Software\SharePlex で、 変 数を変更す る SharePlex のポー ト 番号を強調表示 し ます。 レ ジ ス ト リ エ ン ト リ が右 ウ ィ ン ド ウ 枠に表示 さ れ ます。 5 右 ウ ィ ン ド ウ 枠で変更す る 変数を右 ク リ ッ ク し 、 [修正] を選択 し ます。 章6 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 285 6 [文字列の編集] ダ イ ア ロ グボ ッ ク ス の [値のデー タ ] フ ィ ール ド に、 新 し い 変数を入力 し ます。 7 [OK] を ク リ ッ ク し て、 Registry Editor を閉 じ ます。 8 SharePlex サービ ス を開始 し ます。 286 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 7 SharePlex の複製の開始 こ れ ま での章では、 複製環境を計画、 確立す る のに必要な予備知識について説 明 し て き ま し た。 こ の章では、 ソ ースデー タ と タ ーゲ ッ ト デー タ を同期す る 方 法や、 SharePlex で複製を開始す る ために設定を ア ク テ ィ ベー ト す る 方法を説 明 し ます。 こ の章のパー ト 1 では、 デー タ を同期す る 手順を説明 し ます。 パー ト 2 では、 設定を ア ク テ ィ ベー ト す る プ ロ セ ス を説明 し ます。 こ の項にはア ク テ ィ ベー ト 方法を選択す る のに有益な情報が記載 さ れてい ます。 デー タ を同期す る 前に、 こ の項を見直 し て く だ さ い。 パー ト 3 では、 設定に変更を加え る 方法を説明 し ます。 こ の章では、 以下を前提に し て説明を進め ます。 • 複製方法が決定 さ れてい る • デー タ ベース と シ ス テ ムの設定が完了 し 、 複製方法を実行に移す準備が 整っ てい る • SharePlex の設定を構築す る 方法を理解 し てい る 目次 初回のデー タ 同期 設定のア ク テ ィ ベー ト と デ ィ ア ク テ ィ ベー ト 設定の変更 288 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: 初回のデー タ 同期 複製には、 ソ ース シ ス テ ム上の 「 ソ ース」 (オ リ ジナル) デー タ と タ ーゲ ッ ト シ ス テ ム上の 「 タ ーゲ ッ ト 」 ( コ ピー) デー タ の、 対にな っ たデー タ セ ッ ト が 必要です。 設定を初めて ア ク テ ィ ベー ト す る に先立ち、 まず、 その設定用の ソ ースデー タ と タ ーゲ ッ ト デー タ を同期 し て く だ さ い。 SharePlex は、 複製を通 じ て環境の同期を維持 し ますが、 初回の同期は行い ま せん。 こ のセ ク シ ョ ン では、 次の方法を利用 し て ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ム にデー タ を コ ピー し 、 デー タ を同期す る 方法を説明 し ます。 • ア ク テ ィ ブデー タ ベース での Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たデー タ の同期 • • • • quiet database での Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たデー タ の同期 テープか ら の export/import ま たは格納/ リ ス ト アに よ る デー タ の同期 FTP に よ る デー タ の同期 ト ラ ン ス ポー タ ブルテーブル領域機能に よ る デー タ の同期 こ の章で説明す る 手順には、 特定の SharePlex コ マ ン ド が使用 さ れ ます。 コ マ ン ド を実行す る 前に、 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 でその説明を読 み、 構文を確認 し ておいて く だ さ い。 さ ら に、 「設定のア ク テ ィ ベー ト と デ ィ ア ク テ ィ ベー ト 」 (313 ページ) を見直 し 、 設定を ア ク テ ィ ベー ト す る オプ シ ョ ン を確認 し ておいて く だ さ い。 章7 SharePlex の複製の開始 289 ア ク テ ィ ブデー タ ベースでの Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たデー タ の同期 SharePlex ではア ク テ ィ ベーシ ョ ン、 ホ ッ ト バ ッ ク ア ッ プ、 お よ び reconcile コ マ ン ド を併せて使用す る こ と で、 ソ ースデー タ ベースへのア ク セ ス を停止せず に最初の同期を実行 し 、 タ ーゲ ッ ト やセ カ ン ダ リ の イ ン ス タ ン ス を確立で き ま す。 警告! デー タ ウ ェ アハウスな どの集約レ プ リ ケーシ ョ ン を確立するには、 すべての ソ ース シ ス テムから のホ ッ ト バ ッ ク ア ッ プは使用で き ません。 1 つのバ ッ ク ア ッ プが以前のも の から のデー タ を上書き する ためです。 ソ ース イ ン ス タ ン スの 1 つのホ ッ ト バ ッ ク ア ッ プ を タ ーゲ ッ ト 「イ ン ス タ ン ス」 を確立する ために使用 し て、 それから他の方法を使 用 し て、 他のイ ン ス タ ン スから のオブ ジ ェ ク ト を コ ピーする こ と がで き ます。 こ れに は export/import (301 ページ参照)、 FTP (305 ページ参照)、 ト ラ ン スポー タ ブル テーブル領域機能 (309 ページ参照) な どの方法を使用 し ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン を確立するには、 こ の手順の間、 「すべての」 セ カ ン ダ リ ソ ースシ ス テムへのア ク セス を停止する必要があ り ます。 すべてのユーザーを信頼 さ れる ソ ースシ ス テムに移動 し てから 、 こ の手順に従います。 「すべての」 セ カ ン ダ リ シ ス テムで こ の手順を 「実行 し た後」 でのみ、 それら のシス テムでのユーザー活動を 再開で き ます。 こ の手順は、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン で生 じ る影響を把握 し た う えで使用 し て く だ さ い。 詳細は、 「ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の設定」 (202 ページ) を参照 し て く だ さ い。 Windows シ ス テム間でホ ッ ト バ ッ ク ア ッ プ を行 う には、 Oracle 作成ツールを使用 し て、 同一の ORACLE_SID と デ ィ レ ク ト リ 構造を持つ イ ン ス タ ン ス を タ ーゲ ッ ト シ ス テ ムに事前に作成 し てお く 必要があ り ます。 こ れは、 Windows では Oracle はサービ ス と し て稼動 し てお り 、 デー タ ベースの リ カバ リ プ ロ セス を実行するにはレ ジス ト リ エ ン ト リ が必要にな る ためです。 デー タ はホ ッ ト バ ッ ク ア ッ プ でデー タ ベースに追加 さ れ る ため、 こ こ で投入する必要はあ り ません。 重要! この手順を開始する前に、 ア ク テ ィ ベー ト する設定を用意 し ておいて く だ さ い。 カ スケー ド を除 く すべての複製方法の手順 こ の手順は次の複製シナ リ オについてのみ使用 し て く だ さ い。 • レ ポー ト お よ びブ ロ ー ド キ ャ ス ト ―1 つの ソ ース シ ス テ ムか ら 1 つま たは複 数の タ ーゲ ッ ト シ ス テ ム に 「直接」 複製す る 290 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 高可用性―プ ラ イ マ リ シ ス テ ム か ら フ ェ イ ルオーバー用の 1 つま たは複数 のセ カ ン ダ リ シ ス テ ム に複製す る ( こ の手順では、 セ カ ン ダ リ シ ス テ ム を 「 タ ーゲ ッ ト 」 シ ス テ ム と 呼びます。) • 集約―複数の ソ ース シ ス テ ム か ら の異な る デー タ を、 中央の タ ーゲ ッ ト シ ス テ ム に複製す る • ピ ア ト ゥ ピ ア―複数の ソ ース シ ス テ ム間で複製す る ( こ の手順では、 信頼 さ れ る ソ ース シ ス テ ム を 「 ソ ース」 シ ス テ ム と 呼び、 セ カ ン ダ リ シ ス テ ム を 「 タ ーゲ ッ ト シ ス テ ム」 と 呼びます。) カ ス ケー ド レ プ リ ケーシ ョ ン (中間シ ス テ ム に複製を行い、 そ こ か ら タ ーゲ ッ ト シ ス テ ム に複製す る ) の場合は、 「カ ス ケー ド レ プ リ ケーシ ョ ンの手順」 (293 ページ) を使用 し て く だ さ い。 1 [UNIX シ ス テム] oratab フ ァ イ ル内の ORACLE_SID お よ び ORACLE_HOME が、 ホ ッ ト バ ッ ク ア ッ プで確立 し よ う と し てい る イ ン ス タ ン ス に適合 し て い る こ と を確認 し ます。 SID はア ク テ ィ ベー ト す る 設定のルーテ ィ ン グマ ッ プで使用 さ れてい る SID でなければな り ません。 2 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順に従っ て SharePlex を イ ン ス ト ール し ます が、 ora_setup を実行す る のは、 ソ ース シ ス テ ム でだけです。 タ ーゲ ッ ト シ ス テ ム では、 デー タ ベース を回復 し 、 開いてか ら でなければ こ のプ ロ グ ラ ムは実行で き ません。 (oratab フ ァ イ ル ま たは Windows レ ジ ス ト リ に、 有効 な SID が存在す る 必要があ り ます。) ora_setup の実行方法の詳細は、 第 11 章を参照 し て く だ さ い。 ま たは、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順を使用 し て く だ さ い。 3 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で、 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ へ移動 し 、 sp_cop お よ び sp_ctrl を実行 し ます。 4 両方のシ ス テ ム で、 SharePlex プ ロ セ ス が開始 さ れた こ と を確認 し ます。 sp_ctrl(sysA)> status sp_ctrl(sysB)> status 5 タ ーゲ ッ ト シ ス テ ム で、 Post プ ロ セ ス を停止 し ます。 こ れで複製 さ れた デー タ は、 デー タ ベース が回復 さ れて調整 さ れ る ま で、 post queue 内に累積 さ れ ます。 sp_ctrl(sysB)> stop post 6 ソ ース シ ス テ ム で Oracle ホ ッ ト バ ッ ク ア ッ プ を実行 し ます。 章7 SharePlex の複製の開始 291 7 バ ッ ク ア ッ プの終了後、 ソ ース シ ス テ ム で設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 8 ソ ース シ ス テ ム で show activate コ マ ン ド を発行 し 、 activation ス テー タ ス を 表示 し ます。 sp_ctrl は、 ア ク テ ィ ベー ト が終了す る ま で こ の コ マ ン ド で制 御 さ れ ます。 sp_ctrl(sysA)> show activate 9 「ア ク テ ィ ベー ト が完了 し た ら 」、 ソ ース シ ス テ ム の ロ グ フ ァ イ ルを切 り 替 え ます。 次に、 以下のオプシ ョ ンのいずれか を選択 し ます。 A デー タ ベース を シーケ ン ス番号に回復す る には、 最高のアーカ イ ブ ロ グ のシーケ ン ス番号を記録 し ます。 svrmgrl> alter system switch logfile; B デー タ ベース を Oracle System Change Number (SCN) に回復す る には、 回復す る SCN を タ ーゲ ッ ト デー タ ベース で選びます。 10 タ ーゲ ッ ト シ ス テ ム側 : A シーケ ン ス番号に回復す る 場合は、 RECOVER 句の UNTIL CANCEL オ プシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プか ら デー タ ベース を回復 し 、 ス テ ッ プ 9 の ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ま す。 B SCN に回復す る 場合は、 RECOVER 句の UNTIL CHANGE <SCN> オプ シ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プか ら デー タ ベース を回復 し 、 ス テ ッ プ 9 か ら SCN に一致す る ロ グが Oracle で適用 さ れた後、 回復を キ ャ ン セル し ます。 11 タ ーゲ ッ ト シ ス テ ム で、 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ま す。 12 タ ーゲ ッ ト シ ス テ ム で、 デー タ ベース に ora_setup を実行 し ますが、 新 し い ユーザーは作成 し ないで く だ さ い。[Would you like to create a new SharePlex user [y]] のプ ロ ン プ ト で [n] を選択 し 、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 こ の場合、 ora_setup の実行時に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 13 タ ーゲ ッ ト シ ス テ ム で、 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 キ ュ ー の名前が分か ら ない場合は、 qstatus コ マ ン ド を発行 し て く だ さ い。 292 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 A シーケ ン ス番号に回復す る 場合は、 ス テ ッ プ 9 で記録 し た ロ グのシーケ ン ス番号に置 き 換え ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number 例 : SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に複製す る 場合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysB)> reconcile queue SysA for o.oraA-o.oraA seq 1234 B SCN に回復す る 場合は、 ス テ ッ プ 9 で記録 し た SCN に置 き 換え ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest scn scn_number 例 : SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に複製す る 場合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysB)> reconcile queue SysA for o.oraA-o.oraA scn 0123456789 sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完 了す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 14 タ ーゲ ッ ト シ ス テ ム で、 cleanup.sql ス ク リ プ ト を実行 し てすべての SharePlex 内部テーブルを切 り 詰め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 15 タ ーゲ ッ ト シ ス テ ム で、 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 16 タ ーゲ ッ ト シ ス テ ム で、 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 お よ び DML を実 行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ます。 17 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 不要な行や列を タ ーゲ ッ ト テー ブルか ら 削除 し ます。 18 [高可用性のみ] タ ーゲ ッ ト (セ カ ン ダ リ ) シ ス テ ム で、 Export を停止 し ま す。 sp_ctrl(sysB)> stop export 章7 SharePlex の複製の開始 293 19 [高可用性お よびピ ア ト ゥ ピ アのみ] タ ーゲ ッ ト (セ カ ン ダ リ ) シ ス テ ム で、 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 20 タ ーゲ ッ ト シ ス テ ム で、 Post プ ロ セ ス を起動 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れます。 sp_ctrl(sysB)> start post 21 [ オプ シ ョ ン ] 部分バ ッ ク ア ッ プ を行っ た場合は、 ホ ッ ト バ ッ ク ア ッ プ中に コ ピー さ れなか っ たテーブル領域を ド ロ ッ プ し て く だ さ い。 カ スケー ド レ プ リ ケーシ ョ ンの手順 「カ ス ケー ド レ プ リ ケーシ ョ ン」 には こ の手順を使用 し て く だ さ い。 カ ス ケー ド レ プ リ ケーシ ョ ン では、 SharePlex が中間シ ス テ ム上のデー タ ベース にデー タ を post す る と 、 そのデー タ が タ ーゲ ッ ト シ ス テ ムに複製 さ れます。 バ ッ ク ア ッ プは先に中間シ ス テ ム (「sysB」) に適用 し 、 その後で タ ーゲ ッ ト シ ス テ ム (「sysC」) に適用 し ます。 1 [UNIX シ ス テム] oratab フ ァ イ ル内の ORACLE_SID お よ び ORACLE_HOME が、 ホ ッ ト バ ッ ク ア ッ プで確立 し よ う と し てい る イ ン ス タ ン ス に適合 し て い る こ と を確認 し ます。 SID はア ク テ ィ ベー ト す る 設定のルーテ ィ ン グマ ッ プで使用 さ れてい る SID でなければな り ません。 2 すべてのシ ス テ ム で、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順に従っ て SharePlex を イ ン ス ト ール し ますが、 ora_setup を 実行す る のは、 ソ ース シ ス テ ム でだけです。 他のシ ス テ ム では、 デー タ ベース を回復 し 、 開いてか ら でなければ こ のプ ロ グ ラ ムは実行で き ません。 (oratab フ ァ イ ル ま たは Windows レ ジ ス ト リ に、 有効な SID が存在す る 必要 があ り ます。) ora_setup の実行方法の詳細は、 第 11 章を参照 し て く だ さ い。 ま たは、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順を使用 し て く だ さ い。 3 すべてのシ ス テ ム で、 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ へ移動 し 、 sp_cop お よ び sp_ctrl を実行 し ます。 294 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 すべてのシ ス テ ム で、 SharePlex プ ロ セ ス が開始 さ れた こ と を確認 し ます。 sp_ctrl(sysA)> status sp_ctrl(sysB)> status sp_ctrl(sysC)> status 5 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 Post プ ロ セ ス を停止 し ます。 こ れで複 製 さ れたデー タ は、 デー タ ベース が回復 さ れ る ま で、 post queue 内に累積 さ れます。 sp_ctrl(sysB)> stop post sp_ctrl(sysC)> stop post 6 ソ ース シ ス テ ム で Oracle ホ ッ ト バ ッ ク ア ッ プ を実行 し ます。 7 バ ッ ク ア ッ プの終了後、 ソ ース シ ス テ ム で設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 8 ソ ース シ ス テ ム で show activate コ マ ン ド を発行 し 、 activation ス テー タ ス を 表示 し ます。 sp_ctrl は、 ア ク テ ィ ベー ト が終了す る ま で こ の コ マ ン ド で制 御 さ れ ます。 sp_ctrl(sysA)> show activate 9 ア ク テ ィ ベー ト の終了後、 ソ ース シ ス テ ム で ロ グ フ ァ イ ルを切 り 替え、 アーカ イ ブ ロ グの最高順序番号を書 き 留めてお き ます。 svrmgrl> alter system switch logfile; 10 中間シ ス テ ム で、 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プか ら デー タ ベース を回復 し 、 ス テ ッ プ 9 の ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 11 中間シ ス テ ム で、 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 12 中間シ ス テ ム で、 デー タ ベース に ora_setup を実行 し ますが、 新 し いユー ザーは作成 し ないで く だ さ い。[Would you like to create a new SharePlex user [y]] のプ ロ ン プ ト で [n] を選択 し 、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存 の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 こ の場合、 ora_setup の 実行時に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 13 中間シ ス テ ム で、 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 ス テ ッ プ 9 で 章7 SharePlex の複製の開始 295 記録 し た ロ グの順序番号 と 置 き 換え ます。 キ ュ ーの名前が分か ら ない場合 は、 qstatus コ マ ン ド を発行 し て く だ さ い。 sp_ctrl は reconcile プ ロ セ ス が完 了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が 戻 り ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number 例 : SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に調停す る 場合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysB)> reconcile queue SysA for o.oraA-o.oraA seq 1234 14 中間シ ス テ ム で、 cleanup.sql ス ク リ プ ト を実行 し てすべての SharePlex 内部 テーブルを切 り 詰め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページに あ り ます。 15 中間シ ス テ ム で、 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 16 中間シ ス テ ム で、 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 お よ び DML を実行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ます。 17 中間シ ス テ ム で、 SP_OCT_REPLICATE_POSTER パ ラ メ ー タ に 1 を設定 し ま す。 こ う す る こ と に よ り 、 当該シ ス テ ム上で Post さ れた変更が捕捉 さ れ、 タ ーゲ ッ ト シ ス テ ムに複製 さ れ ます。 sp_ctrl(sysB)> set param SP_OCT_REPLICATE_POSTER 1 18 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 中間シ ス テ ム のそれ ら のテーブ ルか ら 、 不要な行や列を削除 し ます。 重要! Post プ ロ セスはまだ開始 し ないで く だ さ い。 19 タ ーゲ ッ ト シ ス テ ム で、 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プか ら デー タ ベース を回復 し 、 ス テ ッ プ 9 の ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 20 タ ーゲ ッ ト シ ス テ ム で、 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ま す。 296 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 21 タ ーゲ ッ ト シ ス テ ム で、 デー タ ベース に ora_setup を実行 し ますが、 新 し い ユーザーは作成 し ないで く だ さ い。[Would you like to create a new SharePlex user [y]] のプ ロ ン プ ト で [n] を選択 し 、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 こ の場合、 ora_setup の実行時に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 22 タ ーゲ ッ ト シ ス テ ム で、 cleanup.sql ス ク リ プ ト を実行 し てすべての SharePlex 内部テーブルを切 り 詰め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 23 タ ーゲ ッ ト シ ス テ ム で、 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 24 タ ーゲ ッ ト シ ス テ ム で、 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 お よ び DML を実 行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ます。 25 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト シ ス テ ムのそれ ら の テーブルか ら 、 不要な行や列を削除 し ます。 26 中間シ ス テ ム で、 デフ ォ ル ト の multi-threaded activation を使用 し て設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 27 中間シ ス テ ム で show activate コ マ ン ド を発行 し 、 activation ス テー タ ス を表 示 し ます。 sp_ctrl は、 ア ク テ ィ ベー ト が終了す る ま で こ の コ マ ン ド で制御 さ れ ます。 sp_ctrl(sysB)> show activate 28 「中間の設定のア ク テ ィ ベー ト が完了 し た ら 」、 中間お よ び タ ーゲ ッ ト シ ス テ ム で Post プ ロ セ ス を開始 し ます。 こ れですべての イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れ ます。 sp_ctrl(sysB)> start post sp_ctrl(sysC)> start post 29 [ オ プ シ ョ ン ] 部分バ ッ ク ア ッ プ を行っ た場合は、 ホ ッ ト バ ッ ク ア ッ プ中に コ ピー さ れなか っ たテーブル領域を ド ロ ッ プ し て く だ さ い。 章7 SharePlex の複製の開始 297 quiet database での Oracle ホ ッ ト バ ッ ク ア ッ プ を使 用 し たデー タ の同期 SharePlex お よ び Oracle のホ ッ ト バ ッ ク ア ッ プ を quiet database に使用す る と 、 タ ーゲ ッ ト の レ ポー ト 用 イ ン ス タ ン ス を確立 し た り 、 ホ ッ ト ス タ ンバ イ デー タ ベース を タ ーゲ ッ ト の レ ポー ト 用 イ ン ス タ ン ス に変換 し た り で き ます。 こ の手 順はすべての複製設定に使用で き ます。 ホ ッ ト バ ッ ク ア ッ プ と 設定のア ク テ ィ ベー ト の実行中は、 実稼動デー タ ベースへのユーザーア ク セ ス を停止す る 必要 があ り ます。 警告! デー タ ウ ェ アハウスな どの集約レ プ リ ケーシ ョ ン を確立するには、 すべての ソ ース シ ス テムから のホ ッ ト バ ッ ク ア ッ プは使用で き ません。 1 つのバ ッ ク ア ッ プが以前のも のから のデー タ を上書き する ためです。 ソ ース イ ン ス タ ン スの 1 つのホ ッ ト バ ッ ク ア ッ プ を タ ーゲ ッ ト 「イ ン ス タ ン ス」 を確立する ために使用 し て、 それから他の方法 を使用 し て、 他のイ ン ス タ ン スから のオブ ジ ェ ク ト を コ ピーする こ と がで き ます。 こ れには export/import (301 ページ参照)、 FTP (305 ページ参照)、 ト ラ ン スポー タ ブ ルテーブル領域機能 (309 ページ参照) な どの方法を使用 し ます。 Windows シ ス テム間でホ ッ ト バ ッ ク ア ッ プ を行 う には、 Oracle 作成ツールを使用 し て、 同一の ORACLE_SID と デ ィ レ ク ト リ 構造を持つ イ ン ス タ ン ス を タ ーゲ ッ ト シ ス テムに事前に作成 し てお く 必要があ り ます。 こ れは、 Windows では Oracle はサービ ス と し て稼動 し てお り 、 デー タ ベースの リ カバ リ プ ロ セス を実行するにはレ ジス ト リ エ ン ト リ が必要にな る ためです。 デー タ はホ ッ ト バ ッ ク ア ッ プ でデー タ ベースに追加 さ れる ため、 こ こ で投入する必要はあ り ません。 重要! こ の手順を開始する前に、 ア ク テ ィ ベー ト する設定を用意 し ておいて く だ さ い。 こ れ ら の説明には、 カ ス ケー ド レ プ リ ケーシ ョ ン で使用 さ れ る 「中間」 シ ス テ ム に関す る 記述が含ま れてい ます。 カ ス ケー ド レ プ リ ケーシ ョ ン では、 SharePlex が 1 つのシ ス テ ム上のデー タ ベース にデー タ を post す る と 、 その デー タ が も う 1 つのシ ス テ ム に複製 さ れ ます。 こ の複製方法を使用 し ない場合 は、 中間シ ス テ ムに関す る 記述は無視 し てか ま い ません。 1 [UNIX シ ス テム] oratab フ ァ イ ル ま たは Windows レ ジ ス ト リ 内の ORACLE_SID お よ び ORACLE_HOME が、 ホ ッ ト バ ッ ク ア ッ プで確立 し よ う と し てい る イ ン ス タ ン ス に適合 し てい る こ と を確認 し ます。 SID はア ク テ ィ ベー ト す る 設定のルーテ ィ ン グマ ッ プで使用 さ れてい る SID でなけれ ばな り ません。 298 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 ソ ース シ ス テ ム で、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順に従っ て SharePlex を イ ン ス ト ール し 、 ora_setup を実行 し ま す。 3 中間お よ び タ ーゲ ッ ト シ ス テ ム に SharePlex を イ ン ス ト ール し ます。 ただ し 、 ora_setup は 「実行 し ないで く だ さ い」。 実行はバ ッ ク ア ッ プの後で行い ます。 4 ソ ース シ ス テ ム で Oracle ホ ッ ト バ ッ ク ア ッ プ を完了 し ます。 5 ソ ース シ ス テ ム で ソ ースデー タ ベース を シ ャ ッ ト ダ ウ ン し 、 制限モー ド で 開 く こ と に よ っ て、 ユーザーア ク セ ス を停止 し ます。 6 ソ ース シ ス テ ム で REDO ロ グ を切 り 替え、 ロ グ番号を記録 し ます。 svrmgrl> alter system switch logfile; 7 すべてのシ ス テ ム で、 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ か ら 、 sp_cop お よ び sp_ctrl を実行 し ます。 8 すべてのシ ス テ ム で、 sp_cop お よ び sp_ctrl が開始 さ れた こ と を確認 し ま す。 sp_ctrl(sysA)> status 9 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 Post を停止 し ます。 Post を停止す る と 、 複製 さ れたデー タ は、 デー タ ベース が回復 さ れ る ま で post queue 内に累積 さ れます。 sp_ctrl(sysB)> stop post 10 ソ ース シ ス テ ム で、 デフ ォ ル ト の multi-threaded activation を使用 し て設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 11 ソ ース シ ス テ ム で show activate コ マ ン ド を発行 し 、 activation ス テー タ ス を 表示 し ます。 sp_ctrl は、 ア ク テ ィ ベー ト が終了す る ま で こ の コ マ ン ド で制 御 さ れ ます。 sp_ctrl(sysA)> show activate 12 「ア ク テ ィ ベー ト が終了 し た ら 」、 ソ ースデー タ ベースへのユーザーア ク セ ス を再度許可 し ます。 章7 SharePlex の複製の開始 299 13 中間お よ び タ ーゲ ッ ト シ ス テ ムのアーカ イ ブ ロ グ を リ ス ト し ます。 ソ ース シ ス テ ム で ロ グ を切 り 替え た と き に記録 し た も の よ り も 、 ロ グ番号が後の ロ グ をすべて削除 し ます。 Oracle が回復す る 必要があ る のは最後の ロ グで あ る ため、 その ロ グが最後の ロ グでなければな り ません。 14 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 デー タ ベース (ま たはホ ッ ト ス タ ンバ イ ) を、 記録 し た ロ グ番号ま で回復 し ます。 回復を キ ャ ン セル し た り 、 部 分的な回復を行っ た り し ないで く だ さ い。 15 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 デー タ ベース を開 き ます。 16 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 イ ン ス タ ン ス に ora_setup を実行 し ます が、 新 し いユーザーは作成 し ないで く だ さ い。 「Would you like to create a new SharePlex user [y].」 と 言 う メ ッ セージが表示 さ れた ら 、 「n」 を選択 し て 既存の SharePlex ユーザー と パ ス ワー ド を選びます。 ora_setup の実行方法 の詳細は、 第 11 章を参照 し て く だ さ い。 ま たは、 『SharePlex イ ン ス ト ール お よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順を使用 し て く だ さ い。 ヒ ン ト : バ ッ ク ア ッ プによ っ て既存のユーザーがコ ピー さ れる ため、 新 し いユーザーを 作成する必要はあ り ません。 17 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 cleanup.sql ス ク リ プ ト を実行 し てすべ ての SharePlex 内部テーブルを切 り 詰め ます。 こ の ス ク リ プ ト を実行す る 手 順は、 443 ページにあ り ます。 18 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 19 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 お よ び DML を実行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ます。 20 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 中間お よ び タ ーゲ ッ ト シ ス テ ム のそれ ら のテーブルか ら 、 不要な行や列を削除 し ます。 21 [ カ スケー ド レ プ リ ケーシ ョ ンのみ ] 中間シ ス テ ム で、 SP_OPO_REPLICATE_POSTER パ ラ メ ー タ に 1 を設定 し ます。 こ う す る こ と に よ り 、 当該シ ス テ ム上で Post さ れた変更が捕捉 さ れ、 タ ーゲ ッ ト シ ス テ ム に複製 さ れ ます。 sp_ctrl(sysB)> set param SP_OPO_REPLICATE_POSTER 1 300 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 22 中間お よ び タ ーゲ ッ ト シ ス テ ム で、 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 23 「設定のア ク テ ィ ベー ト が完了 し た後」、 中間お よ び タ ーゲ ッ ト シ ス テ ム で Post プ ロ セ ス を開始 し ます。 こ れで イ ン ス タ ン ス は同期 さ れ、 SharePlex が 複製を継続 し ます。 sp_ctrl(sysB)> start post 24 [ オ プ シ ョ ン ] 部分バ ッ ク ア ッ プ を行っ た場合は、 ホ ッ ト バ ッ ク ア ッ プ中に コ ピー さ れなか っ たテーブル領域を ド ロ ッ プ し て く だ さ い。 章7 SharePlex の複製の開始 301 テープからの export/import または格納/ リ ス ト ア によ るデー タ の同期 ソ ースお よ び タ ーゲ ッ ト デー タ を テープか ら 同期す る ための、 import/export の 手順 と 格納/ リ ス ト アの手順は同 じ です。 次の ス テ ッ プ を順番に実行 し て く だ さ い。 こ の手順では、 コ ピー と 設定のア ク テ ィ ベー ト の実行中は、 デー タ ベー スへのユーザーア ク セ ス を停止す る 必要があ り ます。 以下では、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手 順に従っ て、 タ ーゲ ッ ト イ ン ス タ ン ス の作成、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ムへの SharePlex の イ ン ス ト ール、 ソ ースお よ び タ ーゲ ッ ト イ ン ス タ ン ス での ora_setup の実行がいずれ も 完了 し てい る も の と し て説明を進め ます。 重要! こ の手順を開始する前に、 ア ク テ ィ ベー ト する設定を用意 し ておいて く だ さ い。 1 複製の対象 と な る ソ ース シ ス テ ム上のオブジ ェ ク ト へのア ク セ ス を停止 し ます。 • 集中化レ ポー ト (集約レ プ リ ケーシ ョ ン) のために複製を行 う 場合は、 すべての ソ ース シ ス テ ムへのア ク セ ス を一斉に停止 し て、 同時にそれ ら の コ ピーを作成 し ます。 「ま たは」、 次の手順を使用 し て、 ソ ース シ ス テ ム を 1 つずつ同期 し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は、 「信頼 さ れ る ソ ース」 も 含め、 設定内の 「すべてのデー タ ベース」 へのア ク セ ス を停止 し ます。 2 ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン での信頼 さ れ る ソ ース シ ス テ ム) の フ ァ イ ルを Export ま たは格納 し ます。 3 ソ ース シ ス テ ム で、 sp_cop お よ び sp_ctrl を開始 し ます。 集約レ プ リ ケー シ ョ ンの場合で、 別々の sp_cop イ ン ス タ ン ス を使用 し てい る 場合は、 最初 に こ のシ ス テ ム にあ る 変数デー タ デ ィ レ ク ト リ 用のポー ト お よ び SP_SYS_VARDIR 変数を export し ます。 4 ソ ース シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 設定のア ク テ ィ ベー ト の詳細は、 315 ページ を参照 し て く だ さ い。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 信頼 さ れ る ソ ース シ ス テ ム上の設定のみを ア ク テ ィ ベー ト し ま す。 こ れに よ っ て、 コ ピーの作成中 も activation プ ロ セ ス が処理を続行で き ます。 sp_ctrl(sysA)> activate config filename 302 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 5 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 sp_cop お よ び sp_ctrl を開始 し ます。 • 集約レ プ リ ケーシ ョ ンの場合で、 別々の sp_cop イ ン ス タ ン ス を使用 し て い る 場合は、 最初に変数デー タ デ ィ レ ク ト リ 用のポー ト お よ び SP_SYS_VARDIR 変数を export し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 セ カ ン ダ リ ソ ース シ ス テ ム、 すなわち信頼 さ れ る ソ ース シ ス テ ムのデー タ の コ ピー先 と な る シ ス テ ム で、 sp_cop お よ び sp_ctrl プ ロ セ ス を開始 し ます。 6 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 Post を停止 し ます。 • こ れが集約レ プ リ ケーシ ョ ンの タ ーゲ ッ ト シ ス テ ム で、 sp_cop の イ ン ス タ ン ス が複数稼動 し てい る 場合は、 それぞれについて Post を停止 し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 すべてのセ カ ン ダ リ ソ ース シ ス テ ムの Post を停止 し ます。 Post を停止す る と 、 タ ーゲ ッ ト デー タ が確立 さ れ る 前に複製 さ れたデー タ を、 Post queue で収集で き ます。 sp_ctrl(sysB)> stop post 7 ソ ース シ ス テ ム上のデー タ ベースへのユーザーア ク セ ス を再度許可 し ます (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は信頼 さ れ る ソ ース シ ス テ ム 「の み」、 集約レ プ リ ケーシ ョ ン の場合はすべての ソ ース シ ス テ ム)。 8 ソ ース シ ス テ ム で status コ マ ン ド を使用 し て、 SharePlex プ ロ セ ス が実行中 であ る こ と を確認 し ます。 sp_ctrl(sysA)> status 9 そのシ ス テ ム で Oracle デー タ ベース に よ る カ ス ケー ド レ プ リ ケーシ ョ ン を 使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中間シ ス テ ム に、 ま たは高可用性 お よ びピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合はセ カ ン ダ リ シ ス テ ム に、 デー タ を イ ン ポー ト ま たは リ ス ト ア し ます。 10 該当す る 手順に従っ て、 ト リ ガ を処理 し ます。 A 高可用性レ プ リ ケーシ ョ ンの場合 : セ カ ン ダ リ テーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 B ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合 : すべてのテーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト 章7 SharePlex の複製の開始 303 リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 C その他のすべての複製シナ リ オの場合 : タ ーゲ ッ ト テーブル (「 さ ら に」、 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は中間シ ス テ ム 上の タ ーゲ ッ ト テーブル) に対 し て ト リ ガ を無効にす る か、 ま たは sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視 す る よ う に し ます。 11 タ ーゲ ッ ト テーブル (「 さ ら に」、 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し て い る 場合は中間シ ス テ ム上の タ ーゲ ッ ト テーブル) で、 チ ェ ッ ク 制約、 カ ス ケー ド 削除、 お よ び DML を実行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は、 すべての複製シ ス テ ム で、 ト リ ガにカ ス ケー ド 削除機能を組み込む必要があ り ます。 12 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 不要な行や列を それ ら のテーブ ルか ら 削除 し ます。 13 [ カ スケー ド レ プ リ ケーシ ョ ンのみ ] 中間シ ス テ ム で、 SP_OPO_REPLICATE_POSTER パ ラ メ ー タ に 1 を設定 し ます。 こ う す る こ と に よ り 、 当該シ ス テ ム上で Post さ れた変更が捕捉 さ れ、 タ ーゲ ッ ト シ ス テ ム に複製 さ れ ます。 sp_ctrl(sysB)> set param SP_OPO_REPLICATE_POSTER 1 14 [カ スケー ド レ プ リ ケーシ ョ ンのみ] 中間シ ス テ ム で、 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 15 [高可用性のみ] タ ーゲ ッ ト シ ス テ ム で、 Export を停止 し ます。 sp_ctrl(sysB)> stop export 16 [高可用性お よびピ ア ト ゥ ピ アのみ] セ カ ン ダ リ シ ス テ ム (高可用性)、 ま たは その他のすべての ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア) で、 ソ ース (ま たは信 頼 さ れ る ソ ース) シ ス テ ム を複製す る 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 17 タ ーゲ ッ ト シ ス テ ム、 中間シ ス テ ム (カ ス ケー ド レ プ リ ケーシ ョ ン)、 すべ てのシ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン) のいずれかで、 Post を開 始 し ます。 こ れが中央の タ ーゲ ッ ト シ ス テ ム で、 複数の sp_cop イ ン ス タ ン ス が稼動 し てい る 場合は、 それぞれについて Post を開始 し ます。 SharePlex 304 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 は Post queue に蓄積 さ れてい る SQL 文の実行を開始 し 、 ソ ースお よ び タ ー ゲ ッ ト デー タ の同期を維持 し ます。 sp_ctrl(sysB)> start post 18 [ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのみ] すべてのシ ス テ ム上のデー タ ベースへ のユーザーア ク セ ス を許可 し ます。 章7 SharePlex の複製の開始 305 FTP によ るデー タ の同期 次の ス テ ッ プ を順番に実行 し て く だ さ い。 以下では、 『SharePlex イ ン ス ト ール お よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手順に従っ て、 タ ーゲ ッ ト イ ン ス タ ン ス の作成、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ムへの SharePlex の イ ン ス ト ール、 ソ ースお よ び タ ーゲ ッ ト イ ン ス タ ン ス での ora_setup の実行がいずれ も 完了 し てい る も の と し て説明を進め ます。 こ の手順では、 コ ピー と 設定のア ク テ ィ ベー ト の実行中は、 デー タ ベースへのユーザーア ク セ ス を停止す る 必要があ り ます。 重要! こ の手順を開始する前に、 ア ク テ ィ ベー ト する設定を ソ ース シス テムに用意 し て おいて く だ さ い。 1 ソ ース の Oracle イ ン ス タ ン ス を シ ャ ッ ト ダ ウ ン し ます。 • 集中化レ ポー ト (集約レ プ リ ケーシ ョ ン) のために複製を行 う 場合は、 すべての ソ ース イ ン ス タ ン ス を一斉にシ ャ ッ ト ダ ウ ン し て、 同時にそれ ら の コ ピーを作成 し ます。 「ま たは」、 次の手順を使用 し て、 ソ ース イ ン ス タ ン ス を 1 つずつ同期 し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は、 「信頼 さ れ る ソ ース」 も 含め、 設定内のすべてのデー タ ベース を シ ャ ッ ト ダ ウ ン し ます。 2 フ ァ イ ルに対す る 許可 と 所有権を維持 し なが ら 、 ソ ース シ ス テ ム か ら タ ー ゲ ッ ト シ ス テ ム に フ ァ イ ルを FTP し ます。 ピ ア ト ゥ ピ アの設定の場合は、 信頼 さ れ る ソ ース シ ス テ ムか ら 相手側のセ カ ン ダ リ ソ ース シ ス テ ムに フ ァ イ ルを FTP し ます。 3 ソ ース シ ス テ ム で、 sp_cop お よ び sp_ctrl を開始 し ます。 集約レ プ リ ケー シ ョ ンの場合で、 別々の sp_cop イ ン ス タ ン ス を使用 し てい る 場合は、 最初 に こ のシ ス テ ム にあ る 変数デー タ デ ィ レ ク ト リ 用のポー ト お よ び SP_SYS_VARDIR 変数を export し ます。 4 ソ ース Oracle イ ン ス タ ン ス を開 き ますが、 ユーザーア ク セ ス は許可 し ない で く だ さ い。 5 ソ ース シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 設定のア ク テ ィ ベー ト の詳細は、 315 ページ を参照 し て く だ さ い。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 信頼 さ れ る ソ ース シ ス テ ム上の設定のみを ア ク テ ィ ベー ト し ま す。 こ れに よ っ て、 コ ピーの作成中 も activation プ ロ セ ス が処理を続行で き ます。 sp_ctrl(sysA)> activate config filename 306 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 sp_cop お よ び sp_ctrl を開始 し ます。 • 集約レ プ リ ケーシ ョ ンの場合で、 別々の sp_cop イ ン ス タ ン ス を使用 し て い る 場合は、 最初に変数デー タ デ ィ レ ク ト リ 用のポー ト お よ び SP_SYS_VARDIR 変数を export し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 セ カ ン ダ リ ソ ース シ ス テ ム、 すなわち信頼 さ れ る ソ ース シ ス テ ムのデー タ の コ ピー先 と な る シ ス テ ム で、 sp_cop お よ び sp_ctrl プ ロ セ ス を開始 し ます。 7 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 Post を停止 し ます。 • こ れが集約レ プ リ ケーシ ョ ンの タ ーゲ ッ ト シ ス テ ム で、 sp_cop の イ ン ス タ ン ス が複数稼動 し てい る 場合は、 それぞれについて Post を停止 し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 すべてのセ カ ン ダ リ ソ ース シ ス テ ムの Post を停止 し ます。 Post を停止す る と 、 タ ーゲ ッ ト デー タ が確立 さ れ る 前に複製 さ れたデー タ を、 Post queue で収集で き ます。 sp_ctrl(sysB)> stop post 8 ソ ース シ ス テ ム上のデー タ ベースへのユーザーア ク セ ス を再度許可 し ます (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は信頼 さ れ る ソ ース シ ス テ ム 「の み」、 集約レ プ リ ケーシ ョ ン の場合はすべての ソ ース シ ス テ ム)。 9 ソ ース シ ス テ ム で status コ マ ン ド を使用 し て、 SharePlex プ ロ セ ス が実行中 であ る こ と を確認 し ます。 sp_ctrl(sysA)> status 10 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間 イ ン ス タ ン ス を開 き ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 す べてのセ カ ン ダ リ ソ ース シ ス テ ム上の、 すべての イ ン ス タ ン ス を開 き ます。 11 タ ーゲ ッ ト シ ス テ ム、 中間シ ス テ ム (カ ス ケー ド レ プ リ ケーシ ョ ン)、 セ カ ン ダ リ ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン) のいずれかで、 デー タ を イ ン ポー ト ま たは リ ス ト ア し ます。 12 該当す る 手順に従っ て、 ト リ ガ を処理 し ます。 A 高可用性レ プ リ ケーシ ョ ンの場合 : セ カ ン ダ リ テーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 章7 SharePlex の複製の開始 307 B ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合 : すべてのテーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 C その他のすべての複製シナ リ オの場合 : タ ーゲ ッ ト テーブル (「 さ ら に」、 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は中間シ ス テ ム 上の タ ーゲ ッ ト テーブル) に対 し て ト リ ガ を無効にす る か、 ま たは sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視 す る よ う に し ます。 13 タ ーゲ ッ ト テーブル、 お よ びカ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は中間シ ス テ ム上の タ ーゲ ッ ト テーブルで、 チ ェ ッ ク 制約、 カ ス ケー ド 削除、 お よ び DML を実行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ま す。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 すべての複製シ ス テ ム で、 ト リ ガにカ ス ケー ド 削除機能を組み込む必要があ り ます。 14 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 不要な行や列を それ ら のテーブ ルか ら 削除 し ます。 15 [ カ スケー ド レ プ リ ケーシ ョ ンのみ ] 中間シ ス テ ム で、 SP_OPO_REPLICATE_POSTER パ ラ メ ー タ に 1 を設定 し ます。 こ う す る こ と に よ り 、 当該シ ス テ ム上で Post さ れた変更が捕捉 さ れ、 タ ーゲ ッ ト シ ス テ ム に複製 さ れ ます。 sp_ctrl(sysB)> set param SP_OPO_REPLICATE_POSTER 1 16 [カ スケー ド レ プ リ ケーシ ョ ンのみ] 中間シ ス テ ム で、 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 17 [高可用性のみ] タ ーゲ ッ ト シ ス テ ム で、 Export を停止 し ます。 sp_ctrl(sysB)> stop export 18 [高可用性お よびピ ア ト ゥ ピ アのみ] セ カ ン ダ リ シ ス テ ム (高可用性)、 ま たは その他のすべての ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア) で、 ソ ース (ま たは信 頼 さ れ る ソ ース) シ ス テ ム を複製す る 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 19 タ ーゲ ッ ト シ ス テ ム、 中間シ ス テ ム (カ ス ケー ド レ プ リ ケーシ ョ ン)、 すべ てのシ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン) のいずれかで、 Post を開 308 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 始 し ます。 こ れが中央の タ ーゲ ッ ト で、 複数の sp_cop イ ン ス タ ン ス が稼動 し てい る 場合は、 それぞれについて Post を開始 し ます。 SharePlex は Post queue に蓄積 さ れてい る SQL 文の実行を開始 し 、 ソ ースお よ び タ ーゲ ッ ト デー タ の同期を維持 し ます。 sp_ctrl(sysB)> start post 20 [ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのみ] すべてのシ ス テ ム上のデー タ ベースへ のユーザーア ク セ ス を許可 し ます。 章7 SharePlex の複製の開始 309 ト ラ ン スポー タ ブルテーブル領域機能によ るデー タ の同期 ト ラ ン ス ポー タ ブルテーブル領域機能を使用す る と 、 最小のダ ウ ン タ イ ム で多 数のオブジ ェ ク ト をすばや く 同期お よ び再同期で き ます。 ト ラ ン ス ポー タ ブル テーブル領域機能では、 メ タ デー タ (デー タ デ ィ ク シ ョ ナ リ ) のみを export し 、 その後でデー タ フ ァ イ ルを コ ピー し ます。 こ の方法では イ ンデ ッ ク ス も 移 動 さ れ る ため、 タ ーゲ ッ ト シ ス テ ム で イ ンデ ッ ク ス を再構築す る 必要がな く な る ほか、 複数のテーブル領域を一度に移動す る こ と も で き ます。 以下では、 ト ラ ン ス ポー タ ブルテーブル領域機能の使用方法を理解 し てい る こ と を前提に、 こ の機能を使用 し て複製用のデー タ 同期を行 う 場合の ス テ ッ プの みを取 り 上げます。 以下では、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の手 順に従っ て、 ソ ースお よ び タ ーゲ ッ ト シ ス テ ムへの SharePlex の イ ン ス ト ール と 、 ソ ースお よ び タ ーゲ ッ ト イ ン ス タ ン ス での ora_setup の実行がいずれ も 完 了 し てい る も の と し て説明を進め ます。 重要! こ の手順を開始する前に、 ア ク テ ィ ベー ト する設定を用意 し ておいて く だ さ い。 1 ソ ース テーブル領域を読み取 り 専用に設定 し ます (alter tablespace TRANS read only;)。 2 ソ ース シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 設定のア ク テ ィ ベー ト の詳細は、 315 ページ を参照 し て く だ さ い。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 信頼 さ れ る ソ ース シ ス テ ム上の設定のみを ア ク テ ィ ベー ト し ま す。 こ れに よ っ て、 コ ピーの作成中 も activation プ ロ セ ス が処理を続行で き ます。 sp_ctrl(sysA)> activate config filename 3 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 sp_cop お よ び sp_ctrl を開始 し ます。 集約レ プ リ ケーシ ョ ン の場合で、 別々の sp_cop プ ロ セ ス を使用 し てい る 場合は、 最初に変数デー タ デ ィ レ ク ト リ 用のポー ト お よ び SP_SYS_VARDIR 変数を export し ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合は、 セ カ ン ダ リ ソ ース シ ス テ ム、 す なわち信頼 さ れ る ソ ース シ ス テ ムのデー タ の コ ピー先 と な る シ ス テ ム で、 sp_cop お よ び sp_ctrl プ ロ セ ス を開始 し ます。 4 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 タ ーゲ ッ ト お よ び中 間シ ス テ ム で、 Post を停止 し ます。 310 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • こ れが集約レ プ リ ケーシ ョ ンの タ ーゲ ッ ト シ ス テ ム で、 sp_cop の イ ン ス タ ン ス が複数稼動 し てい る 場合は、 それぞれについて Post を停止 し ます。 • ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 すべてのセ カ ン ダ リ ソ ース シ ス テ ムの Post を停止 し ます。 Post を停止す る と 、 タ ーゲ ッ ト デー タ が確立 さ れ る 前に複製 さ れたデー タ を、 Post queue で収集で き ます。 sp_ctrl(sysB)> stop post 5 Oracle の指示に従っ て、 メ タ デー タ を エ ク ス ポー ト フ ァ イ ルにエ ク ス ポー ト し ます。 6 エ ク ス ポー ト が完了 し た ら 、 デー タ フ ァ イ ルを ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン での信頼 さ れ る ソ ース) 上の も う 1 つの ロ ケーシ ョ ンに コ ピー し ます。 こ う す る こ と で、 フ ァ イ ルを タ ーゲ ッ ト シ ス テ ムに コ ピーす る ソ ースデー タ ベースへの影響を最小にで き ます。 7 ソ ース テーブル領域を read/write モー ド に戻 し ます (alter Tablespace NAME read write;)。 8 コ ピー さ れたデー タ フ ァ イ ルやテーブル領域が タ ーゲ ッ ト デー タ ベース、 中間デー タ ベース (カ ス ケー ド レ プ リ ケーシ ョ ン)、 セ カ ン ダ リ デー タ ベー ス (高可用性ま たはピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン) のいずれかに存在す る 場合は、 コ ピー さ れた フ ァ イ ルが適用 さ れ る よ う に、 それ ら を ド ロ ッ プ し ます。 9 ソ ース シ ス テ ム上の新 し い ロ ケーシ ョ ン か ら 、 タ ーゲ ッ ト シ ス テ ム (ま た はセ カ ン ダ リ シ ス テ ム) と 中間シ ス テ ム (カ ス ケー ド レ プ リ ケーシ ョ ン) に フ ァ イ ルを コ ピー し ます。 10 フ ァ イ ルを コ ピー し たシ ス テ ム上で、 Oracle の import ユーテ ィ リ テ ィ を使 用 し て、 メ タ デー タ お よ びテーブル領域定義を import し ます。 11 それ ら のシ ス テ ム上のテーブル領域を read/write モー ド に設定 し ます。 12 フ ァ イ ルを コ ピー し た イ ン ス タ ン ス をすべて開 き ます。 13 該当す る 手順に従っ て、 ト リ ガ を処理 し ます。 A 高可用性レ プ リ ケーシ ョ ンの場合 : セ カ ン ダ リ テーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 章7 SharePlex の複製の開始 311 B ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合 : すべてのテーブルに対 し て sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行 し 、 ト リ ガに SharePlex Oracle ユーザーを無視す る よ う に 指示 し ます。 C その他のすべての複製シナ リ オの場合 : タ ーゲ ッ ト テーブル (「 さ ら に」、 カ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は中間シ ス テ ム 上の タ ーゲ ッ ト テーブル) に対 し て ト リ ガ を無効にす る か、 ま たは sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (SharePlex 製品デ ィ レ ク ト リ /util) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視 す る よ う に し ます。 14 タ ーゲ ッ ト テーブル、 お よ びカ ス ケー ド レ プ リ ケーシ ョ ン を使用 し てい る 場合は中間シ ス テ ム上の タ ーゲ ッ ト テーブルで、 チ ェ ッ ク 制約、 カ ス ケー ド 削除、 お よ び DML を実行す る ス ケ ジ ュ ール さ れたジ ョ ブ を無効に し ま す。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン の場合は、 すべての複製シ ス テ ム で、 ト リ ガにカ ス ケー ド 削除機能を組み込む必要があ り ます。 15 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] テーブルに垂直分割ま たは水平分割 レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 不要な行や列を それ ら のテーブ ルか ら 削除 し ます。 16 [ カ スケー ド レ プ リ ケーシ ョ ンのみ ] 中間シ ス テ ム で、 SP_OPO_REPLICATE_POSTER パ ラ メ ー タ に 1 を設定 し ます。 こ う す る こ と に よ り 、 当該シ ス テ ム上で Post さ れた変更が捕捉 さ れ、 タ ーゲ ッ ト シ ス テ ム に複製 さ れ ます。 sp_ctrl(sysB)> set param SP_OPO_REPLICATE_POSTER 1 17 [カ スケー ド レ プ リ ケーシ ョ ンのみ] 中間シ ス テ ム で、 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 18 [高可用性のみ] タ ーゲ ッ ト シ ス テ ム で、 Export を停止 し ます。 sp_ctrl(sysB)> stop export 19 [高可用性お よびピ ア ト ゥ ピ アのみ] セ カ ン ダ リ シ ス テ ム (高可用性)、 ま たは その他のすべての ソ ース シ ス テ ム (ピ ア ト ゥ ピ ア) で、 ソ ース (ま たは信 頼 さ れ る ソ ース) シ ス テ ム を複製す る 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 20 タ ーゲ ッ ト シ ス テ ム、 中間シ ス テ ム (カ ス ケー ド レ プ リ ケーシ ョ ン)、 すべ てのシ ス テ ム (ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン) のいずれかで、 Post を開 312 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 始 し ます。 こ れが中央の タ ーゲ ッ ト で、 複数の sp_cop イ ン ス タ ン ス が稼動 し てい る 場合は、 それぞれについて Post を開始 し ます。 SharePlex は Post queue に蓄積 さ れてい る SQL 文の実行を開始 し 、 ソ ースお よ び タ ーゲ ッ ト デー タ の同期を維持 し ます。 sp_ctrl(sysB)> start post 21 [ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのみ] すべてのシ ス テ ム上のデー タ ベースへ のユーザーア ク セ ス を許可 し ます。 章7 SharePlex の複製の開始 313 パー ト 2 : 設定のア ク テ ィ ベー ト と デ ィ ア ク テ ィ ベー ト 設定を ア ク テ ィ ベー ト す る と 、 複製が開始 さ れます。 重要! activate config コ マ ン ド を使用する前に、 verify config コ マ ン ド を忘れずに実 行 し て く だ さ い。 こ の コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 を参照 し て く だ さ い。 sp_cop を シ ャ ッ ト ダ ウ ン し た場合や、 シ ス テ ム、 ネ ッ ト ワー ク 、 Oracle の イ ン ス タ ン ス な ど が利用不能にな っ た場合で も 、 設定はア ク テ ィ ブの ま ま残 り ま す。 複製は一時的に停止 し ますが、 処理が復帰す る と 自動的に再開 し ます。 設定は以下の場合にア ク テ ィ ブでな く な り ます。 • 権限のあ る SharePlex ユーザーが deactivate config ま たは abort config コ マ ン ド 、 ま たはデ ィ ア ク テ ィ ベー ト 機能のあ る SharePlex ユーテ ィ リ テ ィ を使 用 し てデ ィ ア ク テ ィ ベー ト し た場合 ま たは • 同 じ デー タ ソ ース (Oracle イ ン ス タ ン ス) か ら デー タ を複製す る 他の設定 がア ク テ ィ ベー ト さ れた こ と に よ り 、 自動的にデ ィ ア ク テ ィ ベー ト さ れた 場合 設定を ア ク テ ィ ベー ト す る には、 複製す る オブジ ェ ク ト があ る デー タ ベース を マ ウ ン ト し て開 く 必要があ り ます。 デー タ ベース オブジ ェ ク ト のサ イ ズ、 数、 お よ び構造、 行連鎖の量、 お よ び使用す る activation の タ イ プに よ っ て、 ア ク テ ィ ベー ト に必要な時間の長 さ は異な り ます。 設定のア ク テ ィ ベー ト について 設定を ア ク テ ィ ベー ト す る には、 sp_ctrl で activate config コ マ ン ド を使用 し ま す。 記載 さ れてい る 手順に従っ て、 SharePlex の最初の同期や再同期な ど を行 う 場合は、 推奨 さ れ る コ マ ン ド オプシ ョ ン を使用 し て く だ さ い。 314 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 重要! こ の コ マ ン ド を使用する前に、 activate config を始め と する設定 コ マ ン ド の詳 細を 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 で確認 し ておいて く だ さ い。 SharePlex は、 ア ク テ ィ ベー ト の実行中に次の操作を行い ます。 1. Activation ID の割 り 当て 設定の activation プ ロ セ ス と 、 それに関連す る 複製プ ロ セ スやキ ュ ーを識別す る ための activation ID 番号を割 り 当て ます。 こ の番号は内部テーブルの SHAREPLEX_ACTID に格納 さ れ、 SharePlex ユーザーには認識 さ れません。 2. オブ ジ ェ ク ト およびパーテ ィ シ ョ ンキ ャ ッ シ ュの作成 オブ ジ ェ ク ト キ ャ ッ シ ュ は、 各テーブルが持つ Oracle のオブジ ェ ク ト ID と シーケ ン ス を、 オブジ ェ ク ト の名前にマ ッ プす る ために構築 さ れ ます。 • object cache には、 すべてのテーブルについて、 その名前、 サ イ ズ、 列の タ イ プ、 NOT-NULL 制約のほか、 列がキーに含まれ る かが記録 さ れます。 • 垂直分割レ プ リ ケーシ ョ ン を使用す る テーブルの場合は、 複製 さ れ る 列 に関す る 追加情報が含まれ ます。 • 水平分割レ プ リ ケーシ ョ ン を使用す る テーブルの場合は、 パーテ ィ シ ョ ン条件やルーテ ィ ン グ な ど の重要情報を記録す る 、 パーテ ィ シ ョ ン キ ャ ッ シ ュ が構築 さ れ ます。 3. 設定変更マー カ ーの追加 「設定変更マーカー」 はデー タ ス ト リ ーム に置かれ、 こ れを通 じ て新 し い複製 プ ロ セ ス と キ ュ ーの生成を sp_cop に指示で き ます。 同 じ デー タ ソ ース に対 し て他の設定がア ク テ ィ ブであ る 場合は、 マーカーはその設定をデ ィ ア ク テ ィ ベー ト し 、 古いプ ロ セ スやキ ュ ーはデー タ の post 後に削除 さ れ ます。 4. テーブルのロ ッ ク、 ア ク テ ィ ベーシ ョ ン マー カ ーの追加、 ロ ッ ク解除 設定済みのテーブルは、 ア ク テ ィ ベー ト で き る よ う に ロ ッ ク さ れ ます。 テーブ ルは 次の よ う に ロ ッ ク さ れ ます。 • 複製に追加 さ れたすべてのテーブルが ロ ッ ク さ れ ます。 • 複製か ら 削除 さ れたすべてのテーブルが ロ ッ ク さ れ ます。 章7 SharePlex の複製の開始 315 • ア ク テ ィ ブ設定内で、 「複製先のルー ト 」 が変更 さ れたすべてのテーブルが ロ ッ ク さ れ ます。 ただ し 、 ルー ト が変更 さ れていないテーブルは ロ ッ ク さ れません。 テーブルは、 ロ ッ ク ス レ ッ ド 内で ロ ッ ク さ れ ます。 ス レ ッ ド が存在 し てい る 数 だけのテーブルを同時に ロ ッ ク で き ます。 テーブルを ロ ッ ク す る と 、 そのテー ブルの複製の開始 ( ま たは停止 ) を捕捉 (capture) プ ロ セ ス に知 ら せ る ア ク テ ィ ベーシ ョ ン マーカーがデー タ ス ト リ ームに配置 さ れ ます。 次にテーブルの ロ ッ ク が解除 さ れ ます。 5. テーブルのロ ッ ク解除 ア ク テ ィ ベー ト が完了す る と テーブルの ロ ッ ク が解除 さ れ、 ユーザーは再び デー タ にア ク セ ス で き る よ う にな り ます。 設定のア ク テ ィ ベー ト にあた っ て 次のガ イ ド ラ イ ンは、 ア ク テ ィ ベー ト を無事に実行す る う えで役立ち ます。 設定を簡素化するための Oracle ワイル ド カー ド 使用の検討 設定フ ァ イ ルで Oracle ワ イ ル ド カー ド を使用す る と 、 単一のエ ン ト リ で同 じ 所有者 ( ま たは同 じ ス キーマ ) に所属す る すべてのオブジ ェ ク ト を複製対象に 指定で き ます。 ま た、 not 表記を使用 し て、 単一のエ ン ト リ に例外を指定す る こ と も 可能です。 さ ら に、 ワ イ ル ド カー ド を使っ て特定の ソ ース ス キーマ内の 一連のオブジ ェ ク ト を、 タ ーゲ ッ ト 内の異な る 所有者 ( ま たは ス キーマ ) 名の 下に存在す る 同 じ オブジ ェ ク ト に複製す る こ と も で き ます。 新 し いテーブルを 作成 し た時に、 それが ワ イ ル ド カー ド の条件を満たす場合、 テーブルを自動的 に複製に追加で き ます。 Oracle ワ イ ル ド カー ド の使用方法については、 128 ページ を参照 し て く だ さ い。 activation のその他のガ イ ド ラ イ ン • oratab フ ァ イ ルや Windows レ ジ ス ト リ に記録 さ れてい る ORACLE_SID お よ び ORACLE_HOME の値が正 し く 、 設定内でデー タ ソ ース と し て指定 さ れ てい る 値 と SID が一致す る こ と を確認 し て く だ さ い。 316 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 設定内のオブジ ェ ク ト は、 ア ク テ ィ ベー ト の前に ソ ース イ ン ス タ ン ス に存 在 し なければな り ません。 オブジ ェ ク ト が設定に含ま れてい る も のの、 ア ク テ ィ ベー ト 後ま でに作成 さ れない場合、 その activation は失敗 し ます。 • テーブル上の Oracle パーテ ィ シ ョ ンは、 ア ク テ ィ ベー ト 前に作成 さ れてい る 必要があ り ます。 複製中にテーブルを分割す る と 、 SharePlex は作成 し た 識別情報を失い、 そのテーブルパーテ ィ シ ョ ン か ら の DML は複製 さ れな く な り ます。 複製中のテーブルに Oracle パーテ ィ シ ョ ン を追加す る 方法の詳 細は、 383 ページ を参照 し て く だ さ い。 • Oracle ワ イ ル ド カー ド を使用す る 場合、 ア ク テ ィ ベーシ ョ ン前にすべての 条件 と 制限事項を考慮す る よ う に し て く だ さ い。 詳細は、 128 ページ を参 照 し て く だ さ い。 activation ス テー タ スの表示 sp_ctrl の show activate コ マ ン ド は、 ソ ース シ ス テ ム上のすべてのア ク テ ィ ベーシ ョ ン活動の ス テー タ ス を表示す る ために使用 し ます。 複数の activation が同時に存在す る 場合は、 それ ら の開始順に ス テー タ ス が表示 さ れます。 設定統計の表示 sp_ctrl の show config コ マ ン ド は、 ア ク テ ィ ブ設定の統計を表示す る ために使 用 し ます。 こ の コ マ ン ド で、 設定の ス テー タ ス、 そのデー タ ソ ース、 ア ク テ ィ ベー ト さ れた日付 と 時刻、 設定 さ れてい る オブジ ェ ク ト 数が表示 さ れ ます。 設定のデ ィ ア ク テ ィ ベー ト 設定は次の方法でデ ィ ア ク テ ィ ベー ト で き ます。 • 同 じ デー タ ソ ース に対 し て新 し い設定を ア ク テ ィ ベー ト す る 。 こ れに よ っ て元の設定はデ ィ ア ク テ ィ ベー ト さ れ ます。 ま たは • sp_ctrl で deactivate config ま たは abort config コ マ ン ド を使用す る 。 deactivate config お よ び abort config コ マ ン ド の構文を以下に示 し ます。 こ れ ら の コ マ ン ド の間には、 大 き な違いがあ り ます。 こ れ ら を始め と す る 章7 SharePlex の複製の開始 317 SharePlex コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン スマニ ュ アル』 を参照 し て く だ さ い。 sp_ctrl(sysA)> deactivate config filename ま たは sp_ctrl(sysA)> abort config filename 警告!設定をデ ィ ア ク テ ィ ベー ト または中断する と 、 複製が停止 し ます。 設定 さ れてい る オブ ジ ェ ク ト にユーザーが引き続いて変更を加え る と 、 ソ ースデー タ と タ ーゲ ッ ト デー タ は同期 し な く な り ます。 318 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 3 : 設定の変更 以下では、 設定の構造を理解 し てい る も の と し て説明を進め ます。 設定の構築 の詳細は、 第 5 章を参照 し て く だ さ い。 ア ク テ ィ ブ設定に変更を加え る には、 copy config コ マ ン ド でその設定を コ ピー し 、 それか ら その コ ピーを edit config コ マ ン ド で編集 し ます。 変更の前に 設定を コ ピーす る こ と で元の フ ァ イ ルを残 し 、 オ リ ジナルが再度必要にな っ た 場合や、 編集に ミ ス があ っ た場合に備え る こ と がで き ます。 し か も 、 新 し い設 定を ア ク テ ィ ベー ト す る タ イ ミ ン グ を制御で き ます。 こ の よ う な理由か ら 、 SharePlex ではア ク テ ィ ブ設定は直接編集で き ない よ う にな っ てい ます。 1 つの設定に多数のオブジ ェ ク ト を追加 し た場合や、 連鎖が大量にあ る テーブ ルを追加 し た場合を除 き 、 編集済みの設定は、 元のア ク テ ィ ベー ト よ り も 短時 間でア ク テ ィ ベー ト で き ます。 ただ し 、 こ れには元の設定をデ ィ ア ク テ ィ ベー ト 「 し ない」 でお く 必要があ り ます。 新 し い設定を、 既存の設定がデ ィ ア ク テ ィ ベー ト さ れ る 前にア ク テ ィ ベー ト す る と 、 SharePlex は 「追加、 変更、 削 除」 さ れたオブジ ェ ク ト のみを分析 し ます。 対照的に、 元の設定をデ ィ ア ク テ ィ ベー ト し てか ら 新 し い設定を ア ク テ ィ ベー ト す る と 、 SharePlex は 「すべ て」 のオブジ ェ ク ト を再度分析 し ます。 複製オブジ ェ ク ト の Oracle 特性を変更する手順の詳細は、 第 10 章 を参照し て く だ さ い。 ア ク テ ィ ブ設定へのオブ ジ ェ ク ト の追加 オブジ ェ ク ト を ア ク テ ィ ブ設定に追加す る と 、 それ ら のオブジ ェ ク ト のみが分 析 さ れます。 そのため、 activation に要す る 時間は初回の activation よ り も 短 く て済みます。 ヒ ン ト : Oracle ワ イル ド カ ー ド を使用 し てお り 、 設定フ ァ イル内の Oracle ワ イル ド カ ー ド 指定が追加対象オブ ジ ェ ク ト を カバー し ている場合、 そのオブ ジ ェ ク ト を設定 フ ァ イルに追加する必要はあ り ません。 条件を満たす任意の新規オブ ジ ェ ク ト が、 複製 に自動的に追加 さ れます。 Oracle ワ イル ド カ ー ド の使用方法については、 128 ページ を参照 し て く だ さ い。 章7 SharePlex の複製の開始 319 ア ク テ ィ ブ設定にテーブルを追加する には 1 「初回のデー タ 同期」 (288 ページ) の指示に従っ て、 新 し い ソ ースお よ び タ ーゲ ッ ト テーブルを同期 し ます。 既存の設定をデ ィ ア ク テ ィ ベー ト し な いで く だ さ い。 2 sp_ctrl で、 copy config コ マ ン ド を発行 し ます。 filename を元の設定の名前 と 、 newname を新 し い設定の名前 と 置 き 換え て く だ さ い。 こ れに よ っ てそ の設定の正確な コ ピーが作成 さ れ、 sp_ctrl プ ロ ン プ ト に戻 り ます。 sp_ctrl(sysA)> copy config filename to newname 3 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ れに よ り 、 設 定フ ァ イ ルが SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 4 新 し い各テーブルの ソ ース所有者 と 名前、 タ ーゲ ッ ト 所有者 と 名前、 ルー テ ィ ン グマ ッ プ を新 し い設定に追加 し ます。 例 owner.table owner.target_table [email protected] 5 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 6 新 し い設定を ア ク テ ィ ベー ト す る 準備が整っ た ら 、 追加 し たテーブルへの ユーザーア ク セ ス を停止 し ます。 7 sp_ctrl 内で、 新 し い設定のために activate config コ マ ン ド を発行 し ます。 sp_ctrl(sysA)> activate config newname 古い設定は自動的にデ ィ ア ク テ ィ ベー ト さ れます。 警告! SharePlex は確認な し で こ の コ マ ン ド を実行 し ます。 8 テーブルへのユーザーア ク セ ス を回復 し ます。 320 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ア ク テ ィ ブ設定へのシーケ ン スの追加 そのシーケ ン ス でテーブルの列にデー タ を投入す る か ど う かに応 じ て、 ア ク テ ィ ブ設定にシーケ ン ス を追加す る 手順を、 以下か ら 選択 し て使用 し て く だ さ い。 追加する シーケ ン スで列にデー タ を投入 し ない場合 次の手順は、 そのシーケ ン ス がテーブルの列にデー タ を投入す る か ど う かに関 わ ら ず使用で き ます。 こ の手順では、 オブジ ェ ク ト へのユーザーア ク セ ス を停 止 し ます。 シーケ ン ス でテーブルの列にデー タ を投入す る 場合で、 ユーザーア ク セ ス を停止で き ない場合は、 こ の説明の後の 「追加す る シーケ ン ス で列に デー タ を投入す る 場合」 の手順を使用 し て く だ さ い。 1 ソ ース シ ス テ ムのユーザー操作を停止 し ます。 2 sp_ctrl で、 copy config コ マ ン ド を発行 し ます。 filename を元の設定の名前 と 、 newname を新 し い設定の名前 と 置 き 換え て く だ さ い。 こ れに よ っ てそ の設定の正確な コ ピーが作成 さ れ、 sp_ctrl プ ロ ン プ ト に戻 り ます。 sp_ctrl(sysA)> copy config filename to newname 3 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ れに よ り 、 設 定フ ァ イ ルが SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワ ー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 4 新 し い各 ソ ース シーケ ン ス の ソ ース所有者 と 名前、 各 タ ーゲ ッ ト シーケ ン ス の所有者 と 名前、 ルーテ ィ ン グマ ッ プ を新 し い設定に追加 し ます。 例 owner.sequence owner.target_sequence [email protected] 5 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワ ー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 6 タ ーゲ ッ ト シ ス テ ムに タ ーゲ ッ ト シーケ ン ス を作成 し ます。 タ ーゲ ッ ト シ ス テ ム での一意性を保証す る には、 タ ーゲ ッ ト シーケ ン ス の開始値が 「 ソ ース」 シーケ ン ス の開始点 よ り 大 き く なければな り ません。 次の公式を 使っ て、 タ ーゲ ッ ト の START_WITH の値を求め ます。 {source_INCREMENT_BY_value} x {source_CACHE_value} = START_WITH_value 章7 SharePlex の複製の開始 321 7 sp_ctrl 内で、 新 し い設定のために activate config コ マ ン ド を発行 し ます。 sp_ctrl(sysA)> activate config newname 古い設定は自動的にデ ィ ア ク テ ィ ベー ト さ れます。 警告! SharePlex は確認な し で こ の コ マ ン ド を実行 し ます。 8 ソ ース シ ス テ ム のユーザー操作を再開 し ます。 追加する シーケ ン スで列にデー タ を投入する場合 シーケ ン ス を ア ク テ ィ ブ設定に追加 し 、 そのシーケ ン ス でテーブルの列にデー タ を投入す る 場合で、 そのオブジ ェ ク ト に対す る ユーザーア ク セ ス を停止で き ない場合は、 こ の手順を使用 し て く だ さ い。 1 sp_ctrl で、 copy config コ マ ン ド を発行 し ます。 filename を元の設定の名前 と 、 newname を新 し い設定の名前 と 置 き 換え て く だ さ い。 こ れに よ っ てそ の設定の正確な コ ピーが作成 さ れ、 sp_ctrl プ ロ ン プ ト に戻 り ます。 sp_ctrl(sysA)> copy config filename to newname 2 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ れに よ り 、 設 定フ ァ イ ルが SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 3 新 し い各 ソ ース シーケ ン ス の ソ ース所有者 と 名前、 各 タ ーゲ ッ ト シーケ ン ス の所有者 と 名前、 ルーテ ィ ン グマ ッ プ を新 し い設定に追加 し ます。 例 owner.sequence owner.target_sequence [email protected] 4 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 5 sp_ctrl 内で、 新 し い設定のために activate config コ マ ン ド を発行 し ます。 sp_ctrl(sysA)> activate config newname 古い設定は自動的にデ ィ ア ク テ ィ ベー ト さ れます。 警告! SharePlex は確認な し で こ の コ マ ン ド を実行 し ます。 322 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 ソ ース シ ス テ ム で、 デー タ を ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムに フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点を確立す る マーカーを、 デー タ ス ト リ ームに置 き ます。 次の構文中の datasource は、 o. の後に ソ ース イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 sp_ctrl(sysA)> flush datasource 7 Post の停止後、 タ ーゲ ッ ト シ ス テ ムに次の Oracle コ マ ン ド を発行 し 、 シー ケ ン ス の最後の既知の値を探 し ます。 select max(column_name) = last known value 8 次の式の値を計算 し ます。 {source_INCREMENT_BY_value} x {source_CACHE_value} た と えば、 ソ ース シーケ ン スの増分値が 2 であ り 、 キ ャ ッ シ ュ サ イ ズが 10 であ る場合は、 値は 20 にな り ます。 9 ス テ ッ プ 7 の select max (column_name) コ マ ン ド で得 ら れた値を起点 と し て、 次に高い {source_INCREMENT_BY_value x source_CACHE_value} の倍数を計算 し ます。 例: INCREMENT_BY = 2 CACHE = 10 select max(column_name) = 24 (2 × 10) の倍数で、 24 よ り 大 き い値 = 40 10 ス テ ッ プ 9 で得 ら れた値に、 {source_INCREMENT_BY_value x source_CACHE_value} の値 を さ ら に加え ます。 その結果が タ ーゲ ッ ト シーケ ン ス の START WITH の値にな り ます。 上の例の続 き では、 START WITH の 値は次の よ う にな り ます。 40 + (2 x 10) = 60 11 計算 し た START WITH の値を使用 し て、 タ ーゲ ッ ト シーケ ン ス を作成 し ま す。 12 Post プ ロ セ ス を起動 し ます。 sp_ctrl(sysB)> start post 章7 SharePlex の複製の開始 323 SharePlex は、 タ ーゲ ッ ト シーケ ン ス を、 ソ ース シーケ ン ス よ り も 大 き い値で、 かつ最低で {source_INCREMENT_BY_value x source_CACHE_value} の 1 倍の値に保 ち なが ら 、 複製を継続 し ます。 重要!シーケ ン スは ト ラ ンザク シ ョ ンがロールバ ッ ク さ れた場合も加算 さ れてい き ま す。 複製 さ れたシーケ ン ス を使用 し ている ソ ース テーブルに何度も ロールバ ッ ク操作を 行 う と 、 テーブルの列のシーケ ン ス値は、 実際には使用 さ れないま ま、 値だけが増加 し ます。 その結果、 次に有効な操作が複製 さ れた と き、 タ ーゲ ッ ト シス テム上のシーケ ン ス値が、 複製 さ れた行の値よ り も 小 さ く な る場合があ り ます。 ロールバ ッ クが何度も発 生 し た場合は、 タ ーゲ ッ ト テーブルを定期的に確認 し て、 タ ーゲ ッ ト シーケ ン スの現在 値が、 テーブルの最大値よ り も 大き い こ と を確認 し て く だ さ い。 タ ーゲ ッ ト シーケ ン ス の現在値がテーブルの最大値よ り も 小 さ い場合は、 前述の手順を繰 り 返 し て、 シーケ ン ス関係を再度確立 し て く だ さ い。 324 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ア ク テ ィ ブ設定からのオブ ジ ェ ク ト の削除 ア ク テ ィ ブ設定か ら オブジ ェ ク ト を削除す る には、 オブジ ェ ク ト を追加す る 場 合 と 似た手順が必要です。 削除 さ れ る オブジ ェ ク ト は新 し い設定がア ク テ ィ ベー ト さ れ る と き に ロ ッ ク さ れ ますが、 ロ ッ ク さ れ る のはそれ ら のオブジ ェ ク ト のみであ る ため、 元の activation よ り も 短時間で済みます。 ヒ ン ト : た と えばデー タ の破損な どの理由で、 その タ ーゲ ッ ト テーブル DML または DDL 操作を適用 し た く ない場合は、 設定フ ァ イルから テーブルを削除するのではな く 、 post を禁止する こ と がで き ます。 テーブルへの post を禁止するには、 SP_OPO_DISABLE_OBJECT_NUM パ ラ メ ー タ を使用 し ます。 こ のパラ メ ー タ の詳細 は SharePlex リ フ ァ レ ン ス マニ ュ アル を参照 し て く だ さ い。 オブ ジ ェ ク ト を削除するには 1 sp_ctrl で、 copy config コ マ ン ド を入力 し ます。 filename を元の設定の名前 と 、 newname を新 し い設定の名前 と 置 き 換え て く だ さ い。 こ れに よ っ てそ の設定の正確な コ ピーが作成 さ れ、 sp_ctrl プ ロ ン プ ト に戻 り ます。 オ リ ジ ナルの設定をデ ィ ア ク テ ィ ベー ト し ないで く だ さ い。 sp_ctrl(sysA)> copy config filename to newname 2 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ れに よ り 、 設 定フ ァ イ ルが SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワ ー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 3 新 し い設定で、 複製か ら 除去す る オブジ ェ ク ト のエ ン ト リ を それぞれ削除 し ます。 (Oracle ワ イ ル ド カー ド を使用 し たエ ン ト リ が、 複製か ら 削除 し よ う と し てい る オブジ ェ ク ト を カバー し てい る 場合は、 not 表記を使っ て当該 オブジ ェ ク ト を複製か ら 除外 し て く だ さ い。 Oracle ワ イ ル ド カー ド の使用 方法については、 128 ページ を参照 し て く だ さ い。 )。 4 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワ ー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 5 オブジ ェ ク ト へのユーザーア ク セ ス を停止 し ます。 6 準備がで き た ら 、 sp_ctrl で新 し い設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config newname 章7 SharePlex の複製の開始 325 元の設定は自動的にデ ィ ア ク テ ィ ベー ト さ れます。 7 activation の後で、 オブジ ェ ク ト へのユーザーア ク セ ス を再開 し ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンの変更 設定を ア ク テ ィ ブに し た ま ま、 垂直分割ま たは水平分割レ プ リ ケーシ ョ ン を使 用 し てい る テーブルの複製に変更を加え る こ と がで き ます。 水平分割レ プ リ ケーシ ョ ンの場合、 加え る 変更に よ っ ては、 設定のほかに SHAREPLEX_PARTITION テーブル も 変更 し なければな ら ない場合があ り ま す。 水平分割レ プ リ ケーシ ョ ン を変更する には 水平分割レ プ リ ケーシ ョ ン を使用 し てい る テーブルの複製を変更す る には、 こ の章の前半で説明 し た設定を変更す る 手順 と 、 必要に応 じ て 「水平分割レ プ リ ケーシ ョ ンの設定」 (151 ページ) の手順を参考に し なが ら 、 次のいずれか を実行 し ます。 • パーテ ィ シ ョ ン ス キーム を追加す る には、 ス キーム情報 と カ ラ ム コ ンデ ィ シ ョ ン を SHAREPLEX_PARTITION テーブルに挿入 し 、 その ス キーム を使 用す る ソ ースお よ び タ ーゲ ッ ト オブジ ェ ク ト の設定用の行を追加 し ます。 • パーテ ィ シ ョ ン ス キーム を変更す る には、 その ス キームに関連 し た SHAREPLEX_PARTITION テーブルの行を更新ま たは削除 し ます。 変更に よ り 、 パーテ ィ シ ョ ン ス キーム自身の名前 も 変更す る 必要があ る 場合は、 設 定のエ ン ト リ を適宜編集 し て く だ さ い。 • 複製か ら パーテ ィ シ ョ ン ス キーム を削除す る には、 設定フ ァ イ ルか ら その ス キーム のエ ン ト リ を削除 し ます。 パーテ ィ シ ョ ン ス キーム情報は SHAREPLEX_PARTITION テーブルか ら 削除で き ますが、 削除 し な く て も か ま い ません。 • 新 し い タ ーゲ ッ ト シ ス テ ム が設定内の ど のルーテ ィ ン グマ ッ プに も 「含ま れていない」 場合に、 そのシ ス テ ム をパーテ ィ シ ョ ン ス キームに追加す る には、 そのシ ス テ ム用のルーテ ィ ン グマ ッ プ を設定に追加 し て く だ さ い。 次の よ う に、 行の先頭に例外マーカー (!) を置 き 、 1 つま たはそれ以上の 空白を入力 し ます。 ! [email protected] 326 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 垂直分割レ プ リ ケーシ ョ ン を変更するには 垂直分割レ プ リ ケーシ ョ ン を使用す る テーブルの複製に変更を加え る には、 こ の章の前半で説明 し た設定を変更す る 手順 と 、 必要に応 じ て 「垂直分割レ プ リ ケーシ ョ ンの設定」 (164 ページ) の手順を参考に し なが ら 、 まずア ク テ ィ ブ設定を コ ピー し 、 次に新 し い設定の列のパーテ ィ シ ョ ン に必要な変更を加え ます。 影響す る テーブルへのユーザーア ク セ ス を停止 し 、 新 し い設定を ア ク テ ィ ベー ト し て く だ さ い。 8 SharePlex で高可用性環境で使用す るには こ の章では、 シ ス テ ム ま たはデー タ ベース に障害が発生 し た場合や、 メ ン テナ ン ス ま たはその他の操作で計画的フ ェ イ ルオーバーを実行 し た際に、 高可用性 UNIX 環境で ど の よ う に複製を保守す る か を説明 し ます。 こ の章で使用す る 手順では、 真の高可用性の環境を想定 し てい ます。 真の可用 性環境では、 プ ラ イ マ リ ( ソ ース) と セ カ ン ダ リ ( タ ーゲ ッ ト ) のデー タ ベー ス が、 オーナーお よ びテーブル名を含め、 互いの ミ ラ ーであ る 必要があ り ま す。 重要! こ の章の手順を使用する前に、 SharePlex の複製を高可用性環境で確立する手順 について 「高可用性およびデー タ リ カバ リ のための複製の設定」 (182 ページ) を参照 し て く だ さ い。 目次 シ ス テム障害の発生後にセ カ ン ダ リ シ ス テムに フ ェ イルオーバーする には シ ス テム障害の発生後にプ ラ イ マ リ シ ス テムに フ ェ イルバ ッ ク する には セ カ ン ダ リ イ ン ス タ ン スに障害が発生 し た際に複製を回復する には 計画的 フ ェ イルオーバー と フ ェ イルバ ッ ク 328 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 シ ス テム障害の発生後にセ カ ン ダ リ シ ス テムに フ ェ イルオーバーするには 「プ ラ イ マ リ 」 ( ソ ース) マシ ン に障害が発生 し た場合、 SharePlex キ ュ ーに 残っ てい る 複製 さ れたデー タ は、 バ ッ フ ァ 上の問題やキ ュ ーが破損 し てい る 可 能性があ る こ と か ら 、 回復不可能 と な り ます。 高可用性の複製環境では、 SharePlex と セ カ ン ダ リ イ ン ス タ ン ス のホ ッ ト バ ッ ク ア ッ プ を使用す る こ と で、 極小のダ ウ ン タ イ ム でユーザーを 「セ カ ン ダ リ 」 ( タ ーゲ ッ ト ) マシ ン に移動 し 、 後で戻す こ と がで き ます。 こ の手順では、 activation と reconcile コ マ ン ド を使用 し ます。 こ の コ マ ン ド は、 コ ピー さ れた イ ン ス タ ン ス が回復 さ れた後、 バ ッ ク ア ッ プの結果ま たは コ ピー を、 現行の複製 さ れたユーザー変更 と 同期 さ せ る コ マ ン ド です。 こ の手順では、 フ ェ イ ルオーバーにおける SharePlex の要件を 取り 上げま す。 ユーザーを プラ イ マリ シス テム に戻す手順は、 330 ページから 説明さ れていま す。 こ の手順では、 次を想定 し ます。 • 「高可用性お よ びデー タ リ カバ リ のための複製の設定」 (182 ページ) に従っ て高可用性の複製環境が確立 さ れてい る 。 • セ カ ン ダ リ シ ス テ ム上で逆設定を ア ク テ ィ ベー ト し 、 ユーザー変更を プ ラ イ マ リ シ ス テ ムに複製す る 準備がで き てい る 。 • 「定期的な SharePlex バ ッ ク ア ッ プ」 (119 ページ) で推奨 さ れてい る よ う に §SharePlex 環境情報を含む UNIX フ ァ イ ルの最新バ ッ ク ア ッ プがあ り 、 アー カ イ ブ を回復す る 準備がで き てい る 。 セ カ ン ダ リ シ ス テムに フ ェ イルオーバーするには 1 セ カ ン ダ リ シ ス テ ム で Export が停止 さ れてい る こ と を確認 し ます。 sp_ctrl(sysB)> stop export 2 「 セカン ダリ 」 シス テム の post queue にある すべてのト ラ ン ザク ショ ン が、 セカ ン ダリ イ ン ス タ ン ス に post でき る よ う にし ま す。 qstatus コ マン ド を 使用し て 「 未処理の」 メ ッ セージ数が「 0」 になる ま で post プロ セス を チェ ッ ク し ま す。 sp_ctrl(sysB)> qstatus 注 : こ こ では、 「 メ ッ セージの総数」 が 「0」 にな る ま で待つのではあ り ません。 SharePlex は ト ラ ンザク シ ョ ン を受信 し た順に post し ますが、 デー タ リ カバ リ に備え て post queue に も 保持 し ます。 こ れら の ト ラ ンザク シ ョ ンは commit でキ ュ ーから 開 放 さ れます。 commit を受信する前にプ ラ イ マ リ シ ス テムで障害が起き た場合、 こ れら の部分的 ト ラ ンザ ク シ ョ ンは、 永久に残 り ます。 こ の問題は、 後の手順で対処 し ます。 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 329 3 INSERT、 UPDATE、 DELETE のア ク セ ス を セ カ ン ダ リ シ ス テ ム のすべての ユーザーに許可す る ス ク リ プ ト を実行 し ます。 4 ユーザーがセ カ ン ダ リ シ ス テ ム を使い始め る と き に ト リ ガ と 制約を こ のシ ス テ ム で有効にす る ス ク リ プ ト を実行 し ます。 5 アプ リ ケーシ ョ ンの起動な ど、 ユーザーを セ カ ン ダ リ シ ス テ ム に移動す る フ ェ イ ルオーバー手順を実装 し ます。 6 セ カ ン ダ リ シ ス テ ムにユーザーを移動 し 、 ユーザーが仕事を再開で き る よ う に し ます。 ただ し 、 Export は開始 し ないで く だ さ い。* こ の時点 よ り 、 ユーザーの ト ラ ンザ ク シ ョ ンは export queue に蓄積 さ れ § ソ ースデー タ ベー ス の回復待ちの状態 と な り ます。 * も し 開始 さ れた場合、 Export が繰 り 返 し プ ラ イ マ リ シ ス テムに接続 し よ う と し 、 シ ス テム リ ソ ースの無駄にな り ます。 330 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 シ ス テム障害の発生後にプ ラ イ マ リ シ ス テムに フ ェ イルバ ッ ク するには プ ラ イ マ リ マシ ン が回復 し た後にユーザーを戻すには、 次の手順に従い ます。 こ の手順は、 簡単に理解 し ていただけ る よ う に、 い く つかの段階に分けて あ り ます。 フ ェ ーズ 1: プ ラ イ マ リ シ ス テムでの複製環境の回復 1 プ ラ イ マ リ シ ス テ ムにて、 アーカ イ ブか ら SharePlex デ ィ レ ク ト リ 、 シ ス テ ム フ ァ イ ル、 Oracle フ ァ イ ルを回復 し ます。 2 プ ラ イ マ リ シ ス テ ムにて、 sp_cop を [-s] オプシ ョ ン付 き で開始 し 、 SharePlex プ ロ セ ス (Capture、 Read、 Export、 Import、 Post) が開始 さ れない よ う に し ます。 $ /productdir/bin/sp_cop -s & 3 プ ラ イ マ リ シ ス テ ムにて、 sp_ctrl を開始 し ます。 4 プ ラ イ マ リ シ ス テ ムにて、 設定をデ ィ ア ク テ ィ ベー ト し ます。 アーカ イ ブ さ れた SharePlex 変数デー タ デ ィ レ ク ト リ を プ ラ イ マ リ シ ス テ ムに コ ピー し た と き 、 シ ス テ ム障害が起 き た前にア ク テ ィ ブであ っ た設定を コ ピー し た こ と にな り ます。 こ れに よ り 、 プ ラ イ マ リ シ ス テ ム での複製が再開 し た と き 、 Capture プ ロ セ ス は ト ラ ンザ ク シ ョ ン番号を 「1」 に設定 し ます。 sp_ctrl(sysA)> deactivate config filename フ ェ ーズ 2: キ ュ ーの消去 5 sp_ctrl を両方 シ ス テ ム で実行 し ます。 6 両方のシ ス テ ム で、 次の例に提供 さ れ る 構文を使っ て delete queue コ マ ン ド を発行 し 、 次のキ ュ ーを削除 し ます。 注 : バ ッ ク ロ グ内に メ ッ セージが存在 し ている と 、 delete queue コ マ ン ド は失敗 し ま す。 A プ ラ イ マ リ シ ス テ ム で capture queue を削除 し ます。 sp_ctrl(sysA)> delete queue datasource:C 例 : sp_ctrl(sysA)> delete queue o.oraA:C 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 331 B プ ラ イ マ リ シ ス テ ム で export queue を削除 し ます。 sp_ctrl(sysA)> delete queue queuename:X 例 : sp_ctrl(sysA)> delete queue sysA:X C セ カ ン ダ リ シ ス テ ム で post queue を削除 し ます。 sp_ctrl(sysB)> delete queue queuename:P for datasource-datadest 例 : sp_ctrl(sysA)> delete queue sysA:P for o.oraA-o.oraB 注 : プ ラ イ マ リ シ ス テムで delete queue コ マ ン ド を発行するのは、 アー カ イ ブ さ れた SharePlex デ ィ レ ク ト リ (プ ラ イ マ リ 設定からの capture と export) を回復 し た こ と で、 「古い」 SharePlex キ ュ ーが回復 さ れたためです。 また、 セ カ ン ダ リ シ ス テムで delete queue コ マ ン ド を発行するのは、 Post が COMMIT を受信する前にプ ラ イ マ リ シス テムの障害が起き たため、 post queue に残っ ているデー タ が post で き ないから です。 設定を再ア ク テ ィ ベー ト し 、 2 つのシ ス テム が reconcile さ れる と 、 SharePlex でキ ュ ーが再構築 さ れます。 delete queue コ マ ン ド の詳細は、 SharePlex リ フ ァ レ ン スマニ ュ アル を参照 し て く だ さ い。 フ ェ ーズ 3: セ カ ン ダ リ から プ ラ イ マ リ への複製の開始 7 プ ラ イ マ リ シ ス テ ム で status コ マ ン ド を発行 し 、 すべての SharePlex プ ロ セ ス が停止 さ れてい る こ と を確認 し ます。 sp_ctrl(sysA)> status 8 プ ラ イ マ リ シ ス テ ム で Post プ ロ セ ス を停止 し ます。 sp_ctrl(sysA)> stop post 9 セ カ ン ダ リ シ ス テ ム で Export プ ロ セ ス を開始 し ます。 こ れに よ り 、 プ ラ イ マ リ と セ カ ン ダ リ シ ス テ ムの間の通信が確立 さ れ ます。 sp_ctrl(sysB)> start export フ ェ ーズ 4: デー タ の同期化 10 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し 、 セ カ ン ダ リ シ ス テ ム でホ ッ ト バ ッ ク ア ッ プ を実行 し ます。 332 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • ホ ッ ト バ ッ ク ア ッ プが完了 し た ら 、 セ カ ン ダ リ シ ス テ ム で ロ グ フ ァ イ ル を切替え、 アーカ イ ブ ロ グの最高順序番号を書 き 留めてお き ます。 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プか ら プ ラ イ マ リ デー タ ベース を回復 し 、 前途の ス テ ッ プで記録 し た番 号の ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 注 : こ れによ り 、 起動時にプ ラ イ マ リ シ ス テムのシーケ ン スがキ ャ ッ シ ュの最高位に リ セ ッ ト さ れます。 11 プ ラ イ マ リ シ ス テ ム で、 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 (キ ュ ー の名前を知 ら ない場合は、 qstatus コ マ ン ド を発行 し ます。) sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 こ の コ マ ン ド を、 ス テ ッ プ 10 で記録 し た ロ グ番号 と 置 き 換え て使用 し ま す。 sp_ctrl(sysA)> reconcile queue queuename for datasource-datadest seq sequence_number た と えば、 SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に複製す る 場 合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysA)> reconcile queue SysA for o.oraA-o.oraA [seq 1234] 12 プ ラ イ マ リ シ ス テ ム で次を無効ま たは変更 し ます。 • • • • • ト リガ 外部キー制約 カ ス ケー ド 削除制約 チ ェ ッ ク 制約 DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 13 プ ラ イ マ リ シ ス テ ム で SharePlex Oracle ユーザー と し て SQL*Plus に ロ グオ ン し 、 SharePlex 製品デ ィ レ ク ト リ 内の bin サブデ ィ レ ク ト リ か ら cleanup.sql ユーテ ィ リ テ ィ を実行 し ます。 こ れに よ り 、 SharePlex テーブル が切 り 詰め ら れ、 SHAREPLEX_ACTID テーブルが更新 さ れます。 SQL> @/productdir/bin/cleanup.sql 14 セ カ ン ダ リ シ ス テ ム で SHAREPLEX_TRANS テーブルを切 り 詰め ます。 こ のテーブルには、 プ ラ イ マ リ シ ス テ ム が障害を起 こ す前に Post プ ロ セ ス に 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 333 よ っ て使用 さ れていた ト ラ ンザ ク シ ョ ン情報が含ま れてい る ため、 し た が っ て こ の情報は陳腐です。 テーブルを切 り 詰め る こ と で、 2 つのシ ス テ ム 間で ト ラ ンザ ク シ ョ ン の一貫性を回復す る こ と がで き ます。 フ ェ ーズ 5: プ ラ イ マ リ シス テムでの複製のア ク テ ィ ベー ト 15 sp_ctrl で、 デフ ォ ル ト の multi-threaded activation を使用 し てプ ラ イ マ リ シ ス テ ムの設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 16 プ ラ イ マ リ シ ス テ ム で Post を開始 し ます。 sp_ctrl(sysA)> start post フ ェ ーズ 6: Object Cache の回復 17 プ ラ イ マ リ シ ス テ ム で status コ マ ン ド を発行 し ます。 Post がエ ラ ーのため 停止 さ れてい ます。 こ のエ ラ ーは、 object cache が見つか ら ないのが原因で す。 次の手順に従っ て object-cache フ ァ イ ルを回復 し て く だ さ い。 sp_ctrl(sysA)> status 18 プ ラ イ マ リ シ ス テ ム上で、 Event Log に対 し て show log コ マ ン ド を発行 し 、 キー ワ ー ド 「objcache」 を フ ィ ル タ リ ン グ し ます。 以下の例の よ う に、 文字 列 「objcache_sp_opst_mt」 の後に数字が付いた名前を持つフ ァ イ ルを参照す る Post エ ラ ー メ ッ セージ を探 し ます。 こ れが、 Post プ ロ セ ス が必要な object-cache フ ァ イ ルです。 named post queues を使用 し てい る 場合は、 複数 のエ ラ ー メ ッ セージがあ り 、 それぞれ異な る object-cache フ ァ イ ルを参照 し 、 同一の番号で終わ り ます (下記の例では 「.18」)。 sp_ctrl(sysA)> show log filter=objcache Post object-cache フ ァ イ ルの例 : 0x0a0100c5+PP+sys4+sp_opst_mt+o.quest-o.ov-objcache_sp_opst_mt.18 19 エ ラ ー メ ッ セージで参照 さ れてい る Post object-cache フ ァ イ ルの完全な pathname を記録 し ます。 パ ス は、 SharePlex 変数デー タ デ ィ レ ク ト リ 内の state デ ィ レ ク ト リ と な り ます。 例 : splex_vardir/state/0x0a0100c5+PP+sys4+sp_opst_mt+o.quest-o.ovobjcache_sp_opst_mt.18. 334 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 20 セ カ ン ダ リ シ ス テ ム で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 こ れに よ り 、 Capture の object cache がデ ィ ス ク に フ ラ ッ シ ュ さ れ、 フ ァ イ ルを プ ラ イ マ リ シ ス テ ムに コ ピーで き る よ う にな り ます。 sp_ctrl(sysB)> shutdown 21 セ カ ン ダ リ シ ス テ ム で、 デ ィ レ ク ト リ を SharePlex 変数デー タ デ ィ レ ク ト リ の state サブデ ィ レ ク ト リ に変更 し 、 Capture object-cache フ ァ イ ルを見つけ ます。 こ の フ ァ イ ルは、 次の例にあ る 名前を同 じ よ う な名前を持ち ます。 も し 、 こ れ ら の フ ァ イ ルが複数あ る 場合は、 フ ァ イ ル名末端の番号が一番 最近の も の を使用 し ます。 こ の番号は、 Post object-cache フ ァ イ ルの末端に 該当 し ます (例 : 「.18」)。 Capture object-cache フ ァ イ ルの例 : o.quest-objcache_sp_ocap.18 22 Capture object-cache フ ァ イ ルを プ ラ イ マ リ シ ス テ ムに コ ピー し 、 「ス テ ッ プ 19」 で記録 し た Post object-cache フ ァ イ ルの完全な pathname に名前を変更 し ます。 23 プ ラ イ マ リ シ ス テ ム で Post を開始 し ます。 sp_ctrl(sysA)> start post フ ェ ーズ 7: プ ラ イ マ リ シ ス テムへのユーザー切替え 24 セ カ ン ダ リ シ ス テ ム でユーザーア ク セ ス を停止 し ます。 25 qstatus コ マ ン ド を使用 し て、 プ ラ イ マ リ シ ス テ ムの post queue を表示 し ま す。 メ ッ セージの数が 0 にな る ま で表示 し 続け ます。 sp_ctrl(sysA)> qstatus 26 次の Oracle コ マ ン ド を使用 し てセ カ ン ダ リ イ ン ス タ ン ス を シ ャ ッ ト ダ ウ ン し ます。 svrmgrl> shutdown 27 次の Oracle コ マ ン ド を使用 し てセ カ ン ダ リ イ ン ス タ ン ス を起動 し ます。 svrmgrl> startup 注 : こ れによ り 、 プ ラ イ マ リ シ ス テムに同期 さ せる ため、 セ カ ン ダ リ シ ス テムのシーケ ン スがキ ャ ッ シ ュの最高位に リ セ ッ ト さ れます。 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 335 28 ユーザーがア ク セ ス で き る よ う に準備す る ため、 プ ラ イ マ リ シ ス テ ム で無 効にな っ ていたすべてのデー タ ベース オブジ ェ ク ト を有効に し ます。 29 セ カ ン ダ リ シ ス テ ム で SharePlex を起動 し ます。 30 セ カ ン ダ リ シ ス テ ム で Post を停止 し ます。 sp_ctrl(sysB)> stop post 31 ユーザーを プ ラ イ マ リ シ ス テ ムに移動 し ます。 32 デー タ ベース を再びフ ェ イ ルオーバーデー タ ベース にす る 準備 と し て、 複 製方法に応 じ てセ カ ン ダ リ シ ス テ ム で次の項目を無効にす る か、 変更 し ま す。 • • • • • ト リガ 外部キー制約 カ ス ケー ド 削除制約 チ ェ ッ ク 制約 DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 33 セ カ ン ダ リ シ ス テ ム で Post を開始 し ます。 sp_ctrl(sysB)> start post 34 プ ラ イ マ リ シ ス テ ム で qstatus コ マ ン ド を使用 し て、 post queue の メ ッ セー ジ数を表示 さ せます。 メ ッ セージ数が 0 にな る ま で確認 し 続け ます。 sp_ctrl(sysA)> qstatus 35 メ ッ セージ数が 0 にな っ た ら 、 ユーザーを プ ラ イ マ リ シ ス テ ム に切替え ま す。 36 セ カ ン ダ リ シ ス テ ム で Export を停止す る こ と で、 シ ス テ ムへの誤っ た変更 がプ ラ イ マ リ シ ス テ ム に複製 さ れ る のを防ぎ ます。 sp_ctrl(sysB)> stop export 注 : こ の時点で、 セ カ ン ダ リ シ ス テムは再び フ ェ イルオーバーに対応で き る状態 と な り ます。 それは、 シ ス テムにユーザーがな く 、 ア ク テ ィ ブ設定があ り 、 ト リ ガが無効 にまたは変更 さ れ、 制約およびスケジ ュ ール さ れたジ ョ ブが無効に さ れ、 Export プ ロ セスが停止 さ れた状態であるから です。 336 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 セ カ ン ダ リ イ ン ス タ ン スに障害が発生 し た際に複 製を回復するには セ カ ン ダ リ イ ン ス タ ン ス に障害が起 き た場合、 ホ ッ ト バ ッ ク ア ッ プ と SharePlex を使用 し て回復す る こ と がで き ます。 こ れに よ り セ カ ン ダ リ イ ン ス タ ン ス が回復 さ れた後、 プ ラ イ マ リ シ ス テ ム で設定を再ア ク テ ィ ベー ト す る 必 要が省かれます。 こ の手順では、 次を想定 し ます。 • 『SharePlex Implementation Guide』 の指示に従っ て高可用性の複製環境が確立 さ れてい る • セ カ ン ダ リ シ ス テ ム上で逆設定を ア ク テ ィ ベー ト し 、 ユーザー変更を プ ラ イ マ リ シ ス テ ムに複製す る 準備がで き てい る 。 • 「定期的な SharePlex バ ッ ク ア ッ プ」 (119 ページ) で推奨 さ れてい る よ う に §SharePlex 環境情報を含む UNIX フ ァ イ ルの定期的バ ッ ク ア ッ プが取 ら れて お り 、 アーカ イ ブ を回復す る 準備がで き てい る 。 こ の手順は、 簡単に理解 し ていただけ る よ う に、 い く つかの段階に分けて あ り ます。 フ ェ ーズ 1: キ ュ ーの消去 1 セ カ ン ダ リ シ ス テ ム Post プ ロ セ ス を停止 し 、 設定をデ ィ ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> stop post sp_ctrl(sysB)> deactivate config filename 注 : デ ィ ア ク テ ィ ベー ト がエ ラ ーの原因です : “Event Log の 「Error in sp_cnc.」。 こ れは、 無視 し て手順を続けて く だ さ い。 2 プ ラ イ マ リ シ ス テ ム で sp_ctrl を実行 し ます。 3 プ ラ イ マ リ シ ス テ ム で、 次の例に提供 さ れ る 構文を使っ て delete queue コ マ ン ド を発行 し 、 post queue を削除 し ます。 注 : バ ッ ク ロ グ内に メ ッ セージが存在 し ている と 、 delete queue コ マ ン ド は失敗 し ま す。 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 337 sp_ctrl(sysB)> delete queue queuename:P for datasource-datadest 例 : sp_ctrl(sysA)> delete queue sysA:P for o.oraA-o.oraB 注 : プ ラ イ マ リ シ ス テムで delete queue コ マ ン ド を発行するのは、 障害が起き る前に セ カ ン ダ リ イ ン ス タ ン スが送信 し た、 コ ミ ッ ト さ れていない ト ラ ンザク シ ョ ンの メ ッ セージが残っ ている可能性があるから です。 4 プ ラ イ マ リ マシ ン で SHAREPLEX_TRANS テーブルを切 り 詰め ます。 こ の テーブルには、 セ カ ン ダ リ シ ス テ ム が障害を起 こ す前に Post プ ロ セ ス に よ っ て使用 さ れていた ト ラ ンザ ク シ ョ ン情報が含ま れてい る ため、 し た が っ て こ の情報は陳腐です。 テーブルを切 り 詰め る こ と で、 ト ラ ンザ ク シ ョ ンの一貫性を回復す る こ と がで き ます。 5 セ カ ン ダ リ シ ス テ ム で sp_ctrl を実行 し ます。 6 セ カ ン ダ リ シ ス テ ム で、 次の例に提供 さ れ る 構文を使っ て delete queue コ マ ン ド を発行 し 、 次のキ ュ ーを削除 し ます。 注 : バ ッ ク ログ内に メ ッ セージが存在 し ている と 、 delete queue コ マ ン ド は失敗 し ま す。 A セ カ ン ダ リ シ ス テ ム で capture queue を削除 し ます。 sp_ctrl(sysA)> delete queue datasource:C 例 : sp_ctrl(sysA)> delete queue o.oraA:C B セ カ ン ダ リ シ ス テ ム で export queue を削除 し ます。 sp_ctrl(sysA)> delete queue queuename:X 例 : sp_ctrl(sysA)> delete queue sysA:X 注 : セ カ ン ダ リ シ ス テムで delete queue コ マ ン ド を発行するのは、 こ のシス テムの capture と export queue にすでに処理が完了 し ている ト ラ ンザク シ ョ ンの記録が保持 さ れている可能性があるから です。 こ の手順の目的は、 デー タ を再同期 し 、 複製を再初期 化する こ と なので、 既存の ト ラ ンザク シ ョ ンの記録を消去する必要があ り ます。 338 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 フ ェ ーズ 2: デー タ の同期化 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し 、 プ ラ イ マ リ シ ス テ ム でホ ッ ト バ ッ ク ア ッ プ を開始 し ます。 7 プ ラ イ マ リ シ ス テ ム で ロ グ フ ァ イ ルを切替え、 アーカ イ ブ ロ グの最高順序 番号を書 き 留めてお き ます。 svrmgrl> alter system switch logfile; 8 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プ か ら セ カ ン ダ リ デー タ ベース を回復 し 、 ス テ ッ プ 7 の ロ グが Oracle で完全 に適用 さ れた後、 回復を キ ャ ン セル し ます。 9 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 注 : こ れによ り 、 起動時にセ カ ン ダ リ シ ス テムのシーケ ン スがキ ャ ッ シ ュの最高位に リ セ ッ ト さ れます。 10 セ カ ン ダ リ シ ス テ ム で SharePlex Oracle ユーザー と し て SQL*Plus に ロ グオ ン し 、 SharePlex 製品デ ィ レ ク ト リ 内の bin サブデ ィ レ ク ト リ か ら cleanup.sql ス ク リ プ ト を実行 し ます。 こ の ス ク リ プ ト に よ り 、 SharePlex テーブルが切 り 詰め ら れ、 SHAREPLEX_ACTID テーブルが更新 さ れます。 SQL> @/productdir/bin/cleanup.sql 11 セ カ ン ダ リ シ ス テ ム で、 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 (キ ュ ー の名前を知 ら ない場合は、 qstatus コ マ ン ド を発行 し ます。) sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 次の コ マ ン ド を、 先に記録 し た ロ グ番号 と 置 き 換え て使用 し ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number た と えば、 SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に複製す る 場 合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysA)> reconcile queue SysA for o.oraA-o.oraA [seq 1234] 12 セ カ ン ダ リ シ ス テ ム で次を無効ま たは変更 し ます。 • ト リガ • 外部キー制約 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 339 • カ ス ケー ド 削除制約 • チ ェ ッ ク 制約 • DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 13 sp_ctrl プ ロ ン プ ト が戻っ た ら 、 セ カ ン ダ リ シ ス テ ム で Export を停止す る こ と で、 設定が再ア ク テ ィ ベー ト さ れた と き に何 も 誤っ てプ ラ イ マ リ シ ス テ ム に複製 さ れない よ う に し ます。 sp_ctrl(sysB)> stop export フ ェ ーズ 3: セ カ ン ダ リ シス テムでの複製プ ロ セスの開始 14 デフ ォ ル ト の multi-threaded activation を使用 し て、 セ カ ン ダ リ シ ス テ ム の設 定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 15 セ カ ン ダ リ シ ス テ ム で Post プ ロ セ ス を開始 し 、 プ ラ イ マ リ シ ス テ ム か ら 複 製 さ れたデー タ の post を開始 し ます。 sp_ctrl(sysB)> start post 16 セ カ ン ダ リ イ ン ス タ ン ス に障害が起 き た と き に 「エ ラ ーに よ っ て中断 さ れ た」 他の SharePlex プ ロ セ ス を、 セ カ ン ダ リ シ ス テ ム で開始 し ます。 sp_ctrl(sysB)> start service こ れで将来の フ ェ イ ルオーバーに対応す る 準備完了です。 340 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 計画的フ ェ イルオーバー と フ ェ イルバ ッ ク SharePlex を使用 し て高可用性環境でセ カ ン ダ リ イ ン ス タ ン ス を保守す る と 、 プ ラ イ マ リ シ ス テ ムに メ ン テナン ス ま たはその他の操作を実行す る 必要があ る と き に、 そのシ ス テ ムにユーザーを切替え る こ と がで き ます。 こ の手順では、 次を想定 し ます。 • 「高可用性お よ びデー タ リ カバ リ のための複製の設定」 (182 ページ) の指示 に従っ て高可用性の複製環境が確立 さ れてい る • セ カ ン ダ リ シ ス テ ム上で逆設定を ア ク テ ィ ベー ト し 、 ユーザー変更を プ ラ イ マ リ シ ス テ ムに複製す る 準備がで き てい る 。 • SharePlex キ ュ ーが存在す る セ カ ン ダ リ シ ス テ ムの ド ラ イ ブに、 ユーザーが 作業 し なが ら 蓄積 さ れた メ ッ セージ を格納で き る 、 十分なデ ィ ス ク 容量が ある セ カ ン ダ リ シス テムにユーザーを切替え るには 1 プ ラ イ マ リ シ ス テ ムにて、 オブジ ェ ク ト へのユーザーア ク セ ス を停止 し ま す。 2 プ ラ イ マ リ シ ス テ ム上か ら flush コ マ ン ド を発行 し 、 デー タ を セ カ ン ダ リ シ ス テ ムに フ ラ ッ シ ュ し ます。 こ の コ マ ン ド はセ カ ン ダ リ シ ス テ ム で Post プ ロ セ ス を停止 し 、 プ ラ イ マ リ デー タ と セ カ ン ダ リ デー タ 間の同期点を確立 す る マーカーを、 デー タ ス ト リ ームに置 き ます。 下記の構文で、 o. の後に プ ラ イ マ リ イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ま す。 sp_ctrl(sysA)> flush datasource 3 Post がセ カ ン ダ リ シ ス テ ム で停止 さ れてい る こ と を確認 し ます。 (flush に よ っ て Post が停止 さ れた こ と が示 さ れ る ま で、 コ マ ン ド を発行 し ます。) sp_ctrl(sysB)> status 4 プ ラ イ マ リ シ ス テ ムの capture と export queue に、 ま たセ カ ン ダ リ シ ス テ ム の post queue に、 メ ッ セージがない こ と を確認 し ます。 [Number of Messages] と [Backlog (messages)] フ ィ ール ド が共に 0 であ る 必要があ り ま す。 sp_ctrl(sysA)> qstatus sp_ctrl(sysB)> qstatus 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 341 5 プ ラ イ マ リ シ ス テ ム で SharePlex を シ ャ ッ ト ダ ウ ン し ます (必要な場合)。 6 次の Oracle コ マ ン ド を使用 し てプ ラ イ マ リ シ ス テ ム の イ ン ス タ ン ス を シ ャ ッ ト ダ ウ ン し ます。 こ の手順では immediate オプシ ョ ン ではな く 、 abort オプシ ョ ン を使用 し ます。 svrmgrl> shutdown abort 注 : こ れによ り 、 起動時にプ ラ イ マ リ シ ス テムのシーケ ン スがキ ャ ッ シ ュの最高位に リ セ ッ ト さ れます。 7 セ カ ン ダ リ シ ス テ ム で Export が停止 さ れてい る こ と を確認 し ます。 こ れに よ っ てプ ラ イ マ リ シ ス テ ムの準備が完了す る ま で、 ユーザーに よ る 変更が 複製 さ れ る こ と がない よ う に防 ぐ こ と がで き ます。 メ ッ セージは、 export queue に蓄積 さ れ ます。 svrmgrl> stop export 8 INSERT、 UPDATE、 DELETE のア ク セ ス を セ カ ン ダ リ シ ス テ ム のすべての ユーザーに許可す る ス ク リ プ ト を実行 し ます。 9 ユーザーがセ カ ン ダ リ シ ス テ ム を使い始め る と き に ト リ ガ と 制約を こ のシ ス テ ム で有効にす る ス ク リ プ ト を実行 し ます。 10 アプ リ ケーシ ョ ンの起動やプ ラ イ マ リ シ ス テ ム で実行 し ていたジ ョ ブの開 始な ど、 ユーザーを セ カ ン ダ リ シ ス テ ムに移動す る 、 フ ェ イ ルオーバー手 順を実装 し ます。 11 セ カ ン ダ リ シ ス テ ムにユーザーを移動 し 、 ユーザーが仕事を再開で き る よ う に し ます。 ただ し 、 Export は開始 し ないで く だ さ い。 プ ラ イ マ リ シ ス テムにユーザーを切替え るには (計画的 フ ェ イルバ ッ ク ) プ ラ イ マ リ シ ス テ ム を使用す る 準備が完了 し た ら 、 次の手順でユーザーを その シ ス テ ム に切替え ます。 1 プ ラ イ マ リ イ ン ス タ ン ス を開 き ます。 注 : プ ラ イ マ リ シ ス テムのシーケ ン スはこ の時点でキ ャ ッ シ ュの最高位にあ り ます。 342 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 プ ラ イ マ リ シ ス テ ム で次を無効ま たは変更 し ます。 • • • • • ト リガ 外部キー制約 カ ス ケー ド 削除制約 チ ェ ッ ク 制約 DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 3 プ ラ イ マ リ シ ス テ ム で SharePlex を起動 し ます (必要な場合)。 4 セ カ ン ダ リ シ ス テ ム で Export を開始す る と 、 SharePlex が蓄積 さ れた メ ッ セージ を プ ラ イ マ リ シ ス テ ムに送信 し ます。 sp_ctrl(sysB)> start export 注 : Export を開始する と 、 SharePlex はいかな る シーケ ン ス更新も セ カ ン ダ リ シ ス テム か ら プ ラ イ マ リ シス テムに渡 し ます。 5 プ ラ イ マ リ シ ス テ ム で Export を停止 し ます。 sp_ctrl(sysA)> stop export 6 次の ス テ ッ プに進む前に、 プ ラ イ マ リ シ ス テ ム Post がセ カ ン ダ リ シ ス テ ム に蓄積 さ れた メ ッ セージ をすべて処理す る ま で待ち ます。 7 セ カ ン ダ リ シ ス テ ム で Post が処理のペース を取 り 戻 し た後、 オブジ ェ ク ト へのユーザーア ク セ ス を停止 し ます。 8 セ カ ン ダ リ シ ス テ ム で、 デー タ を プ ラ イ マ リ シ ス テ ム に フ ラ ッ シ ュ し ます。 sp_ctrl(sysB)> flush datasource 9 status コ マ ン ド を発行 し て、 プ ラ イ マ リ シ ス テ ム で Post プ ロ セ ス が停止 し た こ と を確認 し ます。 Post が停止 さ れた こ と が示 さ れ る ま で、 status コ マ ン ド を発行 し ます。 sp_ctrl(sysA)> status 10 セ カ ン ダ リ シ ス テ ムの capture と export queue に、 ま たプ ラ イ マ リ シ ス テ ム の post queue に、 メ ッ セージがない こ と を確認 し ます。 [Number of Messages] と [Backlog (messages)] フ ィ ール ド が共に 0 であ る 必要があ り ま す。 章8 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 343 sp_ctrl(sysA)> qstatus sp_ctrl(sysB)> qstatus 11 セ カ ン ダ リ シ ス テ ム で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 12 次の Oracle コ マ ン ド を使用 し てセ カ ン ダ リ シ ス テ ム の イ ン ス タ ン ス を シ ャ ッ ト ダ ウ ン し ます。 こ の手順では immediate オプシ ョ ン ではな く 、 abort オプシ ョ ン を使用 し ます。 svrmgrl> shutdown abort 13 次の Oracle コ マ ン ド を使用 し てセ カ ン ダ リ シ ス テ ム の イ ン ス タ ン ス を起動 し ます。 svrmgrl> startup 注 : プ ラ イ マ リ シ ス テムのシーケ ン スはこ の時点でキ ャ ッ シ ュの最高位にあ り ます。 プ ラ イ マ リ シ ス テムで次の値が選択 さ れた ら 、 新規キ ャ ッ シ ュが取得で き セ カ ン ダ リ シス テムに複製 さ れます。 プ ラ イ マ リ シ ス テムはキ ャ ッ シ ュの開始時であ り 、 セ カ ン ダ リ シ ス テムがキ ャ ッ シ ュの最高位です。 14 INSERT、 UPDATE、 DELETE のア ク セ ス を プ ラ イ マ リ シ ス テ ム のすべての ユーザーに許可す る ス ク リ プ ト を実行 し ます。 15 ユーザーがプ ラ イ マ リ シ ス テ ム を使い始め る と き に ト リ ガ と 制約を こ のシ ス テ ム で有効にす る ス ク リ プ ト を実行 し ます。 16 アプ リ ケーシ ョ ンの起動やセ カ ン ダ リ シ ス テ ム で実行 し ていたジ ョ ブの開 始な ど、 ユーザーを プ ラ イ マ リ シ ス テ ムに移動す る 、 フ ェ イ ルオーバー手 順を実装 し ます。 17 プ ラ イ マ リ シ ス テ ムにユーザーを切替え、 ユーザーが仕事を再開で き る よ う に し ます。 ただ し 、 Export は開始 し ないで く だ さ い。 こ れに よ っ てセ カ ン ダ リ シ ス テ ム の準備が完了す る ま で、 ユーザーに よ る 変更が複製 さ れ る こ と がない よ う に防 ぐ こ と がで き ます。 メ ッ セージは、 export queue に蓄積 さ れ ます。 Export が実行 し てい る 場合は、 次の コ マ ン ド で停止 し ます。 sp_ctrl(sysA)> stop export 18 セ カ ン ダ リ シ ス テ ム で次を無効ま たは変更 し ます。 • ト リガ • 外部キー制約 344 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • カ ス ケー ド 削除制約 • チ ェ ッ ク 制約 • DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 19 セ カ ン ダ リ シ ス テ ム で SharePlex を起動 し ます。 20 セ カ ン ダ リ シ ス テ ム で Export を停止 し ます。 こ れに よ り 、 シ ス テ ム上で起 き る 可能性のあ る DML がプ ラ イ マ リ シ ス テ ム に誤っ て複製 さ れ る こ と がな い よ う に防 ぐ こ と がで き ます。 sp_ctrl(sysB)> stop export 21 プ ラ イ マ リ シ ス テ ム で Export を開始 し ます。 こ れで、 セ カ ン ダ リ シ ス テ ム がプ ラ イ マ リ シ ス テ ムの予備 と し て複製に よ っ て保守 さ れてい る 、 通常の 高可用性環境が回復 さ れ ま し た。 sp_ctrl(sysA)> start export 22 セ カ ン ダ リ シ ス テ ム で Post を開始 し 、 プ ラ イ マ リ シ ス テ ム か ら の複製 さ れ た変更がセ カ ン ダ リ デー タ ベース に Post さ れ る よ う に し ます。 sp_ctrl(sysB)> start post 9 SharePlex の無人監視 SharePlex は、 sp_ctrl の情報 コ マ ン ド で実行で き る イ ン タ ラ ク テ ィ ブな監視に 加え て、 複製を無人監視 し た り 、 問題を リ モー ト 通知 し た り す る ための監視ス ク リ プ ト や SNMP ト ラ ッ プ を装備 し てい ます。 こ の章では、 こ れ ら の機能の 使用方法を説明 し ます。 目次 UNIX シ ス テム上での SharePlex の監視 Windows シ ス テム上での SharePlex の監視 SharePlex での SNMP の使用 346 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: UNIX シス テム上での SharePlex の監視 SharePlex は監視な し で も バ ッ ク グ ラ ウ ン ド で安定 し て稼働す る よ う に作 ら れ てい ますが、 ど の よ う な複製環境で も 不測の事態は発生 し ます。 た と えばシ ス テ ムやネ ッ ト ワ ー ク に障害が発生 し 、 キ ュ ーにデー タ が蓄積す る 場合があ り ま す。 あ る いはユーザーの コ マ ン ド やエ ラ ーが原因で、 1 つま たは複数の SharePlex のプ ロ セ ス が停止す る 場合 も あ り ます。 こ こ では、 SharePlex の監視 ス ク リ プ ト を使用 し て、 主要な複製 イ ベン ト を通知す る 方法を説明 し ます。 SharePlex Monitoring Utilities の概要 SharePlex には、 複製の監視用 と し て次の ス ク リ プ ト が用意 さ れてい ます。 sp_eventmon は SharePlex Event ロ グ を監視 し 、 指定 し たエ ラ ーを専用の フ ァ イ ルに記録 し ます。 sp_logmon は Capture が REDO ロ グに入っ て く る 変更 と 同調 し てい る か を監視 し ます。 Capture が指定 さ れた数の ロ グで遅れを と っ た場合、 sp_logmon は ロ グが wrap す る 前に警告を出 し 、 対処措置が取れ る よ う に し ます。 sp_ps は SharePlex プ ロ セ ス を監視 し 、 1 つ以上のプ ロ セ ス が停止す る と それを 通知 し て、 ロ グが wrap し た り 、 キ ュ ーが使用可能なデ ィ ス ク スペース を超過 す る 前に、 問題を解決で き る よ う に し ます。 sp_qstatmon は SharePlex のキ ュ ーの ス テー タ ス を監視 し 、 定義 し た し き い値 (制限) をバ ッ ク ロ グが超過 し た場合に警告を出 し ます。 こ れに よ っ て、 キ ュ ーが使用可能なデ ィ ス ク スペース に蓄積 し て複製に悪影響を及ぼす前に、 対処措置を取 る こ と がで き ます。 監視ス ク リ プ ト には次の よ う な利点があ り ます。 • sp_ctrl ス テー タ ス コ マ ン ド で ス テー タ ス を頻繁にチ ェ ッ ク す る 必要が減 る 。 • 独立 し て定期的に実行す る 、 あ る いは crontab ジ ョ ブ と し て ス ケ ジ ュ ールを 立て て実行す る な ど、 柔軟な実行が可能にな る 。 • カ ス タ ム設定機能。 • 監視対象シ ス テ ムに関す る ロ グ を フ ァ イ ルに定期的に出力で き る 。 章9 SharePlex の無人監視 347 • 即時対応が必要な状況を電子 メ ールやページ ン グで通知す る 。 電子 メ ール の件名フ ィ ール ド には問題を手短に説明 し た も のが挿入 さ れ、 本文には ス ク リ プ ト に よ っ て生成 さ れた詳 し い メ ッ セージが記載 さ れます。 • プ ラ ッ ト フ ォ ームに依存 し ない。 ス ク リ プ ト はすべて UNIX シ ェ ル ス ク リ プ ト です。 監視ユーテ ィ リ テ ィ の場所 SharePlex monitoring utilities は、 UNIX シ ス テ ム の SharePlex 製品デ ィ レ ク ト リ 内にあ る util サブデ ィ レ ク ト リ に置かれてい ます。 /SharePlex_product_directory/util 監視ユーテ ィ リ テ ィ を使用する ための要件 • ス ク リ プ ト は、 使用可能な電子 メ ールやページ ン グの種類な ど の よ う に、 使用環境に合わせて カ ス タ マ イ ズす る 必要があ り ます。 • 監視ユーテ ィ リ テ ィ を使用す る には、 -uname オプシ ョ ン を付けて sp_cop を 起動 し ます。 name はユーザーが選択 し た識別子です。 次の よ う な識別子を お勧め し ます。 --SharePlex のポー ト 番号 -- 複製の監視対象であ る イ ン ス タ ン ス の ORACLE_SID --SharePlex 管理者名 手順 と 構文については 「-u オプシ ョ ン を使用 し た UNIX シ ス テ ム での sp_cop の起動」 (44 ページ) を参照 し て く だ さ い。 • 監視ス ク リ プ ト を実行す る 前に、 SharePlex を起動 し てお く 必要があ り ます。 • 監視ユーテ ィ リ テ ィ の ス ク リ プ ト は、 イ ン ス ト ール さ れたデ ィ レ ク ト リ (/ SharePlex_product_directory/util) にその ま ま ま と めてお く 必要があ り ます。 こ れ ら の ス ク リ プ ト を他のデ ィ レ ク ト リ に移動 し ないで く だ さ い。 • 監視ス ク リ プ ト は sp_ctrl コ マ ン ド を使用 し ます。 ス ク リ プ ト を使用す る 前 に、 util サブデ ィ レ ク ト リ か ら SharePlex 製品デ ィ レ ク ト リ にあ る bin サブ デ ィ レ ク ト リ の sp_ctrl バ イ ナ リ に リ ン ク を張っ て く だ さ い。 sp_ctrl への パ ッ チ管理が難 し く な る ため、 バ イ ナ リ 自体の コ ピーは し ないで く だ さ い。 • 監視ユーテ ィ リ テ ィ を使用す る ユーザーには、 次の権限が必要です。 --sp_ctrl への ロ ーカルア ク セ ス権 と 、 監視対象の sp_cop が実行 さ れてい る シ ス テ ム上で、 その ス ク リ プ ト を実行す る 許可 348 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 --Korn (ksh) シ ェ ルへのア ク セ ス権 と 、 UNIX コ マ ン ド ラ イ ン か ら の ps の 許可 -- ス ク リ プ ト が置かれたデ ィ レ ク ト リ に対す る read、 書 き 込み、 実行許可 • iwgrep ユーテ ィ リ テ ィ に対す る 許可は 755 であ る 必要があ り ます。 • 監視ユーテ ィ リ テ ィ は、 電子 メ ール通知の送信に mailx プ ロ グ ラ ム を使用 し ます。 ス ク リ プ ト を使用す る 前に、 監視ス ク リ プ ト が展開 さ れ る すべての シ ス テ ム で、 mailx が電子 メ ールを送信で き る よ う に設定 さ れてい る こ と を 確認 し て く だ さ い。 • ページ ン グには、 使用す る サービ ス プ ロ バ イ ダがページ ン グデバ イ ス での 電子 メ ール受信を サポー ト し てい る 必要があ り ます。 • 監視対象の Oracle イ ン ス タ ン ス ご と に、 ORACLE_HOME (ORACLE_HOME デ ィ レ ク ト リ へのパ ス) を検証 し て く だ さ い。 • こ れ ら の ス ク リ プ ト で生成 さ れたプ ロ セ ス を kill す る には、 kill -9 コ マ ン ド を使用 し て く だ さ い。 kill コ マ ン ド 単独ですべてのプ ロ セ ス を kill で き る と は限 り ません。 ア ッ プグ レー ド の手順 SharePlex でパ ッ チやア ッ プグ レー ド を適用す る と 、 監視ス ク リ プ ト は新 し い ス ク リ プ ト で上書 き さ れ ます。 ス ク リ プ ト のカ ス タ マ イ ズ を残 し たい場合は、 パ ッ チ ま たはア ッ プグ レー ド を イ ン ス ト ールす る 前に、 既存の ス ク リ プ ト の名 前を変更 し て く だ さ い。 パ ッ チの適用後は、 新 し い ス ク リ プ ト に自分のカ ス タ マ イ ズ を加え て更新 し ます。 既存の ス ク リ プ ト の名前を、 更新済みの ス ク リ プ ト の名前に変更す る こ と は避けて く だ さ い。 重要な機能向上や修正が失われ る 恐れがあ り ます。 章9 SharePlex の無人監視 349 sp_eventmon によ る Event ログの監視 sp_eventmon 監視ユーテ ィ リ テ ィ は、 主要な複製 イ ベン ト に関連す る SharePlex Event ロ グ (event_log) のエ ン ト リ を、 指定 さ れた間隔で監視 し ま す。 ス キ ャ ンの間隔 と 、 ス ク リ プ ト で検出す る エ ラ ー メ ッ セージ を定義で き ま す。 シ ス テ ムへの影響を最小限に抑え る と と も に警告が重複 し ない よ う に、 ス キ ャ ンはいずれ も 以前の ス キ ャ ンが停止 し た箇所か ら ス タ ー ト し ます。 sp_eventmon に よ る ア ク シ ョ ン sp_eventmon ス ク リ プ ト は、 Event ロ グ を ス キ ャ ンす る たびに、 次のア ク シ ョ ン を実行 し ます。 • 定義 さ れたエ ラ ーを検出す る と 、 sp_eventmon は error.splex ロ グ フ ァ イ ル と 、 オプシ ョ ンが有効に設定 さ れてい る 場合は電子 メ ール メ ッ セージに、 その通知を書 き 込みます。 THE FOLLOWING ERRORS WERE FOUND IN THE SHAREPLEX EVENT LOG FOR INSTANCE:SID ま た、 各エ ラ ー、 エ ラ ーの Event ロ グの行番号、 sp_cop の イ ン ス タ ン ス名 (通常はポー ト 番号)、 エ ラ ーが発生 し た日時 も 記録 し ます。 • 電子 メ ールのオプシ ョ ン が有効な場合、 件名のテ キ ス ト は次の よ う にな り ます。 Errors found in SharePlex log! sp_eventmon を実行する ための要件 • sp_eventmon ユーテ ィ リ テ ィ を使用す る 前に、 「監視ユーテ ィ リ テ ィ を使用 す る ための要件」 (347 ページ) を参照 し て く だ さ い。 • sp_eventmon ユーテ ィ リ テ ィ は、 iwgrep プ ロ グ ラ ム (347 ページ を参照)、 error_list フ ァ イ ル ( こ のセ ク シ ョ ン で説明)、 username.mrk と い う 名前の marker file (username は sp_eventmon の実行時に -s 引数 と 一緒に入力す る 文字列か ら 派生) に依存 し ます。 こ れ ら の 3 つの コ ン ポーネ ン ト は ス ク リ プ ト と 同 じ デ ィ レ ク ト リ に配置 し ます。 他のデ ィ レ ク ト リ に置いた場合、 ス ク リ プ ト は機能 し ません。 sp_eventmon を実行す る と 、 username.mrk フ ァ イ ルが作成 さ れます。 こ の フ ァ イ ルは、 警告 メ ッ セージが ロ グや電子 メ ールま たはページ ャ ーに重複 し て送信 さ れ る のを防 ぐ フ ァ イ ルです。 こ の フ ァ イ ルを削除 し て も sp_eventmon ス ク リ プ ト は機能 し ます。 ただ し 、 ス ク リ プ ト は起動のたび 350 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 に Event ロ グ を最初か ら ス キ ャ ンす る よ う にな り ます。 こ の動作に よ っ て、 前に生成 さ れた警告が再度送信 さ れ る こ と にな り ます。 sp_eventmon の イ ン ス タ ン ス を複数実行す る 場合、 各 イ ン ス タ ン ス は異な る UNIX ユーザー 名で実行 し なければな り ません。 そのため、 *.mrk フ ァ イ ルはそれぞれ異な る 名前にな り ます。 た と えば、 Adam、 Bob、 Charlie の UNIX 名で 3 つの sp_eventmon イ ン ス タ ン ス を実行 し た場合、 Adam.mrk、 Bob.mrk、 Charlie.mrk の 3 つの *.mrk フ ァ イ ルが生成 さ れ ます。 • sp_eventmon ス ク リ プ ト を実行す る と き に Event ロ グ を頻繁に切 り 詰め る 場 合は、 sp_ctrl の truncate log コ マ ン ド を使用 し ます。 ロ グのサ イ ズが大 き すぎ る と 、 iwgrep プ ロ グ ラ ムは正 し く grep を実行で き ません。 truncate log コ マ ン ド を発行す る 場合は、 username.mrk フ ァ イ ルを削除す る 必要があ り ま す。 次回の sp_eventmon 実行時に、 新たな *.mrk フ ァ イ ルが作成 さ れます。 truncate log コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 を参 照 し て く だ さ い。 重要! 既存の Event ロ グにエ ラ ーが存在 し てお り 、 sp_eventmon 監視ス ク リ プ ト が実 行中である場合は、 truncate log コ マ ン ド を発行 し て sp_cop_name.mrk フ ァ イルを削 除 し て く だ さ い。 sp_cop_name は、 ス ク リ プ ト を実行 し た と き に -s 引数で使用 し た値 です。 こ のフ ァ イルは SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ にあ り ま す。 通知用エ ラ ー メ ッ セージの定義 sp_eventmon ス ク リ プ ト は error_list フ ァ イ ル内の イ ベン ト を ス キ ャ ン し ます。 こ の フ ァ イ ルは SharePlex 製品デ ィ レ ク ト リ の util サブデ ィ レ ク ト リ にあ り ま す。 次は、 sp_eventmon が監視す る デフ ォ ル ト のエ ラ ーです。 sp_eventmon が監視するデ フ ォ ル ト のエ ラ ー SharePlex was shutdown. Activate config. System call error. Deactivate config. Queue partition is full. Bad config file. Host is down. sp_cop was shutdown. Internal error. Child process failed. Out of sync. Error. Poster failure. Parameter was changed. 章9 SharePlex の無人監視 351 エ ラ ー文字列は、 error_list フ ァ イ ルをいずれかの ASCII テ キ ス ト エデ ィ タ で 編集すれば、 任意に追加で き ます。 フ ァ イ ルを開 き 、 エ ラ ー文字列を 1 行ずつ 入力 し て く だ さ い。 IW_HOME の設定 IW_HOME 変数は ス ク リ プ ト と iwgrep が置かれてい る デ ィ レ ク ト リ を指 し 示 すため、 マシ ン ご と にカ ス タ マ イ ズす る 必要があ り ます。 iwgrep を移動 し た場 合は、 IW_HOME 変数を新 し いパ ス に設定 し 直 し て く だ さ い。 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_eventmon ス ク リ プ ト を開 き ます。 2 次の例の よ う に、 IW_HOME 変数の行に正 し いパ ス を入力 し ます。 IW_HOME=/export/home/jdadd/monscripts 3 ス ク リ プ ト フ ァ イ ルを保存 し て ク ロ ーズ し ます。 ス ク リ プ ト は実行時に IW_HOME 変数を export し ます。 電子 メ ールア ド レ スの定義 電子 メ ール通知用の -m オプシ ョ ン を付けて sp_eventmon を実行す る には、 ス ク リ プ ト 内にあ ら か じ め電子 メ ールア ド レ ス を定義 し てお く 必要があ り ます。 必要に応 じ 、 任意の数のア ド レ ス を指定で き ます。 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_eventmon ス ク リ プ ト を開 き ます。 2 MailUserName= 変数の後にア ド レ ス文字列を追加 し ます。 電子 メ ールア ド レ スやページ ャ ーのア ド レ ス は、 完全な形で使用 し て く だ さ い。 次の例の よ う に、 複数のエ ン ト リ は スペース で区切 り ます。 [email protected] [email protected] 3 フ ァ イ ルを保存 し て ク ロ ーズ し ます。 4 ス ク リ プ ト の構文に -m オプシ ョ ン を含めて、 電子 メ ール通知を有効に し ま す。 352 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 sp_eventmon の構文 nohup sp_eventmon -s 'sp_copname' -t interval -p path [-n name] [-m] /dev/null & 必要な コ ンポーネ ン ト コ ンポーネ ン ト nohup sp_eventmon 説明 セ ツ メ イ nohup コ マ ン ド はユーザーが ロ グ ア ウ ト し て も バ ッ ク グ ラ ウ ン ド で実行を継続す る よ う に sp_eventmon に指示 し ます。 こ れに よ っ て、 監視が継続的に行われ ます。 sp_eventmon コ ン ポーネ ン ト は ス ク リ プ ト を実行 し ます。 -s 'sp_copname' -u オプシ ョ ン付 き で sp_cop を起動 し た と き に使用 し た sp_cop の名前を設定 し ます。 sp_cop の名前は一重引用符で囲 みます。 こ のパ ラ メ ー タ は、 シ ス テ ム上の複数の sp_cop イ ン ス タ ン ス を監視す る ために、 2 回以上使用で き ます。 こ のパ ラ メ ー タ がない場合、 sp_eventmon は起動 し ません。 /dev/null 通知の出力を ロ ーカルシ ス テ ムの /dev/null デバ イ ス に リ ダ イ レ ク ト し 、 バ ッ ク グ ラ ウ ン ド での監視プ ロ セ ス の実行 と 出力 の生成を継続で き る よ う に し ます。 出力を画面に表示す る に は、 こ の引数を省略 し ます。 -p path こ の変数は、 パ ス を SharePlex 変数デー タ デ ィ レ ク ト リ 設定 し ます。 こ の変数がない場合、 sp_eventmon はデフ ォ ル ト のパ ス を使用 し ます。 & ス ク リ プ ト をバ ッ ク グ ラ ウ ン ド で実行 し ます。 -t interval ス キ ャ ン の間隔を秒単位で設定 し ます。 値は任意の正の整数 です。 オプ シ ョ ンの変数 変数 説明 セ ツ メ イ -n name -m Event Log の名前がデフ ォ ル ト の 「event_log」 と は異な る 場合 に、 その名前を設定 し ます。 電子 メ ール / ページ ン グのオプシ ョ ン を有効に し ます。 sp_eventmon ス ク リ プ ト は、 ス ク リ プ ト 内に コ ーデ ィ ン グ さ れてい る すべてのア ド レ ス に通知 メ ッ セージ を送信 し ます。 こ のパ ラ メ ー タ がない場合、 sp_eventmon は電子 メ ールを送 信せず、 ロ グ フ ァ イ ルへのエ ラ ーの記録のみを行い ます。 章9 SharePlex の無人監視 353 sp_logmon によ る Capture プ ロ セスの監視 sp_logmon 監視ユーテ ィ リ テ ィ に よ っ て、 Capture の reading が終了す る 前に REDO ロ グが ラ ッ プ し 、 再同期せざ る を得な く な る 事態を回避で き ます。 こ の ユーテ ィ リ テ ィ は Oracle が現在書 き 込んでい る REDO ロ グ グループ を監視 し 、 SharePlex が reading し てい る ロ グ を判断 し ます。 Capture が指定 さ れた数の ロ グで遅れを と っ た場合、 sp_logmon は管理者に通知を出 し ます。 こ れに よ っ て 遅れの原因を解決 し 、 必要に応 じ て アーカ イ ブ ロ グ を リ ス ト アす る 時間を確保 で き ます。 こ の ス ク リ プ ト は、 構文の -p 引数に異な る ポー ト 番号を使用すれば、 複数の SharePlex イ ン ス タ ン ス に対 し て実行で き ます。 sp_logmon によ る ア ク シ ョ ン sp_logmon ス ク リ プ ト は、 REDO ロ グ と Capture プ ロ セ ス を分析す る たびに、 次のア ク シ ョ ン を実行 し ます。 • Capture が指定 さ れた数の ロ グで Oracle か ら 遅れを と っ た場合、 sp_logmon は logmon.log フ ァ イ ル と 、 オプシ ョ ンが有効な場合は電子 メ ール メ ッ セー ジに、 警告を生成 し ます。 The SharePlex (port n) Capture process has fallen behind in capturing information from the redo log by 10 files, which exceeds the threshold (of 2 files), at Fri Oct 5 16:52:55 PDT 2001. Corrective action is needed before the log wrap, or resynchronization will be necessary. • 電子 メ ールのオプシ ョ ン が有効な場合、 件名のテ キ ス ト は次の よ う にな り ます。 SharePlex (port n) may encounter a log wrap! sp_logmon を実行する ための要件 • sp_logmon ユーテ ィ リ テ ィ を使用す る 前に、 「監視ユーテ ィ リ テ ィ を使用す る ための要件」 (347 ページ) を参照 し て く だ さ い。 354 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 電子 メ ールア ド レ スの定義 電子 メ ール通知用の -m オプシ ョ ン を付けて sp_logmon を実行す る には、 ス ク リ プ ト 内にあ ら か じ め電子 メ ールア ド レ ス を定義 し てお く 必要があ り ます。 必 要に応 じ 、 任意の数のア ド レ ス を指定で き ます。 重要! SharePlex ユーザー以外がス ク リ プ ト を修正する場合は、 次の Oracle 権限が必 要にな り ます。 CONNECT 権限 V$LOG テーブルに対する SELECT 権限 SharePlex 内部テーブルに対する SELECT 権限 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_logmon ス ク リ プ ト を開 き ます。 2 MailUserName= 変数の後にア ド レ ス文字列を追加 し ます。 電子 メ ールア ド レ スやページ ャ ーのア ド レ ス は、 完全な形で使用 し て く だ さ い。 次の例の よ う に、 複数のエ ン ト リ は スペース で区切 り ます。 [email protected] [email protected] 3 フ ァ イ ルを保存 し て ク ロ ーズ し ます。 4 ス ク リ プ ト の構文に -m オプシ ョ ン を含めて、 電子 メ ール通知を有効に し ま す。 sp_logmon の構文 nohup sp_logmon -p port_number -t interval -l integer [-m] /dev/null & 必要な コ ンポーネ ン ト コ ンポーネ ン ト nohup sp_logmon 説明 セ ツ メ イ nohup コ マ ン ド はユーザーが ロ グ ア ウ ト し て も バ ッ ク グ ラ ウ ン ド で実行を継続す る よ う に sp_logmon に指示 し ます。 こ れに よ っ て、 監視が継続的に行われ ます。 sp_logmon コ ン ポーネ ン ト は ス ク リ プ ト を実行 し ます。 -p port_number /dev/null 監視す る sp_cop イ ン ス タ ン ス のポー ト 番号を設定 し ます。 イ ン ス タ ン ス ご と に こ の引数の値を変え て sp_logmon を実行す る と 、 複数の SharePlex イ ン ス タ ン ス を監視で き ます。 通知の出力を ロ ーカルシ ス テ ムの /dev/null デバ イ ス に リ ダ イ レ ク ト し 、 バ ッ ク グ ラ ウ ン ド での監視プ ロ セ ス の実行 と 出力の生 成を継続で き る よ う に し ます。 出力を画面に表示す る には、 こ の引数を省略 し ます。 & ス ク リ プ ト をバ ッ ク グ ラ ウ ン ド で実行 し ます。 章9 SharePlex の無人監視 355 必要な コ ンポーネ ン ト (続 く ) コ ンポーネ ン ト 説明 (続 く ) セツ メ イ -t interval ス キ ャ ンの間隔を秒単位で設定 し ます。 値は任意の正の整数で す。 -l integer Capture が reading す る REDO ロ グ数 と Oracle が書 き 込む REDO ロ グ数の間で、 許容で き る し き い値 (制限) を設定 し ます。 こ の値に よ っ て、 sp_logmon の警告の生成が ト リ ガ さ れます。 有 効な値は、 グループ内の REDO ロ グの個数を上限 と す る 、 1 以 上の正の整数です。 オプ シ ョ ンの変数 変数 -m 説明 セ ツ メ イ 電子 メ ール / ページ ン グのオプシ ョ ン を有効に し ます。 sp_logmon ス ク リ プ ト は、 ス ク リ プ ト 内に コ ーデ ィ ン グ さ れ てい る すべてのア ド レ ス に通知 メ ッ セージ を送信 し ます。 こ のパ ラ メ ー タ がない場合、 sp_logmon は電子 メ ールを送信せ ず、 ロ グ フ ァ イ ルへのエ ラ ーの記録のみを行い ます。 356 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 sp_ps によ る SharePlex プ ロ セスの監視 sp_ps 監視ユーテ ィ リ テ ィ は、 指定 さ れた sp_cop イ ン ス タ ン ス に関連す る す べての SharePlex プ ロ セ ス を、 チ ャ イ ル ド プ ロ セ ス も 含めて定期的に監視 し 、 異常を報告 し ます。 こ の ス ク リ プ ト で 1 つ以上のシ ス テ ム の複数の SharePlex イ ン ス ト ールを監視で き る ほか、 単方向ま たは双方向 (ピ ア ト ゥ ピ ア) の設定 に も 対応 し ます。 sp_ps によ る ア ク シ ョ ン プ ロ セ ス を ス キ ャ ンす る たびに、 sp_ps は次のア ク シ ョ ン を実行 し ます。 • 即時対応が必要な異常が発見 さ れた場合、 sp_ps は 1 つま たは複数の ロ グ フ ァ イ ルに通知 メ ッ セージ を生成 し ます。 sp_cop を ソ ース シ ス テ ム、 タ ー ゲ ッ ト シ ス テ ム、 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン用の どれに指定 し たかに よ っ て、 次の メ ッ セージが適切な形式で出力 さ れ ます。 The [Capture | Reader | Export | Import | Post] process for [sp_cop_name] SharePlex instance is down! • 電子 メ ールのオプシ ョ ンが有効な場合、 件名のテ キ ス ト は次の よ う にな り ます。 Urgent!A SharePlex process is down! sp_ps を実行する ための要件 • sp_ps ユーテ ィ リ テ ィ を使用す る 前に、 「監視ユーテ ィ リ テ ィ を使用す る た めの要件」 (347 ページ) を参照 し て く だ さ い。 スキ ャ ン間隔の設定 こ の変数は、 sp_ps プ ロ グ ラ ム がモニ タ のチ ェ ッ ク の間に待機す る 時間を指定 し ます。 デフ ォ ル ト は 2,000 秒です。 異な る ス キ ャ ン間隔を指定す る には、 次 の手順に従い ます。 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_ps フ ァ イ ルを開 き ます。 2 interval= 行を、 た と えば次の よ う に、 必要な ス キ ャ ン間隔に変更 し ます。 interval=1500 任意の正の整数 を入力で き ます。 0 は無効です。 章9 SharePlex の無人監視 357 3 変更を保存 し て フ ァ イ ルを ク ロ ーズ し ます。 電子 メ ールオプ シ ョ ンの設定 電子 メ ール / ページ ン グのオプシ ョ ンは、 デフ ォ ル ト で有効に設定 さ れてい ま す。 こ こ では、 次の手順を説明 し ます。 • 電子 メ ールのオプシ ョ ン を無効ま たは有効にす る • sp_ps が通知を送信す る 電子 メ ールア ド レ ス を定義す る 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_ps ス ク リ プ ト を開 き ます。 2 次の例の よ う に、 MAILOPTION 変数の行を TRUE ま たは FALSE に設定 し ます。 MAILOPTION=TRUE と す る と 、 電子 メ ール機能は有効にな り ます (デフ ォ ル ト )。 MAILOPTION=FALSE と す る と 、 電子 メ ール機能は無効にな り ます。 3 電子 メ ール / ページ ャ ーのア ド レ ス を追加す る には、 MailUserName= 変数に 続けてそれ ら の文字列を入力 し ます。 完全な形式の電子 メ ールア ド レ スや ページ ャ ーア ド レ ス を使用 し て く だ さ い。 必要に応 じ て任意の数のア ド レ ス を指定で き ます。 次の例の よ う に、 複数のエ ン ト リ は スペース で区切 り ます。 [email protected] [email protected] 4 フ ァ イ ルを保存 し て ク ロ ーズ し ます。 電子 メ ールを有効に し て ス ク リ プ ト を実行す る と 、 通知はすべてのア ド レ ス に送信 さ れ ます。 sp_ps の構文 nohup sp_ps 'sp_cop -uname' CONFIGURATION > /dev/null & 必要な コ ンポーネ ン ト コ ンポーネ ン ト nohup sp_ps 説明 セ ツ メ イ nohup コ マ ン ド はユーザーが ロ グ ア ウ ト し て も バ ッ ク グ ラ ウ ン ド で実行を継続す る よ う に sp_ps に指示 し ます。 こ れに よ っ て、 監視が継続的に行われます。 sp_ps コ ン ポーネ ン ト は ス ク リ プ ト を実行 し ます。 358 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 必要な コ ンポーネ ン ト (続 く ) コ ンポーネ ン ト 説明 (続 く ) セツ メ イ 'sp_cop -uname ' こ れは こ の構文の必須の コ ン ポーネ ン ト で、 例に示す よ う に 一重引用符で囲みます。 -uname オプシ ョ ンには、 -u オプ シ ョ ン付 き で sp_cop を起動 し た と き に使用 し た も の と 正確 に一致す る 名前を使用 し て く だ さ い。 -uname オプシ ョ ン を付 けずに こ の引数を単独で使用 し た場合、 sp_ps は SharePlex のデフ ォ ル ト ポー ト であ る 2100 を使用す る sp_cop を監視 し ます。 こ のパ ラ メ ー タ を複数回使用 し て、 複数の sp_cop プ ロ セ ス を監視で き ます。 CONFIGURATION こ の変数は、 監視対象の SharePlex イ ン ス タ ン ス の複製の設 定が ソ ース シ ス テ ム ま たは タ ーゲ ッ ト シ ス テ ム上にあ る か、 あ る いはピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン に含まれ る か を表 し ます。 こ の値は大文字で入力 し て く だ さ い。 「CONFIGURATION」 の有効な値 一方向レ プ リ ケーシ ョ ンの場合 : SOURCE ― ソ ース シ ス テ ム上の Capture、 Read、 Export プ ロ セ ス を監視 し ます。 TARGET ― タ ーゲ ッ ト シ ス テ ム上の Import お よ び Post プ ロ セ ス を監視 し ます。 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合 : MULTI-SOURCE ? ス ク リ プ ト に各シ ス テ ム上の Capture、 Read、 Export、 Import、 お よ び Post プ ロ セ ス の監視を指示 し ます。 ( ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンの場合、 各シ ス テ ム の設定は、 他のシ ス テ ムの Import お よ び Post プ ロ セ ス を生 成 し ます。 ) 注 : 同一シ ス テ ム上で ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン を実行 し てい る 場合は、 Import お よ び Export プ ロ セ ス はあ り ませ ん。 /dev/null 通知の出力を ロ ーカルシ ス テ ムの /dev/null デバ イ ス に リ ダ イ レ ク ト し 、 バ ッ ク グ ラ ウ ン ド での 監視プ ロ セ ス の実行 と 出力の生成を継続で き る よ う に し ま す。 出力を画面に表示す る には、 こ の引数を省略 し ます。 & ス ク リ プ ト をバ ッ ク グ ラ ウ ン ド で実行 し ます。 章9 SharePlex の無人監視 359 sp_qstatmon によ るキ ュ ーの監視 sp_qstatmon ユーテ ィ リ テ ィ は、 capture お よ び post queue の ス テー タ ス を監視 し て メ ッ セージの* バ ッ ク ロ グ を検出 し ます。 こ の ス ク リ プ ト は、 キ ュ ーの中 の メ ッ セージ数が定め ら れた し き い値 (制限) を超え た場合に警告を出 し 、 デー タ 、 シ ス テ ム、 ネ ッ ト ワー ク のいずれかに問題の恐れがあ る こ と を通知す る よ う に設定で き ます。 こ れに よ っ て、 キ ュ ーが フ ァ イ ルシ ス テ ム上の割 り 当 て ら れた スペース を超過す る 前に、 問題を解決す る 時間を確保で き ます。 sp_qstatmon によ る ア ク シ ョ ン sp_qstatmon ス ク リ プ ト は、 キ ュ ーを分析す る たびに、 次のア ク シ ョ ン を実行 し ます。 • capstat.log (capture queue の場合) ま たは poststat.log (post queue の場合) のいずれか と 、 オプシ ョ ン が有効な場合は電子 メ ール メ ッ セージに、 次の 通知を出力 し ます。 The backlog of messages in the [capture/post] queue is currently value.This exceeds the threshold of [-c | -d value].Please take corrective action. • 電子 メ ールのオプシ ョ ン が有効な場合、 件名のテ キ ス ト は次の よ う にな り ます。 SharePlex [capture/post] queue backlog threshold exceeded! 注 : sp_qstatmon ス ク リ プ ト は複数の (named) post queue の監視はサポー ト し ませ ん。 こ の機能の追加については、 今後の SharePlex リ リ ースの リ リ ース ノ ー ト で確認 し て く だ さ い。 sp_qstatmon を実行する ための要件 • sp_qstatmon ユーテ ィ リ テ ィ を使用す る 前に、 「監視ユーテ ィ リ テ ィ を使用 す る ための要件」 (347 ページ) を参照 し て く だ さ い。 • sp_qstatmon ユーテ ィ リ テ ィ を実行す る と 、 同 じ デ ィ レ ク ト リ 内に複数の temp フ ァ イ ルが作成 さ れ ます。 sp_qstatmon に、 そのデ ィ レ ク ト リ への書 き 込み許可を与え て く だ さ い。 * メ ッ セージは SQL 操作か SharePlex 内部の操作であ るのが普通です。 メ ッ セージの詳細は、 12 ページ を参照 し て く だ さ い。 360 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 電子 メ ールア ド レ スの定義 1 任意の ASCII テ キ ス ト エデ ィ タ で sp_qstatmon ス ク リ プ ト を開 き ます。 2 MailUserName= 変数の後にア ド レ ス文字列を追加 し ます。 電子 メ ールア ド レ スやページ ャ ーのア ド レ ス は、 完全な形で使用 し て く だ さ い。 必要に応 じ 、 任意の数のア ド レ ス を指定で き ます。 次の例の よ う に、 複数のエ ン ト リ は スペース で区切 り ます。 [email protected] [email protected] 3 フ ァ イ ルを保存 し て ク ロ ーズ し ます。 4 ス ク リ プ ト の構文に -m オプシ ョ ン を含めて、 電子 メ ール通知を有効に し ま す。 sp_qstatmon の構文 nohup sp_qstatmon -v path -t n -p port_number [-c integer] [-d integer] [-m] > /dev/ null & 必要な コ ンポーネ ン ト コ ンポーネ ン ト 説明 セ ツ メ イ nohup sp_qstatmon nohup コ マ ン ド はユーザーが ロ グ ア ウ ト し て も バ ッ ク グ ラ ウ ン ド で実行を継続す る よ う に sp_qstatmon に指示 し ます。 こ れに よ っ て、 監視が継続的に行われます。 sp_qstatmon コ ン -v path 監視す る sp_cop イ ン ス タ ン ス の SharePlex 変数デー タ デ ィ レ ク ト リ へのパ ス を設定 し ます。 こ の変数がない場合、 sp_qstatmon は失敗 し 、 エ ラ ー メ ッ セージ 「Error...please enter a valid variable data directory path.」 が表示 さ れ ます。 /dev/null 通知の出力を ロ ーカルシ ス テ ムの /dev/null デバ イ ス に リ ダ イ レ ク ト し 、 バ ッ ク グ ラ ウ ン ド での監視プ ロ セ ス の実行 と 出力 の生成を継続で き る よ う に し ます。 出力を画面に表示す る に は、 こ の引数を省略 し ます。 & ス ク リ プ ト をバ ッ ク グ ラ ウ ン ド で実行 し ます。 -t n ス キ ャ ン の間隔を秒単位で設定 し ます。 値は任意の正の整数 です。 -p port_number 監視す る sp_cop のポー ト 番号を設定 し ます。 イ ン ス タ ン ス ご と に こ の引数の値を変え て ス ク リ プ ト を実行す る と 、 複数 の SharePlex イ ン ス タ ン ス を監視で き ます。 ポーネ ン ト は ス ク リ プ ト を実行 し ます。 章9 SharePlex の無人監視 361 オプ シ ョ ンの変数 オプ シ ョ ンの変数 説明 セ ツ メ イ - c integer capture queue の中の メ ッ セージ数の し き い値 (制限) を設定 し ます。 値は任意の正の整数です。 こ のパ ラ メ ー タ がない場 合、 sp_qstatmon はデフ ォ ル ト の 100 メ ッ セージ を使用 し ま す。 - d integer post queue の中の メ ッ セージ数の し き い値 (制限) を設定 し ます。 値は任意の正の整数です。 こ のパ ラ メ ー タ がない場 合、 sp_qstatmon はデフ ォ ル ト の 100 メ ッ セージ を使用 し ま す。 -m 電子 メ ール / ページ ン グのオプシ ョ ン を有効に し ます。 sp_qstatmon ス ク リ プ ト は、 ス ク リ プ ト 内に コ ーデ ィ ン グ さ れてい る すべてのア ド レ ス に通知 メ ッ セージ を送信 し ます。 こ のパ ラ メ ー タ がない場合、 sp_qstatmon は電子 メ ールを送 信せず、 ロ グ フ ァ イ ルへのエ ラ ーの記録のみを行い ます。 362 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 2 : Windows シス テム上での SharePlex の監視 SharePlex は監視な し で も 安定 し て稼働す る よ う に作 ら れてい ますが、 ど の よ う な複製環境で も 不測の事態は発生 し ます。 た と えばシ ス テ ムやネ ッ ト ワー ク に障害が発生 し 、 キ ュ ーにデー タ が蓄積す る 場合があ り ます。 あ る いはユー ザーの コ マ ン ド やエ ラ ーが原因で、 1 つま たは複数の SharePlex のプ ロ セ ス が 停止す る 場合 も あ り ます。 こ こ では、 Sp_Nt_Mon ユーテ ィ リ テ ィ を使用 し て、 主要な複製 イ ベン ト の通知を電子 メ ールで送信す る 方法を説明 し ます。 Sp_Nt_Mon の概要 Sp_Nt_Mon はバ ッ ク グ ラ ウ ン ド で稼働 し 、 指定 さ れた 1 つま たは複数の電子 メ ールア ド レ ス に警告を送信 し て次を通知 し ます。 • Capture、 Read、 Export、 Import、 Post、 Sp_Copsrv.exe プ ロ セ ス の ス テー タ ス • capture お よ び post queue の容量 • Oracle と SharePlex の間で処理 さ れ る REDO ロ グ間の遅延 • Event ロ グ内の次の メ ッ セージ SharePlex was shutdown System call error Queue partition is full Host is down Internal error Out of sync Poster failure Parameter was changed Activate config Deactivate config Bad config file sp_cop was shutdown Child process failed Error ORA-(error number) 章9 SharePlex の無人監視 363 Sp_Nt_Mon の設定 Sp_Nt_Mon は入力 sp_nt_mon.txt を フ ァ イ ルか ら read し ます。 こ の フ ァ イ ルは SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ にあ り ます。 監視 を設定す る には、 こ の フ ァ イ ルを編集 し ます。 sp_nt_mon.txt フ ァ イルを開 く には 1 [ ス タ ー ト ] メ ニ ュ ーか ら [ プ ログ ラ ム] を選択 し 、 [SharePlex] プ ロ グ ラ ム グループの [SpClient] を選択 し ます。 2 [SpClient] ツールバーの [SpMonitor] ボ タ ン を ク リ ッ ク し ます。 [SpMon itor] 3 [SharePlex Monitor] ダ イ ア ロ グ ボ ッ ク ス の [Port] リ ス ト ボ ッ ク ス で、 監 視す る SharePlex イ ン ス タ ン ス のポー ト 番号を選択 し 、 [Configure Monitor] 364 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 を ク リ ッ ク し ます。 デフ ォ ル ト のテ キ ス ト エデ ィ タ ( メ モ帳) で sp_nt_mon.txt フ ァ イ ルが表示 さ れ ます。 ヒ ン ト : SpClient 用のデ フ ォル ト のテキス ト エデ ィ タ は Windows Registry で変更で き ます。 エ ン ト リ 名は HKEY_LOCAL_MACHINE\SOFTWARE\Quest Software\SharePlex Remote です。 Sp_Nt_Mon を設定する には 1 フ ァ イ ルには コ メ ン ト を追加で き ます。 コ メ ン ト 行の先頭にはいずれ も パ ウ ン ド 記号 (#) を付け、 Enter キーを 1 回押 し てその行を終了 し ます。 2 Sp_Nt_Mon は、 指定 さ れた間隔で SharePlex にポー リ ン グ し ます。 デフ ォ ル ト は 60 秒ご と です。 デフ ォ ル ト を変更す る には、 Time Interval 行の値を必 要なポー リ ン グ間隔に設定 し ます。 # Time interval for Sp_NT_Mon to check - default = 60 seconds. Time Interval: 60 3 Sp_Nt_Mon には電子 メ ールア ド レ ス が必要です。 出力は電子 メ ール し かあ り ません。 Send Email alert 行の値は 1 に設定 し て く だ さ い。 値を 0 に し て電 子 メ ール通知を無効にす る と 、 こ の ス ク リ プ ト は機能 し な く な り ます。 # Send email alerts - 0 = send no alerts via email; 1 = send email alerts. Send Email alert: 1 章9 SharePlex の無人監視 365 4 SMTP Server Name 行には、 電子 メ ールア カ ウ ン ト の SMTP サーバーの名前を 入力 し ます。 # The name of the SMTP Server. SMTP Server Name:smtpserver.yourcompany.com 5 Email Address 行には、 1 つま たは複数の電子 メ ールア ド レ ス を スペース で区 切っ て入力 し ます。 行は必要に応 じ てその ま ま折 り 返 し て く だ さ い。 # Add the list of email addresses you wish to send alert messages to, separated by spaces. # Email Address:[email protected] [email protected] 6 Sp_Nt_Mon でプ ロ セ ス を監視す る 場合は、 複製プ ロ セ ス (Cop、Capture、 Read、Export、Import、Post) の各行の値を 1 に設定 し ます。 何 ら かの理由でプ ロ セ ス が停止す る と 、 Sp_Nt_Mon は警告を発行 し ます。 プ ロ セ ス の監視を 無効にす る には、 デフ ォ ル ト 値の 0 を使用 し ます。 # Processes to monitor - 0 = do not monitor; 1 = monitor this process. Cop: 1 Capture: 1 Read: 1 Export: 1 Import: 1 Post: 1 7 複製キ ュ ーの各行 (Capture Threshold、 Post Threshold) に、 バ ッ ク ロ グ メ ッ セージの警告の し き い値 と す る メ ッ セージの数* を入力 し ます。 キ ュ ーの バ ッ ク ロ グ容量が こ の し き い値を超え る と 、 Sp_Nt_Mon は警告を発行 し ま す。 こ の値は、 キ ュ ーがそのデ ィ ス ク スペース を使い切 る であ ろ う 値 よ り も 、 十分低 く 設定 し て く だ さ い。 こ う す る こ と で、 デ ィ ス ク スペース を追 加 し た り 、 バ ッ ク ロ グ を招いた問題を解決 し た り す る 時間を確保で き ます。 キ ュ ーの監視を無効にす る には、 デフ ォ ル ト 値の 0 を使用 し ます。 # Queue Thresholds # # A threshold of 0 (Zero) means do not monitor this queue. Capture Threshold: 100000 Post Threshold: 100000 * メ ッ セージは SQL 操作か SharePlex 内部の操作であ るのが普通です。 メ ッ セージの詳細は、 12 ページ を参照 し て く だ さ い。 366 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 8 Event ロ グ を監視す る には、 Monitor Event Log フ ィ ール ド を 1 に設定 し ます。 こ れに よ っ て、 サポー ト さ れ る すべての Event ロ グ メ ッ セージ を監視で き ま す。 Event ロ グの監視を無効にす る には、 デフ ォ ル ト 値の 0 を使用 し ます。 # Monitor the Event Log - 0 (zero) do not monitor; 1 = Monitor Event Log Monitor Event Log: 1 9 Oracle が書 き 込んでい る REDO ロ グ と 、 SharePlex が処理 し てい る ロ グの間 の遅延を監視す る には、 Redo Log Monitor フ ィ ール ド を 1 に設定 し ます。 REDO ロ グの監視を無効にす る には、 デフ ォ ル ト 値の 0 を使用 し ます。 # Monitor Redo Logs - 0 (zero) do not monitor; 1 = Monitor Log Redo Log Monitor: 1 10 REDO ロ グの監視を有効に し た場合は、 Redo Threshold フ ィ ール ド を、 Oracle が SharePlex の処理に先行す る ロ グの最大許容数に設定 し ます。 デフ ォ ル ト は 2 ロ グですが、 値は 1 か ら REDO ロ グの数ま での範囲で設定で き ます。 # If Redo Log Monitor enabled, specify a threshold value for the permissible number of redo logs for Oracle to be ahead of SharePlex. # This parameter is optional, will default to 2 if not specified. Redo Threshold: 3 11 [File] メ ニ ュ ーの [Save] を ク リ ッ ク し て フ ァ イ ルを保存 し 、 ク ロ ーズ し ます。 12 SharePlex Monitor ダ イ ア ロ グ ボ ッ ク ス を開いた ま ま に し ます。 重要! こ の フ ァ イルの名前を変更 し ないで く だ さ い。 フ ァ イル名を変更する と 、 Sp_Nt_Mon ユーテ ィ リ テ ィ はエ ラ ーを出 し て終了 し ます。 Sp_Nt_Mon の実行 Sp_Nt_Mon の設定が済んだ ら 、 SpClient イ ン タ ーフ ェ イ ス か ら 監視す る SharePlex イ ン ス タ ン ス のポー ト 番号を選択 し 、 [Start] を ク リ ッ ク し ます。 Sp_Nt_Mon は、 SpClient か ら シ ャ ッ ト ダ ウ ン さ れ る ま で、 継続 し て SharePlex を監視 し ます。 章9 SharePlex の無人監視 Sp_Nt_Mon が起動す る と 、 [Start] ボ タ ンは [Stop] ボ タ ン に変わ り ます。 Sp_Nt_Mon を シ ャ ッ ト ダ ウ ンす る には、 [Stop] を ク リ ッ ク し ます。 図 23: Sp_Nt_Mon SharePlex Monitor: Sp_Nt_Mon を起動または終了する には、 こ こ を ク リ ッ ク し ます。 モニ タ のパラ メ ー タ を設定するには、 こ こ を ク リ ッ ク し ます。 367 368 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 3 : SharePlex での SNMP の使用 SharePlex は、 SharePlex の複製がサポー ト す る UNIX と Windows のすべてのプ ラ ッ ト フ ォーム上で、 Simple Network Management Protocol エージ ェ ン ト をサ ポー ト し ます。 次の SharePlex イ ベン ト の一部ま たはすべてについて SNMP ト ラ ッ プ を送信す る よ う に、 SharePlex SNMP エージ ェ ン ト を設定で き ます。 • • • • • • • • SharePlex の論理エ ラ ー と 、 複製プ ロ セ ス の停止の原因 と な る エ ラ ー SharePlex が遭遇す る シ ス テ ム関連のエ ラ ー その他の SharePlex エ ラ ー 非同期状態 SharePlex の起動 SharePlex のシ ャ ッ ト ダ ウ ン 複製プ ロ セ ス の開始 複製プ ロ セ ス の停止 イ ベン ト に対す る エ ラ ーのテ キ ス ト は ト ラ ッ プに含ま れてい ますが、 こ れは Event ロ グに含まれ る エ ラ ー と 同 じ です。 SharePlex SNMP エージ ェ ン ト の概要 SharePlex は SNMP エージ ェ ン ト のみを サポー ト し 、 SNMP ト ラ ッ プのみを送 信 し ます。 ト ラ ッ プ を横取 り す る SNMP シ グナルデーモ ン (SNMP マネー ジ ャ ) は用意 さ れてい ません。 SNMP シ グナルを管理す る ために Network Management Station (NMS) があ る 場合のみ、 SharePlex の SNMP 機能を使用 し て く だ さ い。 注 : SNMP エージ ェ ン ト は、 iwsnmptrap と い う 名前で、 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ に SharePlex と 一緒に イ ン ス ト ール さ れます。 このプ ログ ラ ムは実行 し ないで く だ さ い。 章9 SharePlex の無人監視 369 SNMP 監視の設定 SharePlex の SNMP サポー ト を有効にす る には、 次のパ ラ メ ー タ を設定 し ます。 一部は必須パ ラ メ ー タ 、 残 り はオプシ ョ ン です。 変更はいずれ も sp_cop を再 起動 し た後に有効にな り ます。 SNMP 監視の有効化 SharePlex 複製の SNMP 監視は、 SP_SLG_SNMP_ACTIVE パ ラ メ ー タ に よ っ て 制御 さ れ ます。 デフ ォ ル ト では、 こ のパ ラ メ ー タ は SNMP サポー ト を無効に す る 0 に設定 さ れてい ます。 SNMP サポー ト を有効にす る には、 こ のパ ラ メ ー タ を 1 に設定 し て く だ さ い。 エージ ェ ン ト の設定 NMS と 通信す る よ う にエージ ェ ン ト を設定す る には、 次の必須パ ラ メ ー タ を 設定 し ます。 SP_SLG_SNMP_ACTIVE を有効に し た場合は、 それぞれのパ ラ メ ー タ に値が必要です。 パラ メ ー タ 名 設定値 SP_SLG_SNMP_HOST ト ラ ッ プの送信先のシ ス テ ム (ホ ス ト ) の名前 SP_SLG_SNMP_COMMUNITY ト ラ ッ プの送信先の コ ミ ュ ニ テ ィ SP_SLG_SNMP_MJR_ERRNUM ト ラ ッ プが使用す る メ ジ ャ ーエ ラ ーナ ンバー SP_SLG_SNMP_MNR_ERRNUM ト ラ ッ プが使用す る マ イ ナーエ ラ ーナ ンバー ト ラ ッ プの設定 次のパ ラ メ ー タ は、 SNMP ト ラ ッ プ を送信す る ために SharePlex を設定で き る すべての複製 イ ベン ト を包含 し てい ます。 こ れ ら はいずれ も フ ラ グです。 0 に 設定す る と 、 パ ラ メ ー タ の機能は無効 (SharePlex は イ ベン ト の ト ラ ッ プ を送 信 し ない) にな り ます。 1 に設定す る と 、 パ ラ メ ー タ は有効にな り ます 370 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 (SharePlex は ト ラ ッ プ を送信す る )。 ト ラ ッ プ用パ ラ メ ー タ は、 一部ま たはす べて を有効にで き ます。 パラ メ ー タ名 監視対象のイ ベ ン ト SP_SLG_SNMP_INT_ERROR プ ロ セ ス終了の原因 と な る SharePlex 論 理エ ラ ー SP_SLG_SNMP_SYS_ERROR SharePlex が遭遇す る シ ス テ ム関連のエ ラー SP_SLG_SNMP_ERROR その他の SharePlex エ ラ ー SP_SLG_SNMP_OUT_OF_SYNC 複製の非同期 SP_SLG_SNMP_STARTUP SharePlex の起動 SP_SLG_SNMP_SHUTDOWN SharePlex のシ ャ ッ ト ダ ウ ン SP_SLG_SNMP_LAUNCH SharePlex プ ロ セ ス の開始 SP_SLG_SNMP_EXIT SharePlex プ ロ セ ス の停止 パラ メ ー タ を設定するには 1 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら 、 sp_ctrl プ ロ グ ラ ム を実行 し ます。 2 sp_ctrl では、 次の構文を使用 し て各パ ラ メ ー タ を設定 し ます。 sp_ctrl> set param [paramname] [value] 3 sp_cop プ ロ セ ス を再起動 し ます。 10 複製 さ れたオブ ジ ェ ク ト の Oracle 特 性の変更 ア ク テ ィ ブ設定にあ る オブジ ェ ク ト の Oracle 特性を変更す る には、 同期 し 続 け る デー タ が SharePlex に よ っ て継続的に複製 さ れてい る ため、 特別な手順に 従 う 必要があ り ます。 こ の章では、 こ れ ら の操作の実行方法を説明 し ます。 重要! こ れら の手順は、 ソ フ ト ウ ェ アの機能 と コ マ ン ド を詳 し く 知っ ている、 経験の ある SharePlex ユーザーが行 っ て く だ さ い。 目次 複製中のオブ ジ ェ ク ト への DDL 変更 Oracle その他の Oracle 変更 372 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: 複製中のオブ ジ ェ ク ト への DDL 変更 SharePlex は、 すべてではな く 一部の DDL 操作を複製 し ます。 SharePlex でサー ポー ト し てい る DLL 操作お よ びサポー ト し ていない DDL 操作の リ ス ト 、 お よ び例外や制約は、 「SharePlex が複製す る オブジ ェ ク ト 」 (58 ページ) を参照 し て く だ さ い。 「サポー ト し てい る 」 DDL 操作は、 設定を再ア ク テ ィ ベー ト し た り 、 オブジ ェ ク ト へのユーザーア ク セ ス を停止 し た り 、 タ ーゲ ッ ト シ ス テ ム で変更を繰 り 返 し た り す る こ と 「な く 」、 行 う こ と がで き ます。 SharePlex は複製 さ れた DDL を タ ーゲ ッ ト シ ス テ ムに実行 し 、 特別な手段は必要あ り ません。 こ のセ ク シ ョ ン では、 SharePlex の複製で 「サポー ト し ていない」 DDL 変更を 行 う 手順を説明 し ます。 デー タ が非同期にな る 原因 と な る エ ラ ーを防 ぐ ために も 、 次の手順に従っ て く だ さ い。 い く つかの手順では、 設定を再ア ク テ ィ ベー ト す る 必要があ り ます。 こ れ ら の手順は、 適応す る Oracle コ マ ン ド に従っ て、 アルフ ァ ベ ッ ト 順に整理 さ れてい ます。 その他すべての DDL コ マ ン ド につい ては、 「その他の複製 さ れていない DDL 変更」 (377 ページ) にあ る 一般手順 を参照 し て く だ さ い。 重要! TRUNCATE は SharePlex の複製でサポー ト し ています。 エ ラ ーを防ぐ ため TRUNCATE 文を発行する 「前に」、 切 り 詰める テーブルに関係する他のテーブルで外 部キー制約を無効に し ます。 SharePlex はこ れら のテーブルの外部キー制約を参照 し 、 見つか ら なか っ た場合は、 エ ラ ー メ ッ セージ を返 し ます。 ALTER TABLE...ADD COLUMN (LOB のみ ) 設定の再ア ク テ ィ ベーシ ョ ンが必要 SharePlex は列を追加す る ために ALTER TABLE コ マ ン ド を複製 し ます。 ただ し 、 LOB 列を追加す る 場合は除 き ます。 複製 さ れてい る テーブルに LOB 列を 追加す る には、 次の手順を使っ て LOB 列を含む よ う に SharePlex がその object cache を更新で き る よ う に し ます。 1 sp_ctrl を実行 し ます。 章 10 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 373 2 ア ク テ ィ ブ設定を コ ピー し ますが、 デ ィ ア ク テ ィ ベー ト は 「 し ないで」 く だ さ い。 show config ま たは名前が明確でない場合は list config コ マ ン ド を 使用 し ます。 名前は後で必要にな る ため、 書 き 留めてお き ます。 sp_ctrl(sysA)> copy config filename to newname 3 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 sp_ctrl(sysA)> edit config newname 4 LOB 列を追加す る テーブルを含む行を検索 し 、 次の例に示す よ う に、 「#」 記号を使用 し て フ ァ イ ルか ら コ メ ン ト ア ウ ト し ます。 # scott.emp scott.emp [email protected] 5 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [File] メ ニ ュ ーの [保存] で、 新 し い設定フ ァ イ ルを保存 し ま す。 6 LOB 列を追加す る テーブルへのユーザーア ク セ ス を停止 し ます。 7 新 し い設定を ア ク テ ィ ベー ト し ます。 こ の設定を ア ク テ ィ ベー ト す る こ と で、 現在ア ク テ ィ ブの設定がデ ィ ア ク テ ィ ベー ト さ れ る 旨の警告が表示 さ れ ます。 ア ク テ ィ ベー ト を続行す る こ と で、 複製か ら テーブルが削除 さ れ ます。 sp_ctrl(sysA)> activate config newname 8 LOB 列を ソ ースお よ び タ ーゲ ッ ト テーブルに追加 し ます。 9 テーブルのエ ン ト リ が コ メ ン ト ア ウ ト さ れていない、 「元の」 設定を ア ク テ ィ ベー ト し ます。 こ の設定を ア ク テ ィ ベー ト す る こ と で、 現在ア ク テ ィ ブの設定がデ ィ ア ク テ ィ ベー ト さ れ る 旨の警告が表示 さ れ ます。 ア ク テ ィ ベー ト を続行す る こ と で、 テーブルの複製が再開 し ます。 ロ ッ ク さ れてい る 唯一のオブジ ェ ク ト は、 LOB 列を追加 し たテーブルのみです。 sp_ctrl(sysA)> activate config filename 10 LOB 列を追加 し たテーブルへのユーザーア ク セ ス を許可 し ます。 ALTER TABLE...ENABLE ROW MOVEMENT 行の移動を有効化す る ALTER TABLE コ マ ン ド には、 ソ ース シ ス テ ムや タ ー ゲ ッ ト シ ス テ ム上で特別な手続 き は必要あ り ません。 テーブルを停止 し て コ マ ン ド を実行す る 前に、 Capture プ ロ セ ス が存在 し てお り 、 Capture キ ュ ーにバ ッ 374 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ク ロ グがない、 ま たは少 し だけ存在 し てい る 状態であ る こ と を確認す る こ と を お勧め し ます。 重要! LOB を含むテーブルの、 行移動の有効化はサポー ト さ れていません。 ALTER TABLE...RENAME TO ア ク テ ィ ブ設定にあ る テーブルの名前を変更す る には、 ソ ース テーブル と タ ー ゲ ッ ト テーブルの ど ち ら かの名前を変更す る のかに よ っ て、 次の手順のいずれ か を使用 し ます。 ソ ース テーブルのみの名前を変更 設定の再ア ク テ ィ ベーシ ョ ンが必要 ア ク テ ィ ブ設定の ソ ース テーブル 「のみ」 の名前を変更す る には、 こ の手順を 使用 し ます。 1 sp_ctrl を実行 し ます。 2 ア ク テ ィ ブ設定を コ ピー し ますが、 デ ィ ア ク テ ィ ベー ト は 「 し ないで」 く だ さ い。 show config ま たは名前が明確でない場合は list config コ マ ン ド を 使用 し ます。 sp_ctrl(sysA)> copy config filename to newname 3 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ の コ マ ン ド は、 設定フ ァ イ ルを SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワ ー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 4 新 し い設定を編集 し 、 ソ ース テーブルの名前を変更 し ます。 5 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワ ー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 6 テーブルへのユーザーア ク セ ス を停止 し ます。 7 ソ ース テーブルの名前を Oracle で変更 し ます。 章 10 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 375 8 sp_ctrl で、 デフ ォ ル ト の multi-threaded activation を使用 し て新 し い設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config newname 9 テーブルへのユーザーア ク セ ス を回復 し ます。 タ ーゲ ッ ト テーブルの名前を変更 設定の再ア ク テ ィ ベーシ ョ ンが必要 こ の手順に従っ て、 ア ク テ ィ ブ設定にあ る タ ーゲ ッ ト テーブルの名前を変更 し ます。 必要であれば、 ソ ース テーブルの名前 も 同時に変更で き ます。 1 sp_ctrl を実行 し ます。 2 ア ク テ ィ ブ設定を コ ピー し ますが、 デ ィ ア ク テ ィ ベー ト は 「 し ないで」 く だ さ い。 show config ま たは名前が明確でない場合は list config コ マ ン ド を 使用 し ます。 sp_ctrl(sysA)> copy config filename to newname 3 edit config コ マ ン ド を使用 し て、 新 し い設定を開 き ます。 こ れに よ り 、 設定 フ ァ イ ルが SharePlex 用のデフ ォ ル ト テ キ ス ト エデ ィ タ (UNIX では vi、 Windows では ワー ド パ ッ ド ) で開 き ます。 sp_ctrl(sysA)> edit config newname 4 新 し い設定を編集 し 、 フ ァ イ ルにあ る ソ ース テーブル (必要な場合) と タ ーゲ ッ ト テーブルの名前を変更 し ます。 5 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ーの [保存] で、 新 し い設定を保存 し ます。 6 ソ ース シ ス テ ム で、 下記の コ マ ン ド を使用 し て ソ ース か ら タ ーゲ ッ ト へ デー タ を フ ラ ッ シ ュ し ます。 datasource は、 o. の後に ソ ース デー タ ベース の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 こ の コ マ ン ド は Post プ ロ セ ス を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点 を確立す る マーカーを、 デー タ ス ト リ ーム に置 き ます。 sp_ctrl(sysA)> flush datasource 7 ソ ース テーブルへのユーザーア ク セ ス を停止 し 、 Oracle で名前を変更 し ま す。 376 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 8 デフ ォ ル ト の multi-threaded activation を使用 し て新 し い設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config newname 9 Post が フ ラ ッ シ ュ か ら 停止 し た ら 、 タ ーゲ ッ ト テーブルの名前を変更 し ま す。 10 Post を開始 し ます。 ALTER TABLE...SHRINK TABLESPACE テーブル領域を縮小す る ALTER TABLE コ マ ン ド には、 ソ ース シ ス テ ムや タ ー ゲ ッ ト シ ス テ ム上で特別な手続 き は必要あ り ません。 テーブルを停止 し て コ マ ン ド を実行す る 前に、 Capture プ ロ セ ス が存在 し てお り 、 Capture キ ュ ーにバ ッ ク ロ グがない、 ま たは少 し だけ存在 し てい る 状態であ る こ と を確認す る こ と を お勧め し ます。 CREATE TABLE 設定の再ア ク テ ィ ベーシ ョ ンが必要 デー タ ベース にテーブルを追加 し 、 ア ク テ ィ ブ設定に含ませ る には、 次の手順 に従い ます。 1 テーブルを ソ ース と タ ーゲ ッ ト のデー タ ベース に追加 し 、 テーブルがデー タ 投入 さ れてい る 場合はデー タ が同期 さ れてい る こ と を確認 し ます。 も し よ ければ、 次の手順で示す よ う にデー タ ベース に追加す る 前にテーブルを 設定に追加で き ます。 だだ し 、 新 し い設定を 「ア ク テ ィ ベー ト 」 す る 前に テーブルがデー タ ベース に存在す る 必要があ り ます。 ヒ ン ト : Oracle ワ イル ド カ ー ド を使用 し てお り 、 設定フ ァ イル内の Oracle ワ イル ド カ ー ド 指定が追加対象テーブルを カバー し ている場合、 そのテーブルを設定フ ァ イルに 追加する必要はあ り ません。 設定 フ ァ イルを再ア ク テ ィ ベー ト し た時に、 基準に一致す る任意の新規オブ ジ ェ ク ト が複製に追加 さ れます。 Oracle ワ イル ド カ ー ド の使用方法 については、 128 ページ を参照 し て く だ さ い。 章 10 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 377 2 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] こ のテーブルに垂直分割ま たは水平分 割レ プ リ ケーシ ョ ン を使用 し てい る 場合は、 必要に応 じ て不要な行や列を タ ーゲ ッ ト テーブルか ら 削除 し ます。 3 sp_ctrl を実行 し ます。 4 ア ク テ ィ ブ設定を コ ピー し ますが、 デ ィ ア ク テ ィ ベー ト は 「 し ないで」 く だ さ い。 show config ま たは名前が明確でない場合は list config コ マ ン ド を 使用 し ます。 sp_ctrl(sysA)> copy config filename to newname 5 新 し いテーブルのオーナー、 名前、 タ ーゲ ッ ト テーブル と ルーテ ィ ン グ情 報を追加す る ため新 し い設定を編集 し ます。 sp_ctrl(sysA)> edit config newname 6 vi を使用 し てい る 場合は :wq コ マ ン ド で、 ま た ワー ド パ ッ ド を使用 し てい る 場合は [File] メ ニ ュ ーの [保存] で、 新 し い設定フ ァ イ ルを保存 し ま す。 7 デフ ォ ル ト の multi-threaded activation を使用 し て新 し い設定を ア ク テ ィ ベー ト し ます。 こ の設定を ア ク テ ィ ベー ト す る こ と で、 現在ア ク テ ィ ブの設定 がデ ィ ア ク テ ィ ベー ト さ れ る 旨の警告が表示 さ れ ます。 ア ク テ ィ ベーシ ョ ン を続行 し ます。 分析す る 必要のあ る テーブルは、 新 し いテーブルのみで す。 sp_ctrl(sysA)> activate config newname その他の複製 さ れていない DDL 変更 設定の再ア ク テ ィ ベーシ ョ ンが必要 次の手順に従っ て、 その他複製 さ れていない DDL 変更をすべての手動で ソ ー スお よ び タ ーゲ ッ ト シ ス テ ム に行い ます。 1 ソ ース Oracle イ ン ス タ ン ス (ピ ア ト ゥ ピ アでの複製を使用 し てい る 場合は すべての イ ン ス タ ン ス )Ç÷ÇÃÉAÉNÉZÉXÇší‚é~ǵNjDzÅB 2 ソ ース シ ス テ ム で、 下記の コ マ ン ド を使用 し て ソ ース か ら タ ーゲ ッ ト へ デー タ を フ ラ ッ シ ュ し ます。 datasource は、 o. の後に ソ ース デー タ ベース の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 こ の コ マ ン 378 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ド は Post プ ロ セ ス を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点 を確立す る マーカーを、 デー タ ス ト リ ームに置 き ます。 sp_ctrl(sysA)> flush datasource 3 タ ーゲ ッ ト シ ス テ ム で sp_ctrl の lstatus コ マ ン ド を使用 し 、 各シ ス テ ム でそ の datasource の post queue が空であ り 、 Post プ ロ セ ス が停止 さ れてい る こ と を確認 し ます。 post queue の メ ッ セージ数は 0 でなければな り ません。 sp_ctrl(sysB)> lstatus 4 すべてのデー タ が post さ れ、 Post が停止 さ れた ら 、 DDL 変更を ソ ース シ ス テ ム に í«â¡ÇµÇ‹Ç²ÅB 5 デフ ォ ル ト の multi-threaded activation を使用 し て、 ソ ース シ ス テ ム の設定を 再ア ク テ ィ ベー ト し ます。 こ の操作は、 DDL 変更を組み込むために SharePlex に内部テーブルを再構築す る よ る に指示 し ます。 sp_ctrl(sysA)> activate config filename 6 ソ ース シ ス テ ムのユーザー操作を再開 し ます。 複製 さ れたデー タ は、 Post が再開 さ れ る ま で Post queue に蓄積 さ れます。 7 Post が停止 さ れてい る 間、 同 じ DDL 変更を タ ーゲ ッ ト シ ス テ ム に追加 し ま す。 8 [ 高可用性お よびピ ア ト ゥ ピ ア での複製のみ ] 高可用性ま たはピ ア ト ゥ ピ アでの 複製を使用 し てい る 場合は、 すべてのセ カ ン ダ リ シ ス テ ム で設定を再ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 9 すべての タ ーゲ ッ ト シ ス テ ム で Post を開始 し ます。 SharePlex は停止 し た と こ ろ か ら 複製を再開 し 、 デー タ は同期 さ れた状態に残 り ます。 sp_ctrl(sysB)> start post 章 10 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 379 パー ト 2 : Oracle その他の Oracle 変更 こ のセ ク シ ョ ン では他の 非 DDL 変更を、 複製が行われてい る 間にデー タ ベー ス に追加す る 手順を説明 し ます。 UNIX シス テムで ORACLE_HOME の場所を移動 ORACLE_HOME の場所を変更す る には、 SharePlex を Oracle ラ イ ブ ラ リ に再 リ ン ク す る 必要があ り ます。 次の ス テ ッ プ を実行 し ます。 1 SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl> shutdown 2 ORACLE_HOME を移動 し ます。 3 oratab フ ァ イ ルを ORACLE_HOME の新 し いパ ス に更新 し ます。 4 [proddir]/data デ ィ レ ク ト リ の defaults.yaml フ ァ イ ルを、 新たな ORACLE _HOME のパ ス で更新 し ます。 5 SharePlex を再起動 し ます。 380 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 タ ーゲ ッ ト ORACLE_SID の変更 タ ーゲ ッ ト デー タ ベース の名前の変更 ( こ れに よ り ORACLE_SID が変更 さ れ る ) は、 設定の再ア ク テ ィ ベー ト が必要です。 次の ス テ ッ プ を実行 し ます。 1 ソ ース シ ス テ ム で sp_ctrl を実行 し ます。 2 ソ ース シ ス テ ム でア ク テ ィ ブ設定を コ ピー し ますが、 デ ィ ア ク テ ィ ベー ト は 「 し ないで」 く だ さ い。 show config ま たは名前が明確でない場合は list config コ マ ン ド を使用 し ます。 sp_ctrl(sysA)> copy config filename to newname 3 新 し い設定を開 き 、 タ ーゲ ッ ト シ ス テ ム側のすべてのルーテ ィ ン グマ ッ プ を新 し い ORACLE_SID に変更 し ます。 ルーテ ィ ン グマ ッ プは、 次の よ う に 各行の 3 列目にあ る エ ン ト リ です。 [email protected]. sp_ctrl(sysA)> edit config newname 4 新 し い設定を保存 し ます (vi の :wq コ マ ン ド で、 ま た ワー ド パ ッ ド の [ フ ァ イル] メ ニ ュ ーの [保存] を使用)。 だだ し 、 再ア ク テ ィ ベー ト は し ないで く だ さ い。 5 複製に関わ る ソ ース テーブルへのユーザー操作を停止 し ます。 6 ソ ース シ ス テ ム で、 次の コ マ ン ド を使用 し て キ ュ ーに残っ たデー タ を タ ー ゲ ッ ト デー タ ベース に フ ラ ッ シ ュ し ます。 datasource は、 o. の後に ソ ース デー タ ベース の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 こ の コ マ ン ド は Post プ ロ セ ス を停止 し 、 ソ ース と タ ーゲ ッ ト デー タ ベース間の同期点を確立 し 、 Post プ ロ セ ス を停止 し ます。 sp_ctrl(sysA)> flush datasource 7 ソ ース シ ス テ ム上で新 し い設定を ア ク テ ィ ベー ト し ます。 こ の設定を ア ク テ ィ ベー ト す る こ と で、 現在ア ク テ ィ ブの設定がデ ィ ア ク テ ィ ベー ト さ れ る 旨の警告が表示 さ れます。 ア ク テ ィ ベーシ ョ ン を続行 し ます。 SharePlex はテーブルを分析す る 必要がないので、 ア ク テ ィ ベーシ ョ ンは短時間で完 了 し ます。 sp_ctrl(sysA)> activate config newname 8 ユーザーが ソ ースデー タ ベース の操作を再開で き る よ う に許可 し ます。 章 10 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 381 9 タ ーゲ ッ ト シ ス テ ム で status コ マ ン ド を発行 し 、 Post が停止 し た確認 し ま す。 Post が ま だ実行 さ れてい る 場合は、 Post が停止す る ま で status コ マ ン ド を発行 し 続け ます。 sp_ctrl(sysB)> status 10 Post が停止 し た後、 タ ーゲ ッ ト デー タ ベース を シ ャ ッ ト ダ ウ ン し 、 ORACLE_SID の名前を変更 し ます。 11 タ ーゲ ッ ト シ ス テ ム で Post プ ロ セ ス を開始 し ます。 sp_ctrl(sysB)> start post 382 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 11 管理操作の実行 SharePlex を実行 し てい る マシ ン でシ ス テ ムや ソ フ ト ウ ェ ア を保守す る には、 同期 さ れた状態に保つデー タ が SharePlex に よ っ て複製 さ れてい る ため、 特別 な手順が必要です。 こ の章では、 こ れ ら の操作の実行方法を説明 し ます。 重要! こ れら の手順は、 ソ フ ト ウ ェ アの機能 と コ マ ン ド を詳 し く 知っ ている、 経験の ある SharePlex ユーザーが行 っ て く だ さ い。 目次 パッ チと アッ プグレ ード のイ ン スト ール Oracle データ ベースの移行 SharePlex Oracle アカ ウン ト の管理 UNIX システム上での SharePlex ユーザー( またはユーザーと パスワード ) の変更 UNIX システムでの ora_setup の実行 Windows システム上での OraSetup の実行 その他の管理操作の実行 UNIX システムから SharePlex を 削除 Windows システムから SharePlex を 削除 384 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パー ト 1: パ ッ チ と ア ッ プグレー ド のイ ン ス ト ール こ こ では、 次の操作方法について説明 し ます。 • SharePlex を実行 し てい る シ ス テ ム上でアプ リ ケーシ ョ ンのパ ッ チ と ア ッ プ グ レー ド を イ ン ス ト ール • • • • SharePlex を実行中のシ ス テ ムに OS と Oracle パ ッ チを イ ン ス ト ール SharePlex ア ッ プグ レー ド の イ ン ス ト ール SharePlex パ ッ チの イ ン ス ト ール Oracle デー タ ベース の移行 SharePlex を実行 し ている シス テム上で ア プ リ ケー シ ョ ンのパ ッ チ と ア ッ プグ レー ド を イ ン ス ト ール アプ リ ケーシ ョ ン のパ ッ チ ま たはア ッ プグ レー ド はその内容や複製環境 と の関 係に よ っ て、 タ ーゲ ッ ト シ ス テ ムへの適用方法 (ま たは適用す る 必要があ る か 否か) と 適用後の操作が決定 さ れ ます。 こ のセ ク シ ョ ン で使用す る 手順を選択 す る 前に、 「パ ッ チ ま たはア ッ プグ レー ド の適用方法の決定」 お よ び 「パー テ ィ シ ョ ン化レ プ リ ケーシ ョ ン使用時のパ ッ チ ま たはア ッ プグ レー ド の適用」 (386 ページ) を見直 し て く だ さ い。 パ ッ チ またはア ッ プグ レー ド の適用方法の決定 複製処理の進行中にパ ッ チ ま たはア ッ プグ レー ド を適用す る には、 異な る 手順 があ り ます。 ど の手順を選択す る かは、 パ ッ チ ま たはア ッ プグ レー ド に、 複製 さ れてい る オブジ ェ ク ト に影響を与え る DML か DDL ま たはその両方が含ま れ る か ど う かに よ り ます。 次の表を参照 し 、 使用す る 手順を決定 し て く だ さ い。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 385 パ ッ チお よびア ッ プグ レー ド の手順表 手順 A または B を使用 し ます。 ソ ース シス テム側 パ ッ チ またはア ッ プグ レー ド で の手順 次のいずれかが行われる場合 は、 タ ーゲ ッ ト シ ス テム側 の手順 SharePlex に よ っ て複製 さ れ た DDL コ マ ン ド 以外1 の方 法に よ っ て、 テーブルに DDL 変更が行われ る SharePlex で変更が分析 さ れ る よ う に各プ ロ シージ ャ 手 順につ き 設定を編集 し (必 要な場合)、 再ア ク テ ィ ベー ト し ます。 テーブルに対 し reorg (ま た はその他のプ ロ セ ス) を実 行 さ れ、 使用 さ れた一時 テーブルがデー タ ベース内 の恒久的な位置に名前変更 される SharePlex で新規オブジ ェ ク ト ID が入手で き る よ う に、 各プ ロ シージ ャ 手順につ き 設定を再ア ク テ ィ ベー ト し ます。 タ ーゲ ッ ト へのパ ッ チ ま た はア ッ プグ レー ド の適用は 任意です。 SharePlex では、 タ ーゲ ッ ト 上でオブジ ェ ク ト ID は使用 さ れないので、 タ ーゲ ッ ト テーブルに対す る Reorg は複製に影響を与え ません。 2 新 し いテーブルが追加 さ れ る テーブルを追加す る ために 設定を編集 し 、 その設定を ア ク テ ィ ベー ト し ます。 テーブルに複製す る 場合は、 テーブルを タ ーゲ ッ ト に追 加す る ためにパ ッ チ ま たは ア ッ プグ レー ド を実行 し ま す。 2 カ ス ケー ド 削除な ど の ト リ ガや制約が、 作成ま たは変 更される ト リ ガ ま たは制約の影響は、 パ ッ チ ま たはア ッ プグ レー SharePlex に よ っ て複製 さ れ ド を適用 し 、 タ ーゲ ッ ト 上 ます。 ソ ース シ ス テ ム上で の ト リ ガ と 制約は SharePlex 必要な手順はあ り ません。 で複製 さ れ る ので、 無効に し ます。 パ ッ チ ま たはア ッ プグ レー ド を タ ーゲ ッ ト に適用す る こ と で、 DDL を適用 し ます。 2 何 も す る 必要はあ り ません。 任意です。 高可用性が必要 イ ンデ ッ ク ス、 ス ト ア ド プ な場合、 パ ッ チ ま たはア ッ ロ シージ ャ やパ ッ ケージが、 プグ レー ド を適用 し ます。 ソ ース シ ス テ ムへ追加 さ れ る ソ ース シ ス テ ム のユーザー やセキ ュ リ テ ィ が変更 さ れ る 何 も す る 必要はあ り ません。 任意です。 高可用性が必要 な場合、 パ ッ チ ま たはア ッ プグ レー ド を適用 し ます。 386 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 パ ッ チおよびア ッ プグ レ ー ド の手順表 (続 く ) 手順 C を使用 し ます。 パ ッ チ ま ソ ースシ ス テム側 たはア ッ プグレー ド で次のいず の手順 れかのみが行われる場合は、 タ ーゲ ッ ト シス テム側 の手順 テーブルに DML 変更が加え 何 も す る 必要はあ り ません。 パ ッ チ ま たはア ッ プグ レー られる こ れ ら の変更は タ ーゲ ッ ト ド は適用 し ないで く だ さ い。 シ ス テ ムに複製 さ れます。 変更は複製 さ れ ます。 SharePlex に よ っ て複製 さ れ 何 も す る 必要はあ り ません。 パ ッ チ ま たはア ッ プグ レー こ れ ら の変更は タ ーゲ ッ ト ド は適用 し ないで く だ さ い。 た DDL コ マ ン ド 1 に よ っ 変更は複製 さ れ ます。 て テーブルに DDL 変更が行 シ ス テ ムに複製 さ れます。 われ る 1 2 SharePlex が複製する DDL の一覧については、 ご利用の SharePlex のバージ ョ ンに対応する リ リ ース ノ ー ト を参照 し て く だ さ い。 タ ーゲ ッ ト シ ス テムを高可用性の目的で使用する場合は、 タ ーゲ ッ ト シ ス テム上で も設定を ア ク テ ィ ベー ト し ます。 パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン使用時のパ ッ チ また はア ッ プグ レー ド の適用 パ ッ チ ま たはア ッ プグ レー ド で影響 さ れ る テーブルがパーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン に関わ る 場合は、 「パ ッ チお よ びア ッ プグ レー ド の手順表」 (385 ページ) を基に選択 し た手順に従 う 際、 次の点を考慮 し て く だ さ い。 垂直分割レ プ リ ケーシ ョ ン • 列が追加 さ れたが、 それ ら の列が column partition の一部 と 「な ら ない」 場 合、 パ ッ チ ま たはア ッ プグ レー ド を適用 し た後、 タ ーゲ ッ ト テーブルか ら それ ら の列を削除 し ます。 • 列が追加 さ れ、 それ ら の列が column partition の一部 と 「な る 」 場合、 それ ら の列を設定フ ァ イ ルの ソ ース と タ ーゲ ッ ト の列 リ ス ト に追加 し 、 設定を 再ア ク テ ィ ベー ト し ます。 • 列が削除 さ れたが、 それ ら の列が column partition の一部で 「あ る 」 場合、 それ ら の列を設定フ ァ イ ルの ソ ース と タ ーゲ ッ ト の列 リ ス ト か ら 削除 し 、 設定を再ア ク テ ィ ベー ト し ます。 • 列の特性 (名前、 デー タ 型、 サ イ ズ な ど) が変更 さ れ、 こ れ ら の列が column partition の一部で 「あ る 」 場合、 設定フ ァ イ ルの ソ ース と タ ーゲ ッ ト の列 リ ス ト (名前が変更 さ れた場合) を更新 し 、 設定を再ア ク テ ィ ベー ト し ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 387 水平分割レ プ リ ケーシ ョ ン • 行が追加 さ れ、 それ ら の行がパーテ ィ シ ョ ン ス キーマの一部にな る 場合、 SHAREPLEX_PARTITION テーブルにそれ ら の行に対す る カ ラ ム コ ンデ ィ シ ョ ン を追加 し 、 テーブルへのユーザーア ク セ ス を停止 し てか ら 設定を再 ア ク テ ィ ベー ト し ます。 詳細は、 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン の変 更」 (325 ページ) を参照 し て く だ さ い。 • 行が削除 さ れ、 それ ら の行がパーテ ィ シ ョ ン ス キーマの一部であ る 場合、 SHAREPLEX_PARTITION テーブルのパーテ ィ シ ョ ン ス キーマか ら それ ら の 行のカ ラ ム コ ンデ ィ シ ョ ン を削除 し 、 テーブルへのユーザーア ク セ ス を停 止 し てか ら 設定を再ア ク テ ィ ベー ト し ます。 詳細は、 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンの変更」 (325 ページ) を参照 し て く だ さ い。 388 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 手順 A - デ ィ ア ク テ ィ ベーシ ョ ン と 再ア ク テ ィ ベー シ ョ ン (quiet system が必要) こ の手順は、 アプ リ ケーシ ョ ン のパ ッ チ ま たはア ッ プグ レー ド を イ ン ス ト ール す る 基本的な方法で、 デー タ ベースへの変更が SharePlex に よ っ て複製 「 さ れ ない」 場合に使用 し ます。 SharePlex でオブジ ェ ク ト 情報を再構築 し 変更を組 み込め る よ う にす る ため、 設定をデ ィ ア ク テ ィ ベー ト し ます。 設定を再ア ク テ ィ ベー ト す る と 、 SharePlex ではすべてのオブジ ェ ク ト が再分析 さ れます。 デ ィ ア ク テ ィ ベーシ ョ ン を回避す る には、 手順 B を使用 し て く だ さ い。 1 すべてのシ ス テ ム上 ( ソ ース と タ ーゲ ッ ト ) の Oracle イ ン ス タ ン スへのア ク セ ス を停止 し ます。 2 ソ ース シ ス テ ム上か ら flush コ マ ン ド を発行 し 、 デー タ を全 タ ーゲ ッ ト シ ス テ ム に フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に 置 き ます。 次の構文中の datasource は、 o. の後に ソ ース イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 sp_ctrl(sysA)> flush datasource 3 ソ ース シ ス テ ム側で設定をデ ィ ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> deactivate config filename 4 以降の手順は、 次の表の手順の 「ど ち ら にで も 」 従 う こ と がで き ます。 2 列 目にあ る 手順を使用す る と 、 プ ロ ダ ク シ ョ ン シ ス テ ム のダ ウ ン タ イ ム を最 小限に抑え ら れ ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 389 基本的な手順 ダウ ン タ イ ムを最小限に抑え る手順 1 パ ッ チ ま たはア ッ プグ レー ド を ソ ース 1 パ ッ チ ま たはア ッ プグ レー ド を ソ ース と タ ーゲ ッ ト シ ス テ ム に適用 し ます。 シ ス テ ム に適用 し ます。 2 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ」 2 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] 設定に必要な変更を し た後、 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン使用時の パ ッ チ ま たはア ッ プグ レー ド の適用」 (386 ページ) に従っ て行ま たは列を削 除 し ます。 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン使 用時のパ ッ チ ま たはア ッ プグ レー ド の 適用」 (386 ページ) に従っ て設定に必 要な変更を し ます。 3 「 ソ ース」 シ ス テ ム上で設定を ア ク テ ィ 3 パ ッ チ ま たはア ッ プグ レー ド で ト リ ガ が作成 も し く は編集 さ れた場合は、 sp_add_trigger.sql を タ ーゲ ッ ト シ ス テ ム で再実行す る か、 ト リ ガ を無効に し ます。 詳細は、 91 ページ を参照 し て く だ さ い。 ベー ト し ます。 sp_ctrl(sysA)> activate config filename 4 ソ ース の イ ン ス タ ン スへのユーザーア ク セ ス を許可 し ます。 5 パ ッ チ ま たはア ッ プグ レー ド を タ ー 4 「 ソ ース」 シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 5 ソ ース と タ ーゲ ッ ト の イ ン ス タ ン スへ のユーザーア ク セ ス を許可 し ます。 6 タ ーゲ ッ ト シ ス テ ム で Post を開始 し ま す。 sp_ctrl(sysB)> start post ゲ ッ ト シ ス テ ム に適用 し ます。 6 パ ッ チ ま たはア ッ プグ レー ド で ト リ ガ が作成 も し く は編集 さ れた場合は、 sp_add_trigger.sql を タ ーゲ ッ ト シ ス テ ム で再実行す る か、 ト リ ガ を無効に し ます。 詳細は、 91 ページ を参照 し て く だ さ い。 7 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] 「パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ン使 用時のパ ッ チ ま たはア ッ プグ レー ド の 適用」 (386 ページ) に従っ て、 適応す る すべての操作を行い ます。 8 タ ーゲ ッ ト シ ス テ ム で Post を開始 し ま す。 sp_ctrl(sysB)> start post 390 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 手順 B - Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し たパ ッ チ と ア ッ プグ レー ド (ア ク テ ィ ブデー タ ベースの保守) Oracle ホ ッ ト バ ッ ク ア ッ プ を使用す る と 、 ソ ース シ ス テ ム側で設定をデ ィ ア ク テ ィ ベー ト し た り 、 ユーザーア ク セ ス を停止 し た り す る こ と な く 、 パ ッ チ ま た はア ッ プグ レー ド を ソ ース シ ス テ ムか ら タ ーゲ ッ ト シ ス テ ム に コ ピーす る こ と がで き ます。 reconcile コ マ ン ド を使用 し て、 次の よ う な項目を特定 し 排除 し ます。 • 複製 さ れた操作か ら の、 そ し てバ ッ ク ア ッ プで も 適用 さ れた、 重複 DML • 複製 さ れたそれたの操作か ら の、 そ し てバ ッ ク ア ッ プで も 適用 さ れた、 重 複 DDL(SharePlex では、 すべての DDL は複製 さ れ ません。 ) • 複製 さ れ、 ま たバ ッ ク ア ッ プで も 適用 さ れたユーザー (OLTP) ト ラ ンザ ク ション パ ッ チ ま たはア ッ プグ レー ド を適用 し た結果、 SharePlex に よ る 複製に対応 し ていない種類の変更が広範囲に渡っ て あ っ た場合、 ま たはパ ッ チ ま たはア ッ プ グ レー ド が ど の よ う な変更を及ぼすのかが明確でない場合、 Oracle 操作を直接 タ ーゲ ッ ト シ ス テ ム で実行す る 代わ り に、 こ の手順が有効です。 注 : 場合によ っ てはホ ッ ト バ ッ ク ア ッ プ を使用する よ り も、 手動でパ ッ チ またはア ッ プグレー ド を タ ーゲ ッ ト シス テムに適用する方が時間がかから ない こ と も あ り ます。 た と えば、 イ ンデ ッ ク ス またはス ト ア ド プ ロ シージ ャのみが追加 さ れる場合、 または セキ ュ リ テ ィ のみが変更 さ れる場合です。 コ ピーの準備 1 ソ ース と タ ーゲ ッ ト シ ス テ ム で複製に関わ る イ ン ス タ ン スへのユーザーア ク セ ス を停止 し ますが、 SharePlex はシ ャ ッ ト ダ ウ ン し ないで く だ さ い。 2 SharePlex 製品デ ィ レ ク ト リ 下の bin サブデ ィ レ ク ト リ へ移動 し 、 ソ ース シ ス テ ム で sp_ctrl を実行 し ます。 3 ソ ース シ ス テ ム上か ら flush コ マ ン ド を発行 し 、 デー タ を タ ーゲ ッ ト シ ス テ ムに フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に 置 き ます。 次の構文中の datasource は、 o. の後に ソ ース イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 sp_ctrl(sysA)> flush datasource 4 パ ッ チ ま たはア ッ プグ レー ド を ソ ース シ ス テ ムに適用 し ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 391 5 ユーザーが ソ ース シ ス テ ムの操作を再開で き る よ う に許可 し ます。 6 ソ ース シ ス テ ム上では、 次の う ちパ ッ チ ま たはア ッ プグ レー ド の結果に対 応す る 操作を行い ます。 パ ッ チに よ る結果 操作 テーブルの構造が変更 さ れた (対応す る DLL が使用 さ れな か っ た場合) ま たは 再編成な ど で一時テーブルが使 用 さ れ、 その名前がデー タ ベー ス内のテーブルに変更 さ れた こ と に よ り 、 オブジ ェ ク ト ID が 変更 さ れた。 設定を再びア ク テ ィ ベー ト し ます。 ア ク テ ィ ブな設定はデ ィ ア ク テ ィ ベー ト 「 し ないで」 く だ さ い。 sp_ctrl(sysA)> activate config filename 複製す る 必要があ る オブジ ェ ク ト が追加 さ れた。 1 設定を コ ピー し ます。 sp_ctrl(sysA)> copy config filename to newname 2 新 し い設定を編集 し 、 オブジ ェ ク ト を追加 し ます。 sp_ctrl(sysA)> edit config newname 3 vi を使用 し てい る 場合は、 :wq を使 用 し て、 ま た、 ワー ド パ ッ ド を使用 し てい る 場合は [ フ ァ イル] メ ニ ュ ー か ら [保存] を選択 し て設定を保存 し ます。 4 新 し い設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename パーテ ィ シ ョ ン化レ プ リ ケー シ ョ ンに使用 さ れてい る オブ ジ ェ ク ト が影響 さ れた。 詳細は、 「パーテ ィ シ ョ ン化レ プ リ ケー シ ョ ン使用時のパ ッ チ ま たはア ッ プグ レー ド の適用」 (386 ページ) を参照 し て く だ さ い。 392 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 コ ピーの作成 ソ ース シ ス テ ム で コ ピーを作成す る には、 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し ます。 1 ソ ース シ ス テ ム で ロ グ フ ァ イ ルを切替え、 アーカ イ ブ ロ グの最高順序番号 を書 き 留めてお き ます。 svrmgrl> alter system switch logfile; 2 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プ か ら タ ーゲ ッ ト デー タ ベース を回復 し 、 前途の ス テ ッ プで記録 し た ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 3 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 タ ーゲ ッ ト イ ン ス タ ン スの準備 4 タ ーゲ ッ ト イ ン ス タ ン ス で ora_setup を実行 し ますが、 新 し いユーザーは作 成 し ないで く だ さ い。 [Would you like to create a new SharePlex user.] のプ ロ ン プ ト で [n] を選択す る こ と で、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存 の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 ora_setup の詳細は、 414 ページ を参照 し て く だ さ い。 こ の手順で ora_setup を実行す る と き 、 SharePlex は実行 し た ま ま で も 構い ません。 5 タ ーゲ ッ ト シ ス テ ム で、 次の う ち 1 つのオプシ ョ ン を使い、 各 Post qeue に ついて reconcile コ マ ン ド を発行 し ます。 オプシ ョ ン については、 queuename は post qeue の名前、 datasource-datadest は o.sourceSID-o.targetSID、 そ し て sequence_number は タ ーゲ ッ ト デー タ ベース の回復を キ ャ ン セル し た後の ロ グの順序番号です。 キ ュ ーの名前が分か ら ない場合は、 qstatus コ マ ン ド を 発行 し て く だ さ い。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number た と えば、 SysA 上の イ ン ス タ ン ス oraA か ら SysB 上の oraA に複製す る 場 合、 reconcile 構文は次の よ う にな り ます。 sp_ctrl(sysB)> reconcile queue SysA for o.oraA-o.oraA [seq 1234] sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了 す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 6 複製戦略に従っ て、 「 タ ーゲ ッ ト 」 シ ス テ ム で次の項目を無効にす る か、 編 集 し ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ • • • • • 393 ト リガ 外部キー制約 カ ス ケー ド 削除制約 チ ェ ッ ク 制約 DML を実行す る ス ケージ ュ ール さ れたジ ョ ブ 7 [パーテ ィ シ ョ ン化レ プ リ ケーシ ョ ンのみ] 水平分割ま たは垂直分割レ プ リ ケー シ ョ ン を使用 し てい る 場合は、 必要に応 じ て不要な行や列を タ ーゲ ッ ト テーブルか ら 削除 し ます。 8 「 タ ーゲ ッ ト 」 シ ス テ ム で Post プ ロ セ ス を開始 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で複製が再開 さ れます。 sp_ctrl(sysB)> start post 手順 C こ の手順は、 パ ッ チ ま たはア ッ プグ レー ド に よ る 操作 「すべて」 が、 SharePlex で 「サポー ト し てい る (複製 さ れ る )」 場合にのみ使用 し ます。 こ の場合、 パ ッ チ ま たはア ッ プグ レー ド は タ ーゲ ッ ト テーブルに複製 さ れ る ので、 ソ ース テーブルにのみ適用 し ます。 対応 さ れ る 操作は次の と お り です。 • DML 変更 • 「SharePlex で複製 さ れた」 DDL 変更。 SharePlex が複製す る 、 複製 し ない DDL の一覧については、 ご利用の SharePlex のバージ ョ ン に対応す る リ リ ー ス ノ ー ト を参照 し て く だ さ い。 1 すべてのシ ス テ ム上 ( ソ ース と タ ーゲ ッ ト ) の Oracle イ ン ス タ ン スへのア ク セ ス を停止 し ます。 2 ソ ース シ ス テ ム上か ら flush コ マ ン ド を発行 し 、 デー タ を タ ーゲ ッ ト シ ス テ ム に フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に 置 き ます。 次の構文中の datasource は、 o. の後に ソ ース イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 sp_ctrl(sysA)> flush datasource 3 パ ッ チ ま たはア ッ プグ レー ド を ソ ース シ ス テ ムに適用 し ます。 こ れ ら の変 更は タ ーゲ ッ ト シ ス テ ムに複製 さ れます。 4 ソ ース イ ン ス タ ン スへのユーザーア ク セ ス を再度許可 し ます。 394 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 5 パ ッ チ ま たはア ッ プグ レー ド で ト リ ガが作成 も し く は編集 さ れた場合は、 複製方法に よ り 必要に応 じ て sp_add_trigger.sql を タ ーゲ ッ ト シ ス テ ム で再 実行す る か、 ト リ ガ を無効に し ます。 詳細は、 91 ページ を参照 し て く だ さ い。 6 各 タ ーゲ ッ ト シ ス テ ム で Post を開始 し ます。 sp_ctrl(sysB)> start post 7 タ ーゲ ッ ト の イ ン ス タ ン スへのユーザーア ク セ ス を許可 し ます。 SharePlex ア ッ プグ レー ド のイ ン ス ト ール SharePlex を最新バージ ョ ン にア ッ プグ レー ド す る には、 新バージ ョ ン の リ リ ース ノ ー ト にあ る ア ッ プグ レー ド 手順に従っ て く だ さ い。 リ リ ース ノ ー ト が ない場合は、 Quest テ ク ニ カルサポー ト に連絡 し て く だ さ い。 現行バージ ョ ン が新バージ ョ ンに よ っ てサポー ト さ れていない場合、 Oracle を ア ッ プグ レー ド す る 必要があ る 可能性があ り ます。 SharePlex パ ッ チのイ ン ス ト ール Quest では SharePlex ソ フ ト ウ ェ アの最高のパフ ォ ーマ ン ス と 信頼性を実現す る ために努力 し てい ます。 SharePlex は継続的に SharePlex 品質管理チーム と 開発 チームに よ っ て検証 さ れてい ます。 パ ッ チは、 内部検証中に発見 さ れた問題や ユーザーサポー ト に報告 さ れた問題に対応す る ため、 必要に応 じ て発行 さ れ ま す。 使用 し てい る SharePlex に適用す る パ ッ チがあ る か ど う か確認す る には、 Quest テ ク ニ カルサポー ト に連絡 し て く だ さ い。 必要な場合は、 ダ ウ ン ロ ー ド す る 方 法が提供 さ れます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 395 イ ン ス ト ール、 ア ッ プグ レー ド そ し てパ ッ チ用の SharePlex .tpm フ ァ イルのダウン ロー ド イ ン ス ト ールフ ァ イ ルは自己解凍型 .tpm フ ァ イ ルで、 Support Link か ら ダ ウ ン ロ ー ド 、 ま たは製品の CD-ROM か ら イ ン ス ト ールで き ます (パ ッ チは Support Link か ら のみ入手可能 )。 SharePlex を実行中のシス テムに OS と Oracle パ ッ チ を イ ン ス ト ール オペレーテ ィ ン グ シ ス テ ム ま たは Oracle DBMS のパ ッ チを イ ン ス ト ールす る 前に、 Quest テ ク ニ カルサポー ト に連絡 し 、 SharePlex でオペレーテ ィ ン グ シ ス テ ム ま たは Oracle デー タ ベース の新バージ ョ ンが対応 さ れてい る か確認 し て く だ さ い。 Oracle パ ッ チは ト リ ガ を作成ま たは編集す る 可能性があ り ます。 Oracle パ ッ チ を適用 し た後、 複製方法に応 じ て sp_add_trigger.sql を タ ーゲ ッ ト シ ス テ ム で 実行す る か、 詳細は、 91 ページ を参照 し て く だ さ い。 396 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Oracle デー タ ベースの移行 移行 と は、 Oracle デー タ ベース を 1 つの場所か ら 別の場所へ仮想的 も し く は物 理的に移動す る 操作を指 し ます。 デー タ ベース は、 次の よ う に移動で き ます。 • 旧バージ ョ ン の Oracle か ら 新バージ ョ ンへの移動(例 :Oracle 8i か ら 10g/11g への移動) • 1 つのオペレーテ ィ ン グ シ ス テ ム か ら 別のオペレーテ ィ ン グ シ ス テ ムへの移 動 (例 : HP-UX か ら AIX への移動) • 旧バージ ョ ンのオペレーテ ィ ン グ シ ス テ ムか ら 新バージ ョ ンへの移動 (例 : Sun Solaris 2.6 か ら Solaris 2.9 への移動) 次の移行手順では Oracle ホ ッ ト バ ッ ク ア ッ プ手順ま たは Oracle export/import ユーテ ィ リ テ ィ を使用 し ます。 • Oracle export/import を使用 し た、 異な る オペレーテ ィ ン グ シ ス テ ム間の Oracle 8i/9i か ら 10g/11g への移行 • Oracle ホ ッ ト バ ッ ク ア ッ プお よ びア ク テ ィ ベーシ ョ ン を使用 し た、 異な る オペレーテ ィ ン グ シ ス テ ム間の Oracle 8i/9i か ら 10g/11g への移行 • Oracle エ ク ス ポー ト / イ ン ポー ト を使用 し た、Oracle 8i/9i か ら 10g/11g への移 行 • Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し た、 Oracle 8i/9i か ら 10g/11g への移行 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 397 Oracle エ ク スポー ト / イ ンポー ト を使用 し た、 異な る オ ペ レ ーテ ィ ン グシ ス テム間の Oracle 9i から 10g/11g への 移行 次の手順は、 異な る オペレーテ ィ ン グ シ ス テ ムが稼動 し てい る マシ ン の間で、 Oracle デー タ ベース を 1 つのバージ ョ ン か ら 別バージ ョ ンへ移行す る と き 使用 で き ます。 た と えば、 ソ ース マシ ンが Sun Solaris で、 タ ーゲ ッ ト マシ ンに AIX だ と し ます。 こ の手順では Oracle export お よ び import ユーテ ィ リ テ ィ を使用 し 、 その後に説明す る 移行手順では、 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し ま す。 こ の手順では、 まず タ ーゲ ッ ト シ ス テ ム でい く つかの操作を行い、 その後 ソ ー ス シ ス テ ム で別の操作を行い ます。 そ し て最後に タ ーゲ ッ ト シ ス テ ム で手順を 完了 し ます。 タ ーゲ ッ ト マ シ ン上の操作 1 Oracle 10g/11g を イ ン ス ト ール し 、 10g/11g デー タ ベース を作成 し ます。 手順 は、 Oracle のマニ ュ アルを参照 し て く だ さ い。 2 デー タ ベース を起動 し ます。 3 『 イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て SharePlex を イ ン ス ト ール し ます。 重要! こ の時点で ora_setup は実行 し ないで く だ さ い。 4 sp_cop を起動 し 、 sp_ctrl. へ ロ グオ ン し ます。 5 Post を停止 し ます。 sp_ctrl(sysB)> stop post 6 タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で shutdown コ マ ン ド を発行す る こ と で、 SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl(sysB)> shutdown ソ ース マ シ ン上の操作 7 ま だ イ ン ス ト ール し ていない場合は、 SharePlex を ソ ース マシ ンに イ ン ス ト ール し ます。 イ ン ス ト ールの手順は、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 398 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 8 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 内の手順に 従っ て ora_setup を再度実行 し ます。 9 ソ ースデー タ ベース を シ ャ ッ ト ダ ウ ン し 、 制限モー ド で開 く こ と に よ っ て、 ユーザーア ク セ ス を停止 し ます。 10 CONSISTENT=Y オプシ ョ ン を使用 し て Oracle エ ク ス ポー ト ユーテ ィ リ テ ィ を起動 し ます。 11 デフ ォ ル ト の multi-threaded activation を使用 し て設定を ア ク テ ィ ベー ト し ま す。 sp_ctrl(sysA)> activate config filename 12 activation が完了 し た後、 ソ ースデー タ ベースへのユーザーア ク セ ス を再度 許可 し ます。 タ ーゲ ッ ト マ シ ン上の操作 13 ソ ース シ ス テ ムか ら のエ ク ス ポー ト フ ァ イ ルを使用 し て、 デー タ を イ ン ポー ト し ます。 14 デー タ ベース で ora_setup を実行 し ますが、 新 し いユーザーは作成 し ないで く だ さ い。 [Would you like to create a new SharePlex user [y]] のプ ロ ンプ ト で [n] を選択す る こ と で、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワ ー ド を選択 し ます。 こ の場合では、 ora_setup を 実行す る と き に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 15 SharePlex を起動 し ます。 16 cleanup.sql ス ク リ プ ト を実行 し 、 SharePlex 内部テーブルのすべて を切 り 詰 め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 17 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (435 ページ を参照) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 18 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 そ し て DML を実行す る ス ケ ジ ュ ール さ れ たジ ョ ブ を無効に し ます。 19 Export を停止 し ます。 sp_ctrl(sysB)> stop export 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 399 20 設定を ア ク テ ィ ベー ト し 、 フ ェ イ ルオーバーが可能であ る こ と を確認 し ま す。 sp_ctrl(sysB)> activate config filename 21 Post プ ロ セ ス を起動 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れます。 sp_ctrl(sysB)> Start post 400 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 異な る オペ レーテ ィ ングシ ス テム間での Oracle 9i から 10g/11g への移行 次の手順は、 異な る オペレーテ ィ ン グ シ ス テ ムが稼動 し てい る マシ ンの間で、 Oracle デー タ ベース を 1 つのバージ ョ ン か ら 別バージ ョ ンへ移行す る と き 使用 し ます。 た と えば、 ソ ース マシ ンが Sun Solaris で、 タ ーゲ ッ ト マシ ン に AIX だ と し ます。 移行の際に使用す る 中間サーバーは ソ ース マシ ン と 同 じ オペレー テ ィ ン グ シ ス テ ム が稼動 し てい る 必要があ り ます。 タ ーゲ ッ ト マ シ ン上の操作 1 Oracle 10g/11g を イ ン ス ト ール し 、 10g/11g デー タ ベース を作成 し ます。 手順 は、 Oracle のマニ ュ アルを参照 し て く だ さ い。 2 デー タ ベース を起動 し ます。 3 『 イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て SharePlex を イ ン ス ト ール し ます。 重要! こ の時点で ora_setup は実行 し ないで く だ さ い。 4 sp_cop を起動 し 、 sp_ctrl. へ ロ グオ ン し ます。 5 Post を停止 し ます。 sp_ctrl(sysB)> stop post 6 タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で shutdown コ マ ン ド を発行す る こ と で、 SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl(sysB)> shutdown ソ ースマ シ ン上の操作 7 すでに イ ン ス ト ール さ れていない場合は、 SharePlex を ソ ース に イ ン ス ト ー ル し ます。 イ ン ス ト ールの手順は、 『SharePlex イ ン ス ト ールガ イ ド 』 を参照 し て く だ さ い。 8 『SharePlex イ ン ス ト ールガ イ ド 』 内の手順に従っ て ora_setup を実行 し ま す。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 401 9 ソ ース シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 10 Oracle ホ ッ ト バ ッ ク ア ッ プ を ソ ース シ ス テ ム で実行 し ます。 11 ソ ース シ ス テ ム の ロ グ フ ァ イ ルを切替え、 アーカ イ ブ ロ グ フ ァ イ ルの番号 を記録 し ます。 ス テ ッ プ 12 に進みます。 svrmgrl> alter system switch logfile; 中間サーバー上の操作 (ソ ース と 同 じ OS が必要) 12 Oracle 9i を イ ン ス ト ール し 、 デー タ ベース を作成 し た後起動 し ます。 13 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プ か ら デー タ ベース を回復 し 、 ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 14 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 15 Oracle export ユーテ ィ リ テ ィ をデー タ ベース に実行 し ます。 タ ーゲ ッ ト マ シ ン上の操作 16 中間サーバーか ら の export フ ァ イ ルを使用 し て、 デー タ を import し ます。 17 デー タ ベース で ora_setup を実行 し ますが、 新 し いユーザーは作成 し ないで く だ さ い。 [Would you like to create a new SharePlex user [y]] のプ ロ ン プ ト で [n] を選択す る こ と で、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 こ の場合では、 ora_setup を 実行す る と き に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 18 SharePlex を起動 し ます。 19 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 ス テ ッ プ 18 (中間サーバー上の 操作) で記録 し た ロ グの順序番号 と 置 き 換え ます。 キ ュ ーの名前が分か ら ない場合は、 qstatus コ マ ン ド を発行 し て く だ さ い。 sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number 402 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 20 cleanup.sql ス ク リ プ ト を実行 し 、 SharePlex 内部テーブルのすべて を切 り 詰 め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 21 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (435 ページ を参照) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 22 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 そ し て DML を実行す る ス ケ ジ ュ ール さ れ たジ ョ ブ を無効に し ます。 23 Export を停止 し ます。 sp_ctrl(sysB)> stop export 24 設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysB)> activate config filename 25 Post プ ロ セ ス を起動 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れ ます。 sp_ctrl(sysB)> Start post 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 403 Oracle エ ク スポー ト / イ ンポー ト を使用 し た、 Oracle 9i から 10g/11g への移行 こ の手順は、 次の と お り に使用で き ます。 タ ーゲ ッ ト マ シ ン上の操作 1 (ま だ イ ン ス ト ール し ていない場合は) Oracle 9i を イ ン ス ト ール し 、 デー タ ベース を作成 し た後、 起動 し ます。 2 Oracle 10g/11g を イ ン ス ト ール し ます。 手順は、 Oracle のマニ ュ アルを参照 し て く だ さ い。 3 『SharePlex イ ン ス ト ールお よびデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に 従っ て SharePlex を イ ン ス ト ール し ます。 4 SharePlex を起動 し ます。 5 Post を停止 し ます。 sp_ctrl(sysB)> stop post 6 SharePlex 停止 し ます。 ソ ース マ シ ン上の操作 7 ま だ イ ン ス ト ール し ていない場合は、 SharePlex を ソ ース シ ス テ ム に イ ン ス ト ール し ます。 イ ン ス ト ールの手順は、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 8 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 内の手順に 従っ て ora_setup を実行 し ます。 9 sp_cop を起動 し ます。 10 ソ ースデー タ ベース を シ ャ ッ ト ダ ウ ン し 、 制限モー ド で開 く こ と に よ っ て、 ユーザーア ク セ ス を停止 し ます。 11 デフ ォ ル ト の multi-threaded activation を使用 し て設定を ア ク テ ィ ベー ト し ま す。 sp_ctrl(sysA)> activate config filename 12 CONSISTENT=Y オプシ ョ ン を使用 し て Oracle エ ク ス ポー ト ユーテ ィ リ テ ィ を起動 し ます。 404 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 13 flush コ マ ン ド を発行 し ます。 こ の コ マ ン ド は Post を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に置 き ます。 次の構文中の 「datasource」 は、 o. の後にプ ラ イ マ リ イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます (例 : o.oraA)。 sp_ctrl(sysB)> flush o.<datasource> 14 flush プ ロ セ ス が完了 し た後、 ソ ース デー タ ベースへのユーザーア ク セ ス を 再度許可 し ます。 タ ーゲ ッ ト マ シ ン上の操作 15 ソ ース シ ス テ ムか ら のエ ク ス ポー ト フ ァ イ ルを使用 し て、 デー タ を イ ン ポー ト し ます。 16 Oracle 9i イ ン ス タ ン ス を 10g/11g にア ッ プグ レー ド し ます。 Oracle マニ ュ ア ルに説明 さ れてい る ア ッ プグ レー ド 手順を使用 し て く だ さ い。 17 デー タ ベース で ora_setup を実行 し ますが、 新 し いユーザーは作成 し ないで く だ さ い。 [Would you like to create a new SharePlex user [y]] のプ ロ ンプ ト で [n] を選択す る こ と で、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワ ー ド を選択 し ます。 こ の場合では、 ora_setup を 実行す る と き に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 18 SharePlex を起動 し ます。 19 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 ス テ ッ プ 15 で記録 し た順序番号 と 置 き 換え ます。 キ ュ ーの名前が明確でない場合は、 qstatus コ マ ン ド を発 行 し ます。 sp_ctrl は reconcile プ ロ セ ス が完了す る ま でプ ロ セ ス に よ っ て制 御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が戻 り ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number 20 cleanup.sql ス ク リ プ ト を実行 し 、 SharePlex 内部テーブルのすべて を切 り 詰 め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 21 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (435 ページ を参照) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 22 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 そ し て DML を実行す る ス ケ ジ ュ ール さ れ たジ ョ ブ を無効に し ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 405 23 Export を停止 し ます。 sp_ctrl(sysB)> stop export 24 設定を ア ク テ ィ ベー ト し 、 フ ェ イ ルオーバーが可能であ る こ と を確認 し ま す。 sp_ctrl(sysB)> activate config filename 25 Post プ ロ セ ス を起動 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れます。 sp_ctrl(sysB)> start post 406 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Oracle ホ ッ ト バ ッ ク ア ッ プ を使用 し た、 Oracle 9i から 10g/11g への移行 こ の手順は、 ソ ース と タ ーゲ ッ ト マシ ン と の間でオペレーテ ィ ン グ シ ス テ ム と そのバージ ョ ンが同 じ であ り 、 ソ ース サーバーでバ ッ ク ア ッ プ さ れたデー タ ベース が タ ーゲ ッ ト サーバーで回復 さ れた場合に使用 し ます。 タ ーゲ ッ ト マ シ ン上の操作 1 Oracle 9i を イ ン ス ト ール し ます。 2 Oracle 10g/11g を イ ン ス ト ール し ます。 3 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 の指示に従っ て SharePlex を イ ン ス ト ール し ます。 重要! こ の時点で ora_setup は実行 し ないで く だ さ い。 4 sp_cop を起動 し 、 sp_ctrl. へ ロ グオ ン し ます。 5 Post を停止 し ます。 sp_ctrl(sysB)> stop post 6 タ ーゲ ッ ト シ ス テ ム上の sp_ctrl で shutdown コ マ ン ド を発行す る こ と で、 SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl(sysB)> shutdown ソ ースマ シ ン上の操作 7 ま だ イ ン ス ト ール し ていない場合は、 SharePlex を ソ ース シ ス テ ムに イ ン ス ト ール し ます。 イ ン ス ト ールの手順は、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 8 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レーシ ョ ン ガ イ ド 』 内の手順に 従っ て ora_setup を再度実行 し ます。 9 sp_cop を起動 し ます。 10 Export を停止 し ます。 sp_ctrl(sysA)> stop export 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 407 11 ソ ース シ ス テ ム上で設定を ア ク テ ィ ベー ト し ます。 sp_ctrl(sysA)> activate config filename 12 Oracle ホ ッ ト バ ッ ク ア ッ プ を ソ ース シ ス テ ム で実行 し ます。 13 ソ ース シ ス テ ム の ロ グ フ ァ イ ルを切替え、 アーカ イ ブ ロ グ フ ァ イ ルの番号 を記録 し ます。 ス テ ッ プ 14 に進みます。 svrmgrl> alter system switch logfile; タ ーゲ ッ ト マ シ ン上の操作 14 RECOVER 句の UNTIL CANCEL オプシ ョ ン を使用 し て ホ ッ ト バ ッ ク ア ッ プ か ら デー タ ベース を回復 し 、 ロ グが Oracle で完全に適用 さ れた後、 回復を キ ャ ン セル し ます。 15 RESETLOGS オプシ ョ ン でデー タ ベース を開 き ます。 16 Oracle 9i イ ン ス タ ン ス を Oracle 10g/11g にア ッ プグ レー ド し ます。 Oracle マ ニ ュ アルに説明 さ れてい る ア ッ プグ レー ド 手順を使用 し て く だ さ い。 17 デー タ ベース で ora_setup を実行 し ますが、 新 し いユーザーは作成 し ないで く だ さ い。 [Would you like to create a new SharePlex user [y]] のプ ロ ン プ ト で [n] を選択す る こ と で、 (バ ッ ク ア ッ プに コ ピー さ れた) 既存の SharePlex ユーザー と パ ス ワー ド を選択 し ます。 こ の場合では、 ora_setup を 実行す る と き に SharePlex を シ ャ ッ ト ダ ウ ンす る 必要はあ り ません。 18 SharePlex を起動 し ます。 19 reconcile コ マ ン ド を発行 し ます。 named post queues を使用 し てい る 場合は、 各キ ュ ーに対 し て コ マ ン ド を発行 し ます。 ス テ ッ プ 7 ま たは ス テ ッ プ 11 で 記録 し た ロ グの順序番号 と 置 き 換え ます。 キ ュ ーの名前が分か ら ない場合 は、 qstatus コ マ ン ド を発行 し て く だ さ い。 sp_ctrl は reconcile プ ロ セ ス が完 了す る ま でプ ロ セ ス に よ っ て制御 さ れ、 完了す る と sp_ctrl のプ ロ ン プ ト が 戻 り ます。 sp_ctrl(sysB)> reconcile queue queuename for datasource-datadest seq sequence_number 20 cleanup.sql ス ク リ プ ト を実行 し 、 SharePlex 内部テーブルのすべて を切 り 詰 め ます。 こ の ス ク リ プ ト を実行す る 手順は、 443 ページにあ り ます。 21 テーブルの ト リ ガ を無効にす る か、 sp_add_trigger.sql ユーテ ィ リ テ ィ ス ク リ プ ト (435 ページ を参照) を実行す る こ と に よ っ て、 ト リ ガが SharePlex ユーザーを無視す る よ う に し ます。 408 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 22 カ ス ケー ド 削除、 チ ェ ッ ク 制約、 そ し て DML を実行す る ス ケ ジ ュ ール さ れ たジ ョ ブ を無効に し ます。 23 Export を停止 し ます。 sp_ctrl(sysB)> stop export 24 設定を ア ク テ ィ ベー ト し ます。 こ れに よ り 、 ユーザーが確実に フ ェ イ ル オーバーで き る よ う にな り ます。 sp_ctrl(sysB)> activate config filename 25 Post プ ロ セ ス を起動 し ます。 こ れで 2 つの イ ン ス タ ン ス は同期 さ れ、 SharePlex で同期が保持 さ れ る よ う に、 継続的に複製 さ れ ます。 sp_ctrl(sysB)> start post 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 409 パー ト 2 : SharePlex Oracle ア カ ウン ト の 管理 こ こ では、 次の操作方法について説明 し ます。 • UNIX シ ス テ ム上での SharePlex パ ス ワー ド の変更 • UNIX シ ス テ ム上での SharePlex ユーザー (ま たはユーザー と パ ス ワ ー ド ) の変更 • UNIX シ ス テ ム での ora_setup の実行 • Windows シ ス テ ム上での OraSetup の実行 UNIX シス テム上での SharePlex パスワー ド の変更 SharePlex Oracle ユーザーのパ ス ワ ー ド を変更す る には、 次の手順に従っ て ora_chpwd ユーテ ィ リ テ ィ を実行 し ます。 こ のユーテ ィ リ テ ィ は、 Oracle の SharePlex ユーザーア カ ウ ン ト の、 ま た SharePlex の paramdb フ ァ イ ル内のパ ス ワー ド を変更 し ます。 ora_chpwd を使用す る には、 SharePlex がシ ス テ ム に イ ン ス ト ール さ れてい る 必要があ り 、 デー タ ベース に既存の SharePlex ユーザー があ る こ と が必要です。 SharePlex パ ス ワ ー ド を変更す る 必要のあ る 各 Oracle イ ン ス タ ン ス にて、 ora_chpwd を実行 し ます。 ora_chpwd でパ ス ワ ー ド を変更す る には、 非ルー ト の DBA 権限を持つユーザーが必要です。 イ ン ス タ ン ス内の既存の SharePlex オ ブジ ェ ク ト はすべて変更す る こ と な く 、 元の状態で残 り ます。 警告! ora_chpwd ユーテ ィ リ テ ィ は SharePlex の Oracle パスワー ド のみを変更 し ま す。 SharePlex ユーザーの作成には使用 し ないで く だ さ い。 SharePlex ユーザーを (ま たはユーザー と パスワー ド を ま と めて) 変更するには、 「UNIX シ ス テム上での SharePlex ユーザー (またはユーザー と パスワー ド ) の変更」 (413 ページ) の手順に 従っ て ora_setup を実行 し ます。 410 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ora_chpwd を実行するには 1 oratab フ ァ イ ルを見直 し て Oracle_SID を確認 し ます。 HP-UX および IBM AIX マ シ ンの場合 $ cd /etc $ more oratab 次の よ う な内容が表示 さ れます。 qa81:/qa/oracle/ora10/product こ の例では、 qa81 が ORACLE_SID であ り 、 /qa/oracle/ora10/product が ORACLE_HOME デ ィ レ ク ト リ です。 Sun Solaris マ シ ンの場合 Solaris プ ラ ッ ト フ ォ ーム では、 oratab フ ァ イ ルは var/opt/ oracle デ ィ レ ク ト リ にあ り ます が、 /etc デ ィ レ ク ト リ に oratab フ ァ イ ルが存在す る こ と も あ り ます。 /etc デ ィ レ ク ト リ に何 ら かの oratab フ ァ イ ルがあ る 場 合は、 移動ま たは削除 し て く だ さ い。 警告!場合によ っ ては oratab フ ァ イルに ORACLE_SID の項目の代わ り にア ス タ リ ス ク (*) が記入 さ れている こ と があ り ます。 こ の場合、 ora_setup が失敗 し ます。 oratab フ ァ イルに有効な ORACLE_SID がある こ と を確認 し て く だ さ い。 2 ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で sp_cop を シ ャ ッ ト ダ ウ ン し ます。 3 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら ora_chpwd を実行 し ます。 $ /product_dir/bin/ora_chpwd 4 SharePlex パ ス ワー ド を変更す る 必要のあ る イ ン ス タ ン ス に該当す る ORACLE_SID を確認す る プ ロ ン プ ト が表示 さ れ ます。 SharePlex の現行ユー ザーの環境を読み込み、 そのユーザーの ORACLE_SID をデフ ォ ル ト と し て 表示 し ます。 Enter キーを押 し てデフ ォ ル ト を受け入れ る か、 正 し い ORACLE_SID を入力 し ます。 This program allows you to change the password of the SharePlex user account needed to run Oracle replication.In response to prompts, a carriage return will choose the default given in brackets.If there is no default, a reply must be entered. Please enter the SID where SharePlex is installed [np73]: 5 SYSTEM ア カ ウ ン ト と し てデー タ ベース に接続す る ためのパ ス ワ ー ド を入 力す る プ ロ ン プ ト が表示 さ れ ます。 SYSTEM ア カ ウ ン ト の有効なパ ス ワ ー 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 411 ド を入力す る か、 Enter キーを押 し て 「Manager」 のデフ ォ ル ト を使用 し ま す。 パ ス ワー ド はエ コ ー さ れません。 In order to change the password for the SharePlex user account, we must connect to the database as SYSTEM. Enter password for the SYSTEM account, which will not echo [MANAGER]: connecting--This may take a few seconds. 注 : 正 し いパスワー ド の入力は、 5 回ま で試行で き ます。 5 回無効なパスワー ド を入力 する と 、 ユーテ ィ リ テ ィ が異常終了 し ます。 6 既存の SharePlex ユーザーの名前を入力す る プ ロ ン プ ト が表示 さ れます。 こ の ス テ ッ プにデフ ォ ル ト 値はあ り ません。 既存の SharePlex ユーザーの名前 を入力 し て く だ さ い。 SharePlex は paramdb フ ァ イ ルを読み込み、 名前が有 効であ る か確認 し ます。 Enter the current username for SharePlex user: 注 : Ora_chpwd では正 し いユーザー名の入力が 5 回ま で試行で き ます。 5 回無効な ユーザー名を入力する と 、 ユーテ ィ リ テ ィ が異常終了 し ます。 7 新 し いパ ス ワ ー ド を入力す る プ ロ ン プ ト が表示 さ れ ます。 パ ス ワー ド は、 Oracle パ ス ワー ド と し て有効な形式であ る 必要があ り ます。 パ ス ワー ド は エ コ ー さ れ ません。 Enter new password for SharePlex user: 8 確認のため、 新 し いパ ス ワ ー ド を再入力す る プ ロ ン プ ト が表示 さ れます。 先に入力 し た と お り に再入力 し ます。 Re-enter password for SharePlex user: 注 : Ora_chpwd では正 し いパスワー ド の入力が 5 回ま で試行で き ます。 5 回失敗する と 、 再試行するか、 終了するかを選択する プ ロ ン プ ト が表示 さ れます。 プ ロ ン プ ト で 「y」 キーを押す と 再試行で き、 「n」 キーを押す と 終了 し ます。 ユーテ ィ リ テ ィ に変更の ス テー タ ス が表示 さ れ、 Oracle と SharePlex paramdb フ ァ イ ルにてパ ス ワ ー ド が正常に変更 さ れた時点で通知が表示 さ れ ます。 UNIX プ ロ ン プ ト に戻 り ます。 Changing SharePlex parameter database... SharePlex password change completed successfully chicago:judy: $ 412 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ora_chpwd の問題解決の ヒ ン ト • も し 、 不正な Oracle 形式が使われたか、 ま たはそれ以外の理由で SharePlex で Oracle のパ ス ワー ド が変更で き なか っ た場合、 ora_chpwd が終了 し 、 使 用 さ れた SQL 文 と Oracle エ ラ ー コ ー ド が表示 さ れます。 • も し ora_chpwd で Oracle ではパ ス ワ ー ド が正常に変更 さ れたが、 paramdb では変更 さ れなか っ た場合、 終了 し た後に次の メ ッ セージが表示 さ れ ます。 Warning:Password changed for SharePlex in Oracle Database. Error making change in SharePlex parameter database. paramdb が SharePlex 変数デー タ デ ィ レ ク ト リ の data サブデ ィ レ ク ト リ か ら 削除ま たは移動 さ れていないか、 ま たはフ ァ イ ルに対す る 権限が変更 さ れ ていないか を確認 し て く だ さ い。 さ ら に、 paramdb が破損 し ていないか を 確認 し て く だ さ い。 複製を継続す る には、 Oracle と paramdb のパ ス ワー ド が同一であ る 必要が あ り ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 413 UNIX シス テム上での SharePlex ユーザー (または ユーザー と パスワー ド ) の変更 注 : SharePlex Oracle ユーザーのパスワー ド 「のみ」 を変更するには、 「UNIX シ ス テ ム上での SharePlex パスワー ド の変更」 (409 ページ) の手順に従っ て く だ さ い。 SharePlex ユーザー名を Oracle で変更す る には、 ora_setup を実行 し 、 新 し い SharePlex ユーザーを作成 し ます。 ora_setup を実行す る 手順は 414 ページ にあ り ます。 ora_setup を実行す る 前に、 次の指示を読んで く だ さ い。 設定がア ク テ ィ ブ である と き にユーザーを変更するには 1 ora_setup の実行中に sp_cop を シ ャ ッ ト ダ ウ ンす る よ う に指示が表示 さ れ ます。 sp_cop を再起動す る と 、 SharePlex に よ る 複製が再開 さ れ ます。 2 ora_setup を実行 し た後、 sp_cop を再起動す る 前に、 既存の SharePlex デー タ ベース オブジ ェ ク ト を古いユーザーの ス キーマか ら 新 し い ス キーマに コ ピー し ます。 オブジ ェ ク ト を コ ピーす る こ と に よ っ て、 設定デー タ や現行 設定に よ る 複製を継続す る のに必要なその他の情報を、 新 し い SharePlex ユーザーに提供す る こ と がで き ます。 3 ユーザーが ト ラ ンザ ク シ ョ ン を行っ てい る 間、 デー タ キ ャ プチ ャ の停止時 間を最小限に抑え る ため、 ora_setup の実行が完了 し た後す ぐ に sp_cop を 実行 し て く だ さ い。 SharePlex の内部テーブルの リ ス ト は、 14 ページ を参照 し て く だ さ い。 設定がア ク テ ィ ブ でない と き にユーザーを変更するには ア ク テ ィ ブ設定がない場合は、 Oracle を SharePlex 用に初期設定す る と き と 同 様に ora_setup を実行 し ます。 414 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 UNIX シス テムでの ora_setup の実行 ora_setup を実行するには 1 ま だオープ ン し ていない場合は、 Oracle デー タ ベース を オープ ン し ます。 2 DBA 特権のあ る 「非 root」 ユーザー と し て UNIX に ロ グオ ン し ます。 3 oratab フ ァ イ ルを表示 し 、 ORACLE_SID お よ び ORACLE_HOME のデ ィ レ ク ト リ パ ス が有効であ る こ と を確認 し ます。 一般的に oratab フ ァ イ ルは、 /etc デ ィ レ ク ト リ 内に存在 し てい ます。 ただ し 、 Sun Solaris プ ラ ッ ト フ ォ ームの場合は、 /var/opt/oracle デ ィ レ ク ト リ に 存在 し てい る 場合 も あ り ます。 oratab フ ァ イ ルが /var/opt/oracle デ ィ レ ク ト リ にあ る 場合は、 /etc デ ィ レ ク ト リ に こ の フ ァ イ ルの別のバージ ョ ンが存在 し ていない こ と を確認 し て く だ さ い。 (ora_setup プ ロ セ ス は まず /etc デ ィ レ ク ト リ を検索 し 、 次に /var/opt/oracle デ ィ レ ク ト リ を検索 し ます。 複数の oratab フ ァ イ ルが存在 し てい る 場合、 それ ら の フ ァ イ ルは同一であ る か、 ま たは別個の フ ァ イ ル名でなければな り ません。 ) 警告! oratab フ ァ イルに ORACLE_SID の項目の代わ り にア ス タ リ ス ク (*) が記入 さ れている こ と があ り ます。 こ の場合 ora_setup が失敗する こ と があ り ます。 oratab フ ァ イルに有効な ORACLE_SID が記入 さ れている こ と を確認 し て く だ さ い。 4 ORACLE_SID を記録 し ます。 こ れはセ ッ ト ア ッ プ処理で必要です。 ORACLE_SID をデフ ォ ル ト と し て設定す る には、 次の コ マ ン ド の 1 つを入 力 し てそれを エ ク ス ポー ト し ます。 ksh シ ェ ルの場合 : export ORACLE_SID= [ こ のイ ン ス タ ン スの OracleSID] csh シ ェ ルの場合 : setenv ORACLE_SID [ このイ ン ス タ ン スの OracleSID] 5 (複数の変数デー タ デ ィ レ ク ト リ を使用する設定の場合) ora_setup を実行 し てい る SharePlex イ ン ス タ ン ス の変数デー タ デ ィ レ ク ト リ を指 し 示す環境変数を エ ク ス ポー ト し ます。 ksh シ ェ ルの場合 : export SP_SYS_VARDIR=[/ 変数デー タ デ ィ レ ク ト リ のパス名 ] 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 415 csh シ ェ ルの場合 : setenv SP_SYS_VARDIR [/ 変数デー タ デ ィ レ ク ト リ のパス名 ] 6 デ ィ レ ク ト リ を SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ に変更 し ます。 $ cd /product_dir/bin 7 sp_cop が実行 さ れてい る 場合は、 次の コ マ ン ド で sp_ctrl を実行 し て sp_cop を シ ャ ッ ト ダ ウ ン し ます。 ora_setup を実行 し てい る と き は、 SharePlex は実行で き ません。 $ ./sp_ctrl sp_ctrl> shutdown 8 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら 、 ora_setup プ ロ グ ラ ム を実行 し ます。 $ ./ora_setup 9 ora_setup プ ロ セ ス で表示 さ れ る メ ッ セージに従っ て作業を行い ます。 プ ロ セ ス を完了す る には、 次の情報が必要です。 • ORACLE_SID • SYSTEM ア カ ウ ン ト のパ ス ワ ー ド • SharePlex ユーザー名 と パ ス ワー ド 初めて ora_setup を実行す る 場合は、 新たに SharePlex ユーザーを作成 し て く だ さ い。 ora_setup を初めて実行す る のではない場合は、 既存の SharePlex Admin ユーザーを使用、 ま たは他の既存の SharePlex ユーザーを 使用で き ます。 • • • • SharePlex が使用す る DEFAULT テーブル領域 SharePlex が使用す る TEMPORARY テーブル領域 SharePlex が使用す る INDEX テーブル領域 ASM を実行す る 場合 デフ ォ ル ト のオプシ ョ ンは括弧 [ ] の中に示 さ れてい ます。 デフ ォ ル ト を選 択す る には、 Enter キーを押 し ます。 注 : SYSTEM ア カ ウン ト パスワー ド に @alias_name を付けて入力 し ます。 こ こ で alias_name は TNS エ イ リ ア ス を表 し ています ( 例 : manager@oraB)。 416 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 注 : 既存のユーザーについては、 正 し いパスワー ド の入力を 5 回試行で き ます。 どの 時点で も、 Enter キーを押す こ と で、 Create New User プ ロ ン プ ト に戻る こ と がで き ま す。 パスワー ド を 5 回間違っ て入力 し た場合も 、 Create New User プ ロ ン プ ト に戻 り ます。 新 し いユーザーを作成する ために y を入力するか、 n を入力 し て ora_setup を 終了 し ます。 終了 し た場合は、 SharePlex は Oracle ユーザーを確立 し ません。 注 : ア ク テ ィ ブ な設定を持 っ てお り 、 SharePlex Oracle ユーザーを変更する場合、 現 在の複製環境を維持する には、 既存の SharePlex ユーザーのスキーマから 新たな SharePlex ユーザーのスキーマに、 SharePlex オブ ジ ェ ク ト を コ ピー し ます。 SharePlex Oracle ユーザーに対する プ ロ ン プ ト が表示 さ れた ら 、 変更 し た SharePlex Oracle ユーザーを指定 し ます。 10 ora_setup プ ロ グ ラ ムが Oracle セ ッ ト ア ッ ププ ロ セ ス を完了 し た ら 、 セ ッ ト ア ッ プが正常終了 し た こ と を確認す る メ ッ セージ を表示 し て、 プ ロ セ ス が 終了 し ます。 Setup completed successfully sp_change_trigger.sql ス ク リ プ ト は、 434 ページ にあ り ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 417 Windows シ ス テム上での OraSetup の実行 OraSetup の要件 • すべての ソ ースお よ び タ ーゲ ッ ト シ ス テ ム で SharePlex の複製に関与す る 各 Oracle イ ン ス タ ン ス に対 し て OraSetup を実行 し ます。 • ク ラ ス タ 内では、 SharePlex のユーザーお よ びパ ス ワー ド が SharePlex の paramdb フ ァ イ ルに登録 さ れ る よ う に、 プ ラ イ マ リ ノ ー ド (変数デー タ デ ィ レ ク ト リ を含む共有デ ィ ス ク がマ ウ ン ト さ れ る も の) 上で こ れを実行 し ます。 他の ク ラ ス タ ノ ー ド では こ れを実行す る 必要はあ り ません。 • 別個の変数デー タ デ ィ レ ク ト リ を使用す る 集中化レ ポー ト (consolidated replication) の場合は、 各変数デー タ デ ィ レ ク ト リ のために OraSetup を実行 し ます。 • SharePlex 内部オブジ ェ ク ト を変更 し ないで く だ さ い。 こ れ ら のオブジ ェ ク ト について質問があ る 場合は、 Quest Technical Support にお問い合わせ く だ さ い。 • Oracle 9.2.0.2 以降の ク ラ イ ア ン ト を、 OraSetup を実行 し てい る シ ス テ ム に イ ン ス ト ールす る 必要があ り ます。 OraSetup を実行するには 1 ま だ開始 し ていない場合は、 Oracle デー タ ベース を開始 し ます。 2 Windows デス ク ト ッ プのシ ョ ー ト カ ッ ト か ら SpUtils を起動 し て、 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス か ら [OraSetup] タ ブ を選択 し ます。 3 OraSetup プ ロ セ ス で表示 さ れ る メ ッ セージに従っ て作業を行い ます。 プ ロ セ ス を完了す る には、 次の情報が必要です。 • • • • SharePlex のポー ト 番号 ORACLE_SID SYSTEM ア カ ウ ン ト のパ ス ワ ー ド SharePlex ユーザー名 と パ ス ワー ド 注 : 初めて OraSetup を実行する場合は、 新たに SharePlex ユーザーを作成 し て く だ さ い。 OraSetup を初めて実行するのではない場合は、 既存の SharePlex ユーザーを使用、 または他の既存の SharePlex ユーザーを使用で き ます。 418 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • • • • SharePlex が使用す る DEFAULT テーブル領域 SharePlex が使用す る TEMPORARY テーブル領域 SharePlex が使用す る INDEX テーブル領域 ASM をサポー ト し てい る プ ラ ッ ト フ ォームで ASM を実行 し てい る か ど う か。 注 : 既存のユーザーについては、 正 し いパスワー ド の入力を 5 回試行で き ます。 どの 時点で も、 Enter キーを押す こ と で、 Create New User プ ロ ン プ ト に戻る こ と がで き ま す。 パスワー ド を 5 回間違っ て入力 し た場合も 、 Create New User プ ロ ン プ ト に戻 り ます。 新 し いユーザーを作成する ために y を入力するか、 n を入力 し て OraSetup を終 了 し ます。 終了 し た場合は、 SharePlex は Oracle ユーザー と し て確立 さ れません。 注 : ア ク テ ィ ブ な設定を持 っ てお り 、 SharePlex Oracle ユーザーを変更する場合、 現 在の複製環境を維持する には、 既存の SharePlex ユーザーのスキーマから 新たな SharePlex ユーザーのスキーマに、 SharePlex オブ ジ ェ ク ト を コ ピー し ます。 SharePlex Oracle ユーザーに対する プ ロ ン プ ト が表示 さ れた ら 、 変更 し た SharePlex Oracle ユーザーを指定 し ます。 4 OraSetup プ ロ グ ラ ム が Oracle セ ッ ト ア ッ ププ ロ セ ス を完了 し た ら 、 セ ッ ト ア ッ プが正常終了 し た こ と を確認す る メ ッ セージが表示 さ れ ます。 OraSetup Finished Successfully 5 [OK] を ク リ ッ ク し て、 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス を閉 じ ま す。 sp_change_trigger.sql ス ク リ プ ト は、 434 ページ にあ り ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 419 パー ト 3 : その他の管理操作の実行 こ こ では、 次の操作方法について説明 し ます。 • SharePlex を実行中のシ ス テ ムのバ ッ ク ア ッ プの実行 • UNIX シ ス テ ムか ら SharePlex を削除 • Windows シ ス テ ム か ら SharePlex を削除 SharePlex を実行中のシス テムのバ ッ ク ア ッ プの実 行 ソ ース シス テムの部分バ ッ ク ア ッ プの実行 デー タ が複製 さ れてい る 際に ソ ース シ ス テ ムの部分バ ッ ク ア ッ プ (た と えば、 デー タ を抽出 し た り 、 デー タ ウ ェ アハ ウ スへ投入 し た り す る ため) を行 う に は、 代わ り に タ ーゲ ッ ト シ ス テ ム上で部分バ ッ ク ア ッ プ をす る こ と で、 ソ ース シ ス テ ム上 と 同様に同 じ デー タ を コ ピーす る こ と がで き ます。 タ ーゲ ッ ト シ ス テ ム で部分バ ッ ク ア ッ プ を実行す る には、 次の手順に従い ます。 1 sp_ctrl を起動 し ます。 2 ソ ース シ ス テ ム で、 デー タ を タ ーゲ ッ ト シ ス テ ムに フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post プ ロ セ ス を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間 の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に置 き ます。 次の構文 中の 「datasource」 は、 o. の後に ソ ース Oracle イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます。 sp_ctrl(sysA)> flush datasource 3 タ ーゲ ッ ト シ ス テ ム (フ ラ ッ シ ュ マーカーの位置で ソ ースデー タ と 一致 し てい る ) のデー タ をバ ッ ク ア ッ プ し ます。 4 タ ーゲ ッ ト シ ス テ ム で Post プ ロ セ ス を開始 し ます。 Post は、 デー タ の post を再開 し ます。 sp_ctrl(sysB)> start post 420 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ソ ース シ ス テムの完全バ ッ ク ア ッ プの実行 SharePlex を含む、 ソ ース シ ス テ ム全体をバ ッ ク ア ッ プす る には、 SharePlex の 複製を シ ャ ッ ト ダ ウ ンす る 必要があ り ます。 複製を正 し く 停止 し 、 バ ッ ク ア ッ プ後に再開す る には、 次の手順に従い ます。 1 ソ ース シ ス テ ムのすべてのシ ス テ ム動作を停止 し ます。 2 ソ ース シ ス テ ム で sp_ctrl を起動 し ます。 3 ソ ース シ ス テ ム で、 デー タ を タ ーゲ ッ ト シ ス テ ム に フ ラ ッ シ ュ し ます。 こ の コ マ ン ド は Post プ ロ セ ス を停止 し 、 ソ ースデー タ と タ ーゲ ッ ト デー タ 間 の同期点を確立す る マーカーを、 デー タ ス ト リ ーム に置 き ます。 次の構文 中の 「datasource」 は、 o. の後に ソ ース Oracle イ ン ス タ ン ス の ORACLE_SID を付記 し た文字列 と 置 き 換え ます。 sp_ctrl(sysA)> flush datasource 4 SharePlex で正常に複製プ ロ セ ス を停止で き る よ う にす る 、 次の コ マ ン ド を 使用 し ソ ース シ ス テ ム で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 こ の コ マ ン ド は、 UNIX と Windows シ ス テ ム上で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl(sysA)> shutdown 5 ソ ース シ ス テ ム でネ ッ ト ワー ク と Oracle イ ン ス タ ン ス を シ ャ ッ ト ダ ウ ン し ます。 6 ソ ース シ ス テ ム でバ ッ ク ア ッ プ を行い ます。 7 ソ ース シ ス テ ム でネ ッ ト ワー ク と Oracle イ ン ス タ ン ス を起動 し ます。 8 ソ ース シ ス テ ム で sp_cop (UNIX) ま たは SharePlex サービ ス (Windows) を 開始 し ます。 9 ソ ース シ ス テ ム で sp_ctrl を起動 し ます。 10 ユーザーが ソ ース シ ス テ ムの Oracle イ ン ス タ ン ス にア ク セ ス で き る よ う に 許可 し ます。 11 タ ーゲ ッ ト シ ス テ ム で Post を開始 し ます。 sp_ctrl(sysB)> start post 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 421 UNIX シス テムから SharePlex を削除 UNIX ソ ース ま たは タ ーゲ ッ ト シ ス テ ムか ら SharePlex を削除す る には、 以下 の手順を使用 し ます。 今後シ ス テ ム を複製のために使用 し ない場合、 ま たは Quest Technical Support に よ る 指示ま たはマニ ュ アルにそ う す る よ う に記載 さ れてい る 場合にのみ、 こ の手順を使用 し て く だ さ い。 SharePlex を ア ン イ ン ス ト ールせずにア ッ プグ レー ド ま たは再 イ ン ス ト ール し た場合、 既存のデー タ フ ァ イ ルは保持 さ れ ます。 SharePlex を ア ッ プグ レー ド ま たは再 イ ン ス ト ールす る 前に、 イ ン ス ト ールす る バージ ョ ン の 『 リ リ ース ノ ー ト 』 を参照 し て、 特別な ア ッ プグ レー ド ま たは イ ン ス ト ールの要件を確認 し て く だ さ い。 SharePlex の削除 こ のプ ロ シージ ャ は、 設定フ ァ イ ル、 競合解決フ ァ イ ル、 ヒ ン ト フ ァ イ ルな ど のユーザー作成フ ァ イ ルを含めて、 SharePlex の製品デ ィ レ ク ト リ お よ び変数 デー タ デ ィ レ ク ト リ を削除 し ます。 保持 し たい フ ァ イ ルがあ る 場合は、 プ ロ シージ ャ を開始す る 前に、 それ ら の フ ァ イ ルをバ ッ ク ア ッ プ、 コ ピー、 ま たは アーカ イ ブ し て く だ さ い。 こ の ス ク リ プ ト では、 SharePlex 内部テーブル、 関連す る イ ンデ ッ ク ス、 ま た はその他の SharePlex デー タ ベース オブジ ェ ク ト を削除 し ません。 標準の Oracle メ ソ ッ ド を使用す る と 、 その よ う なオブジ ェ ク ト が削除 さ れ ます。 splex_remove を実行する には 1 SharePlex を イ ン ス ト ール し たユーザー と し て ロ グオ ン し ます。 (splex_remove ス ク リ プ ト は、 SharePlex を イ ン ス ト ール し たユーザーが実行 す る 必要があ り ます。 他のユーザーが splex_remove ス ク リ プ ト を使っ て SharePlex の削除を試みた場合、 権限エ ラ ーが発生 し 、 splex_remove ス ク リ プ ト が イ ン ス ト ール詳細を見つけ ら れない可能性があ り ます。 ) 2 sp_ctrl を使っ て SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl(system:port)> shutdown こ の ス テ ッ プが完了 し た ら 、 sp_ctrl か ら exit し ます。 422 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 3 次の コ マ ン ド を使用 し て、 ほかのユーザーが SharePlex を実行 し ていな く て、 sp_cop を含めて SharePlex のプ ロ セ ス が実行 さ れていない こ と を確認 し ます。 # ps -ef | grep sp_ 4 SharePlex のプ ロ セ ス が実行 さ れてい る 場合は、 それを シ ャ ッ ト ダ ウ ンす る か、 UNIX の kill コ マ ン ド を使用 し てそれ ら を終了 し ます。 5 SharePlex イ ン ス ト ールデ ィ レ ク ト リ 外か ら 、 splex_remove ス ク リ プ ト を実 行 し ます。 ( 現在の作業デ ィ レ ク ト リ を削除 し よ う と す る 試みに よ る 削除エ ラ ーを防止す る ために、 splex_remove ス ク リ プ ト は イ ン ス ト ールデ ィ レ ク ト リ 外で実行す る 必要があ り ます。 ) # /product_dir/install/splex_remove splex_remove プ ロ セ ス が完了す る と 、 削除 ロ グ フ ァ イ ルの場所が画面に出 力 さ れ ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 423 Windows システムから SharePlex を削除 削除処理の概要 Windows シ ス テ ム か ら SharePlex を削除す る には次の手順を実行 し ます。 • • • • • SharePlex サービ ス のシ ャ ッ ト ダ ウ ン SharePlex ソ フ ト ウ ェ アお よ びシ ス テ ム フ ァ イ ルの削除 運用環境か ら の MKS Toolkit ( 以前の NuTCRACKER) の削除 ア ン イ ン ス ト ー ラ が削除 し ない フ ァ イ ルの手動削除 SharePlex ユーザーお よ びデー タ ベース オブジ ェ ク ト の手動削除 ア ン イ ン ス ト ールプ ログ ラ ムが削除する フ ァ イル SharePlex が イ ン ス ト ール さ れた と き に、 install.log と い う 名前の フ ァ イ ルが SharePlex 製品デ ィ レ ク ト リ に イ ン ス ト ール さ れてい ます。 こ の フ ァ イ ルには、 イ ン ス ト ールプ ロ グ ラ ムがシ ス テ ム に作成 し たすべての フ ァ イ ルの記録があ り ます。 SharePlex を削除す る ためにア ン イ ン ス ト ールプ ロ グ ラ ム を実行す る と 、 削除す る フ ァ イ ルを判断す る ために install.log が読まれます。 次の コ ン ポーネ ン ト が 「SharePlex のすべての イ ン ス タ ン ス」 (すべてのポー ト のすべての SharePlex サービ ス) について、 ア ン イ ン ス ト ールプ ロ グ ラ ム の自 動ア ン イ ン ス ト ールオプシ ョ ン で削除 さ れ ます。 • SharePlex レ ジ ス ト リ エ ン ト リ • SharePlex デス ク ト ッ プア イ コ ン • SharePlex メ ニ ュ ーア イ テ ム ( ト ッ プ レベルの Program Manager Group フ ォ ル ダ を除 き ます) • SharePlex 製品デ ィ レ ク ト リ ア ン イ ン ス ト ールプ ロ グ ラ ム には、 選択 し た フ ァ イ ルを削除で き る カ ス タ ム の ア ン イ ン ス ト ールオプシ ョ ン も あ り ます。 ア ン イ ン ス ト ールプ ログ ラ ムが削除 し ない フ ァ イル ア ン イ ン ス ト ールプ ロ グ ラ ムは、 次の コ ン ポーネ ン ト を削除 し ません。 • 現行バージ ョ ンの SharePlex が イ ン ス ト ール さ れた と き にすでにシ ス テ ム に 存在 し ていた フ ァ イ ル 424 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • 現行バージ ョ ンの SharePlex が イ ン ス ト ール さ れた後で製品デ ィ レ ク ト リ ま たは変数デー タ デ ィ レ ク ト リ の中に SharePlex ま たはユーザーが作成 し た フ ァ イ ル。 こ う し た フ ァ イ ルは、 SharePlex を削除 し た後で、 手動で削除で き ます。 こ れは、 ほ と ん ど の Windows アプ リ ケーシ ョ ン で標準の手順です。 • SharePlex 変数デー タ デ ィ レ ク ト リ 。 こ のデ ィ レ ク ト リ を削除す る には、 オ ペレーテ ィ ン グ シ ス テ ム を通 じ て削除 し ます。 将来 SharePlex を イ ン ス ト ー ルす る と き のために保持 し てお き たい設定フ ァ イ ルお よ びカ ス タ ムパ ラ メ ー タ 設定な ど のユーザー作成フ ァ イ ルが存在す る こ と があ る ために、 ア ン イ ン ス ト ールプ ロ グ ラ ムは こ のデ ィ レ ク ト リ を削除 し ません。 SharePlex サービ ス を削除するには SharePlex ソ フ ト ウ ェ ア を シ ス テ ム か ら 削除す る 前に、 こ れ ら の手順に従っ て、 シ ス テ ム上の各 SharePlex サービ ス を停止 し て削除 し ます。 1 [SpUtils] デス ク ト ッ プア イ コ ン を ダブル ク リ ッ ク し ます。 1 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 2 [Port] リ ス ト ボ ッ ク ス で、 削除す る SharePlex の イ ン ス タ ン ス のためのポー ト 番号を選択 し ます。 3 [SharePlex Service Status] の下で、 [Stop] を ク リ ッ ク し ます。 4 [Apply] を ク リ ッ ク し てサービ ス を停止 し ます。 [Current State] フ ィ ール ド に状態が表示 さ れます。 5 [ 複数の SHAREPLEX サービ スの場合 ] [SharePlex Services] ダ イ ア ロ グボ ッ ク ス が表示 さ れてい る 間に、 前述の手順を繰 り 返 し て各 SharePlex サービ ス を停 止 し ます。 6 SharePlex サービ ス が停止 し た後で、 [Remove] を ク リ ッ ク し ます。 7 [Apply] を ク リ ッ ク し て、 レ ジ ス ト リ か ら サービ ス のキーを削除 し ます。 8 [ 複数の SHAREPLEX サービ スの場合 ] [SharePlex Services] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れてい る 間に、 すべての SharePlex サービ ス のために ス テ ッ プ 6 お よ び 7 を繰 り 返 し て レ ジ ス ト リ キーを削除 し ます。 9 [Close] を ク リ ッ ク し て、 [SharePlex Service] ダ イ ア ロ グボ ッ ク ス を閉 じ ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 425 SharePlex ソ フ ト ウ ェ アおよびシ ス テム フ ァ イルを削除 するには 1 [ ス タ ー ト ] メ ニ ュ ーか ら [ プ ログ ラ ム] を ク リ ッ ク し 、 それか ら SharePlex プ ロ グ ラ ム フ ォ ルダに移動 し て、 [Uninstall] を ク リ ッ ク し ます。 ま たは Windows の コ ン ト ロ ールパネルにあ る [ プ ログ ラ ムの追加 と 削除] ツールを 使用 し ます。 2 [Select Uninstall Method] ダ イ ア ロ グボ ッ ク ス で、 ア ン イ ン ス ト ールオプ シ ョ ン を選択 し ます。 • [Automatic] を選択す る と 、 「「ア ン イ ン ス ト ールプ ロ グ ラ ム が削除す る フ ァ イ ル」 (423 ページ)」 で一覧 さ れた も のがすべて削除 さ れ ます。 こ れ は、 SharePlex を シ ス テ ム か ら 削除す る 最 も ク リ ーン な方法なので、 推奨 さ れ る 手順です。 ま たは • [Custom] を選択す る と 、 選択 し た フ ァ イ ルを削除で き ます。 他の フ ァ イ ルを削除 し なが ら も 一部の フ ァ イ ルを残す必要があ る 場合にのみ、 こ の オプシ ョ ン を使用 し ます。 ま たは 426 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 • [Repair] を選択す る と 、 フ ァ イ ルを再 イ ン ス ト ール し た り レ ジ ス ト リ エ ン ト リ を更新 し た り で き ます。 こ のオプシ ョ ン では、 イ ン ス ト ールフ ァ イ ルが使用で き ない場合に、 オ リ ジナルの SharePlex イ ン ス ト ール CDROM が必要にな る こ と があ り ます。 3 [Next] を ク リ ッ ク し て続行 し ます。 選択 し た ア ン イ ン ス ト ールオプシ ョ ン に従っ てプ ロ ンプ ト が表示 さ れ ます。 [Automatic uninstall]、 [ Custom uninstall]、 ま たは [Repair] のいずれか と い う 選択 し たオプシ ョ ン のため に、 残 り の ス テ ッ プに従い ます。 Automatic uninstall [Perform Uninstall] ダ イ ア ロ グ ボ ッ ク ス で、 [Finish] を ク リ ッ ク し て ア ン イ ン ス ト ールを完了す る か、 [Back] を ク リ ッ ク し て カ ス タ ム ア ン イ ン ス ト ールを 実行 し ます。 自動ア ン イ ン ス ト ールが完了 し て終了 し ます。 Custom uninstall • [Select Private Files to Remove] ダ イ ア ロ グボ ッ ク ス で、 削除す る フ ァ イ ル を ク リ ッ ク し て選択 し ます。 フ ァ イ ルを選択解除す る には、 も う 1 度 ク リ ッ ク し ます。 ま たは 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 427 • [ Select All ] ボ タ ン を ク リ ッ ク し て、 すべての フ ァ イ ルを選択 し ます。 こ れは [Automatic] ア ン イ ン ス ト ールオプシ ョ ン を選択 し た場合 と 同 じ で す。 • 選択を ク リ ア し て、 最初か ら フ ァ イ ル選択をや り 直すには、 [Select None] を ク リ ッ ク し ます。 4 [Next] を ク リ ッ ク し て続行 し ます。 5 次の一連のダ イ ア ロ グボ ッ ク ス では、 削除す る コ ン ポーネ ン ト を選択す る ために前述の も の と 同 じ 手順を使用 し ます。 選択で き る 残 り の コ ン ポーネ ン ト タ イ プは次の と お り です。 • • • • • • • ディ レク ト リ 削除す る INI フ ァ イ ル SharePlex が イ ン ス ト ール さ れ る 前の状態に編集 し て戻す INI フ ァ イ ル 削除す る レ ジ ス ト リ キー 削除す る レ ジ ス ト リ ツ リ ー SharePlex が イ ン ス ト ール さ れ る 前の状態に編集 し て戻すレ ジ ス ト リ キー 削除す る サブシ ス テ ム 428 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 6 [Perform Uninstall] ダ イ ア ロ グボ ッ ク ス で、 [Finish] を ク リ ッ ク し て ア ン イ ン ス ト ール処理を開始す る か、 [Back] を ク リ ッ ク し て選択を変更 し ま す。 削除処理が完了 し て終了 し ます。 Repair [Perform Repair] ダ イ ア ロ グ ボ ッ ク ス で、 [Finish] を ク リ ッ ク し ます。 修復機 能が修復を必要 と す る 項目を検出 し 、 自動的に修復を実行 し ます。 MKS Toolkit 運用環境を削除するには 1 [ ス タ ー ト ] メ ニ ュ ーか ら 、 [設定] を ク リ ッ ク し 、 それか ら [ コ ン ト ロール パネル] を ク リ ッ ク し ます。 2 [ コ ン ト ロールパネル] ダ イ ア ロ グボ ッ ク ス で、 [ プ ログ ラ ムの追加 と 削除] を ダブル ク リ ッ ク し ます。 3 [ プ ログ ラ ムの追加 と 削除] ダ イ ア ロ グボ ッ ク ス で、 [MKS Platform Components] を強調表示に し ます。 4 [変更 / 削除] を ク リ ッ ク し ます。 章 11 SharePlex オ プ シ ョ ンのセ ッ ト ア ッ プ 429 5 レ ジ ス ト リ を検索 し て HKEY_LOCAL_MACHINE\Software か ら 「Mortice Kern Systems」、 「MKS」、 「Data Focus」 エ ン ト リ が削除 さ れた こ と を確認 し ます。 こ う し たエ ン ト リ を発見 し た場合は、 それ ら を削除 し ます。 重要! SharePlex または MKS Toolkit を再イ ン ス ト ールをするつ も り で も、 こ れらのレ ジ ス ト リ エ ン ト リ を削除 し ない限 り 再イ ン ス ト ール さ れません。 警告!レ ジ ス ト リ および Windows プ ラ ッ ト フ ォ ームの機能に詳 し く ない場合は、 レ ジ ス ト リ エ ン ト リ を追加、 変更、 または削除 し ないで く だ さ い。 レ ジス ト リ 設定を誤っ て 変更 し た場合は、 ソ フ ト ウ ェ ア またはシ ス テム自体の運用に悪影響を及ぼす こ と があ り ます。 レ ジ ス ト リ について詳 し く ない場合は、 シス テム管理者に相談 し て く だ さ い。 SharePlex ユーザーおよびデー タ ベースオブ ジ ェ ク ト を 削除するには SharePlex ユーザーお よ びデー タ ベース オブジ ェ ク ト を Oracle イ ン ス タ ン ス か ら 削除す る には、 ユーザーお よ びオブジ ェ ク ト を削除す る ための通常の Oracle の手順を使用 し ます。 必要に応 じ て Oracle のマニ ュ アルを参照 し て く だ さ い。 430 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 12 SharePlex ユーテ ィ リ テ ィ こ の章では、 SharePlex ユーテ ィ リ テ ィ の使い方について説明 し ます。 い く つ かのユーテ ィ リ テ ィ は、 UNIX と Windows プ ラ ッ ト フ ォ ーム上の両方で使用可 能ですが、 他のユーテ ィ リ テ ィ は UNIX シ ス テ ム上でのみ使用可能です。 注 : SharePlex デ ィ レ ク ト リ 内に SharePlex ユーテ ィ リ テ ィ のよ う に見え る プ ロ グ ラ ム があ り ます。 こ れ らのプ ログ ラ ムは実行 し ないで く だ さ い。 こ れらのプ ロ グ ラ ムは、 Quest Technical Support および開発チームによ っ て使用 さ れる も のであ り 、 誤っ て使 用する と 複製に悪影響を及ぼす可能性があ り ます。 し たがっ て、 こ の章に記載 さ れてい るユーテ ィ リ テ ィ のみを使用 し て く だ さ い。 目次 create_ignore.sql で DML ト ラ ンザ ク シ ョ ンの複製を防ぐ SharePlex ト リ ガス ク リ プ ト の使用 qview でのキ ュ ー フ ァ イルを表示お よび操作 clean_vardir.sh で変数デー タ デ ィ レ ク ト リ をパージ cleanup.sql での SharePlex テーブルの切 り 捨て socket_test ユーテ ィ リ テ ィ を使用 し たネ ッ ト ワー ク または フ ァ イ アウ ォ ールの 問題のデバ ッ ギン グ ora_cleansp で複製を初期状態に回復 SharePlex ラ イ セ ン スキーユーテ ィ リ テ ィ の使用 SpUtils ユーテ ィ リ テ ィ の使用 SpClient リ モー ト ア ク セスユーテ ィ リ テ ィ の使用 432 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 create_ignore.sql で DML ト ラ ンザ ク シ ョ ンの複製を 防ぐ サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX および Windows SharePlex で複製がア ク テ ィ ブであ る 最中に DDL を変更す る には、 場合に よ っ ては特定の DML 操作 (一般的に内部 Oracle 操作) が タ ーゲ ッ ト シ ス テ ムに複 製 さ れない よ う にす る こ と が必要です。 ま たその他の理由で DML 操作が タ ー ゲ ッ ト デー タ ベース にポ ス ト さ れない よ う にす る 必要が生 じ る 可能性 も あ り ま す。 DML が複製 さ れない よ う にす る には、 SHAREPLEX_IGNORE_TRANS と い う パブ リ ッ ク プ ロ シージ ャ を ソ ースデー タ ベース に作成す る 、 create_ignore.sql ユーテ ィ リ テ ィ を実行 し ます。 ト ラ ンザ ク シ ョ ンの開始時に実行す る と 、 プ ロ シージ ャ が実行時点か ら ト ラ ンザ ク シ ョ ンが コ ミ ッ ト ま たは ロ ールバ ッ ク さ れ る ま での間に実行 さ れた DML 操作を、 Capture プ ロ セ ス に無視 さ せます。 し た が っ て、 影響 さ れた操作は複製 さ れ ません。 • DML 操作のみが こ の SHAREPLEX_IGNORE_TRANS プ ロ シージ ャ に よ っ て影響 さ れます。 TRUNCATE を含む DDL 操作は SharePlex に よ っ て ス キ ッ プ さ れません。 DDL 操作は暗黙的に Oracle に よ っ て コ ミ ッ ト さ れてい る の で、 プ ロ シージ ャ を無効に し ます。 create_ignore.sql を実行する には • SharePlex 製品デ ィ レ ク ト リ の util サブデ ィ レ ク ト リ にあ る create_ignore.sql を実行 し ます。 • プ ロ シージ ャ が SharePlex ス キーマ内に作成 さ れ る よ う に、 SharePlex 「Oracle ユーザー」 と し て実行 し ます。 章 12 SharePlex ユー テ ィ リ テ ィ 433 こ の ス ク リ プ ト は次の PL/SQL を実行 し ます。 CREATE OR REPLACE PROCEDURE SHAREPLEX_IGNORE_TRANS AS TNUM NUMBER; BEGIN INSERT INTO SHAREPLEX_TRANS (TRANS_NUM, QUE_SEQ_NO_1, QUE_SEQ_NO_2, COMBO, OP_TYPE) VALUES (-999,0,0,'DUMMY',0); DELETE FROM SHAREPLEX_TRANS WHERE TRANS_NUM=-999 AND COMBO='DUMMY' AND OP_TYPE=0; END; / GRANT EXECUTE ON SHAREPLEX_IGNORE_TRANS TO PUBLIC; / SHAREPLEX_IGNORE_TRANS を実行するには SHAREPLEX_IGNORE_TRANS は、 複製す る べ き でない操作を含む ト ラ ンザ ク シ ョ ンの 「開始時点」 で コ ール し ます。 も し 、 ト ラ ンザ ク シ ョ ン の途中で コ ー ルす る と 、 プ ロ シージ ャ が開始 さ れた前の複製 さ れた操作は SharePlex は COMMIT な し では メ ッ セージ を リ リ ース し ないため post キ ュ ーで永久に COMMIT を待つ こ と にな り ます。 し か し 、 Capture はプ ロ シージ ャ が コ ール さ れた前のすべての操作を無視す る ため、 こ れ ら に対す る COMMIT は着信 さ れ ません。 し たが っ て Read プ ロ セ ス は こ れ ら の レ コ ー ド のキ ャ ッ シ ュ 情報を永 久に保持 し ます。 1 SharePlex ユーザー と し て SQL*Plus に ロ グオ ン し ます。 $ sqlplus name/password 2 ス キ ッ プす る ト ラ ンザ ク シ ョ ンの開始時点で SHAREPLEX_IGNORE_TRANS プ ロ シージ ャ を実行 し ます。 SQL> execute SharePlex_schema.SHAREPLEX_IGNORE_TRANS; 3 「1 つの」 ト ラ ンザ ク シ ョ ン で、 複製 し ないデー タ ベース に変更を追加 し ま す。 こ れ ら の変更は、 Capture に よ っ て無視 さ れます。 4 COMMIT ま たは ROLLBACK の後、 続 く ト ラ ンザ ク シ ョ ンの複製は正常に 再開 さ れ ます。 434 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SharePlex ト リ ガス ク リ プ ト の使用 サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX および Windows ソ ース オブジ ェ ク ト 上の ト リ ガに よ る DML 変更は、 REDO ロ グに入力 さ れ る ため、 SharePlex に よ っ て複製 さ れ タ ーゲ ッ ト デー タ ベース に post さ れます。 も し ト リ ガが タ ーゲ ッ ト オブジ ェ ク ト 上でそれ ら と 同 じ DML 変更を開始 し た 場合、 非同期エ ラ ーが発生 し ます。 ト リ ガは、 アプ リ ケーシ ョ ンの一部 と し てデー タ を変更す る ために使用 さ れ ま す。 複製内のテーブルでデー タ の変更が行われた場合、 SharePlex は ト リ ガア ク シ ョ ン を複製 し ます。 タ ーゲ ッ ト 上で ト リ ガが使用 さ れてい る 場合、 基本的 には SharePlex 複製 と 同 じ タ ス ク が実行 さ れ、 こ れ ら の行が非同期状態 と し て マー ク さ れます。 ト リ ガによ る複製への影響の詳細は、 「 ト リ ガ」 (91 ページ) を参照 し て く だ さ い。 SharePlex では ト リ ガが複製を妨げ る こ と がない よ う に、 SQL*Plus で ト リ ガ を 管理す る ために実行で き る 3 つの イ ン タ ラ ク テ ィ ブな ス ク リ プ ト を提供 し ま す。 ス ク リ プ ト を実行す る 前に次の点に注意 し て く だ さ い。 • ス ク リ プ ト は、 行レベルの ト リ ガのみを サポー ト し ます。 その他いかな る 種類の ト リ ガ をサポー ト す る ために変更す る こ と はで き ません。 も し アプ リ ケーシ ョ ン が他の ト リ ガ を使用す る 場合は、 SharePlex ユーザーのみのた めに個別に変更 し て く だ さ い。 • ス ク リ プ ト は複製の一部であ る か ど う か を問わず、 Oracle イ ン ス タ ン ス内 のすべてのオブジ ェ ク ト で動作 し ます。 • ス ク リ プ ト は タ ーゲ ッ ト オブジ ェ ク ト に対し て実行し ます。 ピ ア ト ゥ ピ ア複 製を使用し ない限 り 、 ソ ースオブジ ェ ク ト に対し て実行し ないで く だ さ い。 注: こ のスク リ プト を ソ ースオブジェ ク ト 上で実行する 場合、 ソ ース上の SharePlex ユー ザーと し て DML を 実行する 際に、 ト リ ガは実行さ れないこ と に注意し てく ださ い。 • ス ク リ プ ト は ソ ース オブジ ェ ク ト と タ ーゲ ッ ト オブジ ェ ク ト が同一のマシ ンにあ る 場合は使用で き ません。 こ の設定では、 ユーザーは タ ーゲ ッ ト オ ブジ ェ ク ト 上の ト リ ガ を無効にで き ます。 • ス ク リ プ ト は SharePlex 製品デ ィ レ ク ト リ の util サブデ ィ レ ク ト リ にあ り ます。 重要!ス ク リ プ ト を実行する には、 SYS および DBA オブ ジ ェ ク ト の両方へのア ク セス を持 っ ている必要があ り ます。 ora_setup によ っ て作成 さ れた SharePlex ユーザーは こ のア ク セス を持 っ ています。 章 12 SharePlex ユー テ ィ リ テ ィ 435 sp_add_trigger.sql ピ ア ト ゥ ピ アお よ び高可用性に設定 さ れてい る ため タ ーゲ ッ ト オブジ ェ ク ト 上 の ト リ ガ を無効にす る こ と がで き ない場合は、 sp_add_trigger.sql を使用 し ま す。 こ の ス ク リ プ ト はプ ロ セ ス に関連 さ れた SharePlex Oracle ユーザーを無視 し 、 その他すべてのユーザーに対 し て ト リ ガが実行 さ れ る よ う に、 ト リ ガ を変 更 し ます。 デー タ ベース内の個々の ト リ ガに、 次の WHEN 句が挿入 さ れ ます。 when user != ‘SharePlex_username’ begin ス ク リ プ ト は SharePlex ユーザー名を入力す る よ う に促すプ ロ ン プ ト を表示 し 、 その後 ト リ ガ を変更 し ます。 SYS、 SYSTEM、 SCOTT に属す る ト リ ガは変更 し ません。 構文 SQL> @absolute_pathname/sp_add_trigger.sql sp_change_trigger.sql sp_change_trigger.sql は、 sp_add_trigger.sql で作成 さ れた WHEN 句内の SharePlex ユーザーの名前を置 き 換え る ために使用 し ます。 現行の SharePlex ユーザー名 と 新 し いユーザー名を入力す る プ ロ ン プ ト が表示 さ れ ます。 ス ク リ プ ト を実行す る 前に Oracle 内で SharePlex ユーザーを変更 し ます。 SharePlex ユーザーを変更す る 手順については 413 ページ を参照 し て く だ さ い。 構文 SQL> @absolute_pathname/sp_change_trigger.sql sp_remove_trigger.sql sp_remove_trigger.sql は、 sp_add_trigger.sql で作成 さ れた WHEN 句を削除す る ために使用 し ます。 SharePlex ユーザー名の入力を促すプ ロ ン プ ト を表示 し 、 すべての ト リ ガか ら WHEN 句を自動的に 削除 し ます。 こ の ス ク リ プ ト は今後 こ れ ら のテーブルに複製す る こ と がない と き に使用 し ます。 も し こ れ ら の ト リ ガ を無効す る し ない ま ま SharePlex を使用 し て こ れ ら のテーブルに複製 し た場 合、 SharePlex がデー タ を post し た と き に ト リ ガが実行 さ れ SharePlex が非同期 エ ラ ーを生成 し ます。 構文 SQL> @absolute_pathname/sp_remove_trigger.sql 436 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 qview でのキ ュ ー フ ァ イルを表示および操作 サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX および Windows qview ユーテ ィ リ テ ィ を通 し て、 キ ュ ーの名前を表示 し た り 古いキ ュ ーフ ァ イ ルを削除 し た り す る こ と がで き ます。 こ こ で説明す る qview ツールは、 設定を デ ィ ア ク テ ィ ベー ト し ません。 qview ユーテ ィ リ テ ィ は、 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ にあ り ます。 こ のユーテ ィ リ テ ィ は UNIX ま た は Windows コ マ ン ド ラ イ ン か ら 実行 し ます。 警告!初めて qview を使用する際は、 Quest Technical Support の支援な し では使用 し ないで く だ さ い。 こ のユーテ ィ リ テ ィ が正常に使用 さ れなかっ た場合、 複製環境が故障 し 再同期および再ア ク テ ィ ベーシ ョ ンが必要にな る可能性があ り ます。 Windows シ ス テム上で qview を実行するには Windows プ ラ ッ ト フ ォ ーム上で SharePlex サービ ス の実行中に qview を実行す る には、 管理者 ユーザー と し てシ ス テ ムに ロ グオ ン し ます。 Windows では 管理 者 ユーザーは 1 つ し かあ り ません。 他のユーザーは、 管理者 「権限」 があ る (管理者グループの メ ンバであ る ) か ど う か を問わず、 qview を実行す る こ と がで き ません。 他の管理者権限を持つユーザーは、 SharePlex サービ ス がシ ャ ッ ト ダ ウ ン さ れ てい る 場合に qview を実行で き ます。 qview の list コ マ ン ド を使用する には list コ マ ン ド は、 シ ス テ ム上のすべてのア ク テ ィ ブ設定のすべてのキ ュ ーを表 示す る ために使用 し ます。 コ マ ン ド ラ イ ン で次の構文を使用 し ます。 UNIX の構文 qview list Windows の構文 qview -rportnumber list こ の コ マ ン ド は、 個々のキ ュ ー、 それに書 き 込む複製プ ロ セ ス、 そ し てそれを 読み取 る 複製プ ロ セ ス を リ ス ト し ます。 た と えば capture キ ュ ーの場合は、 Capture プ ロ セ ス と Read プ ロ セ ス が リ ス ト さ れます。 章 12 SharePlex ユー テ ィ リ テ ィ 437 • capture queue は 「+C」 で識別 さ れ ます。 • export queue は 「+X」 で識別 さ れ ます。 • post queue は 「+P」 で識別 さ れ ます。 次に qview list の出力の例を示 し ます。 capture キュー export キュー post キュー The following queues exist: o.ora920+C WRITER +PA+o.ora920+sp_ocap+o.ora920 READER +PR+o.ora920+sp_ordr+o.ora920 elliot+X WRITER +PR+o.ora920+sp_ordr+o.ora920 READER +PX+elliot+sp_xport+0x0a01014e (10.1.1.78) elliot+P+o.ora920-o.ora920 subqueues range from 2 to 6 WRITER +PI+elliot+sp_mport+0x0a01014e (10.1.1.78) READER +PP+elliot+sp_opst_mt+o.ora920-o.ora920 Capture プ ロ セス Read プ ロ セス Read プ ロ セス Export プ ロ セス Import プ ロ セス Post プ ロ セス qview の trim コ マ ン ド を使用するには SharePlex の post キ ュ ーは、 実際には多数の 「サブキ ュ ー」 か ら 構成 さ れてお り 、 それぞれが ソ ース シ ス テ ム上のユーザーセ ッ シ ョ ン におお よ そ対応 し てい ます。 Post プ ロ セ ス は、 タ ーゲ ッ ト イ ン ス タ ン ス に対 し て Oracle セ ッ シ ョ ン を 確立 し ます。 一時に タ ーゲ ッ ト シ ス テ ムに存在す る サブキ ュ ーの数は、 複製が 開始 さ れてか ら の ソ ース シ ス テ ム上での ピー ク ア ク テ ィ ビ テ ィ を反映 し ます。 SharePlex はチ ェ ッ ク ポ イ ン ト リ カバ リ シ ス テ ム の一部 と し て、 複製 さ れた デー タ をサブキ ュ ーか ら デ ィ ス ク 上の関連付け ら れたデー タ フ ァ イ ルに定期的 に書 き 込みます。 各サブキ ュ ーにはそれに関連付け ら れた 1 つま たは複数の デー タ フ ァ イ ルがあ り 、 それぞれのデフ ォ ル ト サ イ ズは 8 MB です。 8 MB の サ イ ズ全体が使用 さ れていない場合は、 デー タ が post さ れ read/release が行わ れていて も 、 デー タ フ ァ イ ルはシ ス テ ムに残 り ます。 その結果、 ソ ース シ ス テ ム のア ク テ ィ ビ テ ィ レベルが高いほ ど、 デ ィ ス ク 上のデー タ フ ァ イ ルの量が増 え ます。 qstatus 表示の post キ ュ ーのサ イ ズ (MB) は、 すべてのデー タ フ ァ イ ルが使用 し てい る 実際のデ ィ ス ク 領域です。 た と えば ソ ース シ ス テ ムに 100 個の並行セ ッ シ ョ ンがあ り 、 タ ーゲ ッ ト シ ス テ ム の post queue に 100 個のサブキ ュ ーを作成す る と し ます。 さ ら にデー タ フ ァ イ ルが半分 し か使用 さ れていない場合、 た と えば 8 MB 中 4 MB し か使用 さ れ ていないため、 削除 さ れない と し ます。 こ のシ ス テ ムの post queue には 各 4 438 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 MB のデー タ フ ァ イ ルが 100 個あ り 、 合計 400MB のデ ィ ス ク 領域を使用 し て い る こ と にな り ます。 qview にあ る trim コ マ ン ド を使用す る と 、 read-release さ れた古いサブキ ュ ーを 定期的に削除 し 、 タ ーゲ ッ ト デー タ ベース に ま だ コ ミ ッ ト さ れていないデー タ を含んでい る も の を保持す る こ と がで き ます。 trim コ マ ン ド では、 サブキ ュ ー 0 ま たは 1 は最 も 使用 さ れ る サブキ ュ ーであ る ため削除 さ れ ません。 注 : qview の trim コ マ ン ド は タ ーゲ ッ ト シ ス テム上でのみ実行 し ます。 trim コ マ ン ド を実行するには trim コ マ ン ド は SharePlex が稼動中の ま ま で発行す る こ と がで き ます。 1 キ ュ ーの整合性を保証す る ため、 Import お よ び Post プ ロ セ ス を タ ーゲ ッ ト シ ス テ ム上で停止 し ます。 Import お よ び Post を停止す る こ と で、 trim コ マ ン ド の実行中にキ ュ ーがア ク セ ス さ れ る こ と がない よ う に し ます。 sp_ctrl(sysB)> stop import sp_ctrl(sysB)> stop post 注 : も し こ れ らのプ ロ セスのど ち らか、 も し く は両方が停止 さ れていない場合は、 qview が次のエ ラ ー メ ッ セージ を返 し ます。 que_INUSE:Que is already open. 2 タ ーゲ ッ ト シ ス テ ム で bin サブデ ィ レ ク ト リ に移動 し ます。 trim 機能は post queue に影響を与え ます。 3 コ マ ン ド プ ロ ンプ ト で次のプ ロ ン プ ト を入力 し ます。 UNIX の構文 qview trim Windows の構文 qview -rportnumber trim • も し 「1 個」 の post queue を持つ (named queue ま たは複数の ソ ース マシ ンか ら の複製がない) 基本的な複製を使用 し てい る 場合は、 コ マ ン ド が 実行 さ れ、 コ マ ン ド プ ロ ン プ ト に戻 り ます。 • も し 複数の post queue (named queue ま たは複数の ソ ース マシ ン か ら の複 製) があ る 場合は、 qview に コ マ ン ド が適用す る キ ュ ーを選択す る プ ロ ン 章 12 SharePlex ユー テ ィ リ テ ィ 439 プ ト が次の よ う に表示 さ れます。 キ ュ ーは 1 度に 1 個のキ ュ ーのみ trim で き ます。 大量のキ ュ ーを 1 つの コ マ ン ド で ト リ ミ ン グす る には、 以降 の サブセ ク シ ョ ン で説明 し てい る qview コ マ ン ド trimall を使用 し ます。 Queue zac+P+o.ora920-o.ora920 (y/n) <n>? n Queue elliot+P+o.ora920-o.ora920 (y/n) <n>? y 注 : キ ュ ーを選択 し ない と 、 qview が次のエ ラ ー メ ッ セージ を返 し ます。 que_NOEXIST:Queue does not exist. 完全な ロールバ ッ ク メ ッ セージの作成 qview で、 fullrb コ マ ン ド を使っ て完全な ロ ールバ ッ ク メ ッ セージ を作成で き ま す。 qview は otrans コ マ ン ド か ら の ト ラ ンザ ク シ ョ ン ID を使っ て Capture キ ュ ーを開 き 、 Capture キ ュ ーに帯域外フル ロ ールバ ッ ク メ ッ セージ を書 き 込 み、 次に コ ミ ッ ト を書 き 込みます。 otrans コ マ ン ド の使用 こ の コ マ ン ド は、 読み取 り リ リ ース (read release) ポ イ ン ト か ら 始ま る Capture キ ュ ーを ス キ ャ ン し て、 指定 さ れた メ ッ セージ数を ス キ ャ ン し ます。 qview ユーテ ィ リ テ ィ は ト ラ ンザ ク シ ョ ン ID、 操作 ( レ コ ー ド ) 数、 DML タ イ プ操 作 (1 つだけ存在す る 場合 )、 お よ び変更 さ れたオブジ ェ ク ト ID (1 つだけ存在 す る 場合 ) を出力 し ます。 qview で otrans お よ び fullrb コ マ ン ド を使っ た完全 ロ ールバ ッ ク の実行方法 を、 次の例に示 し ます。 1 Capture プ ロ セ ス を停止 し ます。 sp_ctrl(sysA)> stop capture 2 qview ユーテ ィ リ テ ィ を起動 し て、 メ ッ セージ数を指定 し た otrans コ マ ン ド を実行 し ます。 vqiew> otrans 500000 表示 さ れ る qview 情報は次の よ う にな り ます。 Full rollback 8(7).752562-3(139) --- 99999 Update operations on object id 466857 Open transaction 8(23).752700-2(14162) --- 2001 Update operations (1000 backward operations) on object id 466857 440 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 3 上記の otrans 情報か ら の ト ラ ンザ ク シ ョ ン ID を使用 し て、 fullrb コ マ ン ド を実行 し ます。 vqiew> fullrb 8(7).752562-3(139) 表示 さ れ る qview 情報は次の よ う にな り ます。 Current queue o.ora920+C user +PA+o.ora920+sp_ocap+o.ora920 Full rollback record written to capture queue at 378744, id 1102 odr_magic 0x4f445235 odr_op ODR_FULL_ROLLBACK (50) odr_trans 8(7).752562-3(139) odr_time 01/01/88 00:00:00 (0) 4 sp_ctrl を使っ て、 Capture プ ロ セ ス を再起動 し ます。 sp_ctrl(sysA)> start capture 章 12 SharePlex ユー テ ィ リ テ ィ 441 clean_vardir.sh で変数デー タ デ ィ レ ク ト リ をパージ サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX のみ clean_vardir.sh ス ク リ プ ト は、 変数デー タ デ ィ レ ク ト リ を初期状態に戻 し ま す。 SharePlex 内部テーブルを切 り 捨て る こ と がで き ない場合に ora_cleansp の 代わ り に使用で き ます。 こ の ス ク リ プ ト を実行す る こ と を SharePlex マニ ュ アルの手順で要求 さ れてい ない限 り 、 最初に実行す る 前に Quest Technical Support にご連絡 く だ さ い。 こ のユーテ ィ リ テ ィ は、 プ ロ ダ ク シ ョ ン環境で使用す る こ と はほ と ん ど あ り ませ ん。 こ の ス ク リ プ ト は設定をデ ィ ア ク テ ィ ベー ト す る ため、 誤っ て使用す る と 複製の問題が発生 し 、 デー タ を再同期す る 必要にな る 可能性があ り ます。 通 常、 別の方法があ り ます。 clean_vardir.sh ス ク リ プ ト は、 次の フ ァ イ ルを削除 し ます。 • rim サブデ ィ レ ク ト リ の中のキ ュ ーフ ァ イ ル。 • rim サブデ ィ レ ク ト リ の中の ロ グ フ ァ イ ル。 イ ベン ト ロ グは、 clean_vardir.sh プ ロ シージ ャ を反映す る 1 つのエ ン ト リ を保持 し ます。 • data サブデ ィ レ ク ト リ の中の statusdb フ ァ イ ルの内容。 • dump お よ び state サブデ ィ レ ク ト リ の内容。 clean_vardir.sh ス ク リ プ ト は設定フ ァ イ ル、 conflict-resolution フ ァ イ ル、 ヒ ン ト フ ァ イ ル、 paramdb、 oramsglist フ ァ イ ルな ど の、 ユーザーが作成 し た フ ァ イ ルを保持 し ます。 clean_vardir.sh ス ク リ プ ト は、 設定をデ ィ ア ク テ ィ ベー ト し ます。 clean_vardir.sh を実行 し た後で複製を開始す る には、 設定を ア ク テ ィ ベー ト す る 必要があ り ます。 ヒ ン ト : 変数デー タ デ ィ レ ク ト リ 内のフ ァ イルを削除する こ と な く SharePlex テーブ ルを切 り 捨て るには、 cleanup.sql ス ク リ プ ト を使用 し ます (443 ページ を参照)。 SharePlex フ ァ イルを削除 し 、 SharePlex テーブルを切 り 捨て る こ と で SharePlex を初 期状態に完全に回復するには、 ora_cleansp を使用 し ます (448 ページ参照)。 clean_vardir.sh を実行するには UNIX シ ス テ ム上でのみ、 こ の ス ク リ プ ト を実行 し ます。 1 sp_cop を シ ャ ッ ト ダ ウ ン し ます。 442 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 SharePlex 変数デー タ デ ィ レ ク ト リ を指 し 示すために SP_SYS_VARDIR 環境 変数を設定 し ます。 SP_SYS_VARDIR が設定 さ れていない場合、 clean_vardir.sh は proddir/data/defaults.yaml フ ァ イ ルに記載 さ れてい る vardir を使用 し ます。 こ こ で、 proddir は、 ス ク リ プ ト が起動 さ れたデ ィ レ ク ト リ です。 SP_SYS_VARDIR 環境変数を設定する には ksh シ ェ ルの場合 : export SP_SYS_VARDIR= / 変数デー タ デ ィ レ ク ト リ の フルパス名 csh シ ェ ルの場合 : setenv SP_SYS_VARDIR / 変数デー タ デ ィ レ ク ト リ の フルパス名 3 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら clean_vardir.sh を 実行 し ます。 SharePlex Administrator と し て実行 し ます。 次の構文を使用 し ます。 こ こ で、 Oracle_version は 9i、 10g、 ま たは 11g にな り ます。 ./clean_vardir.sh Oracle_version 4 ス ク リ プ ト が完了す る と 、 UNIX プ ロ ン プ ト に戻 り ます。 注 : こ のユーテ ィ リ テ ィ は、 clean_vardir.sh が .../save_SharePlex_version デ ィ レ ク ト リ を削除で き ない こ と を示すエ ラ ー メ ッ セージ を生成する こ と があ り ます。 こ のデ ィ レ ク ト リ は手動で削除で き ます。 章 12 SharePlex ユー テ ィ リ テ ィ 443 cleanup.sql での SharePlex テーブルの切 り 捨て サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX お よび Windows cleanup.sql ユーテ ィ リ テ ィ は、 再び必要にな る 可能性があ る パーテ ィ シ ョ ン 化ス キーム を含む SHAREPLEX_PARTITION テーブルを除いて、 すべての SharePlex 内部テーブルを切 り 捨て る ス ク リ プ ト です。 SharePlex Oracle ユー ザー、 パ ス ワ ー ド 、 ま たはデモ ン ス ト レーシ ョ ン オブジ ェ ク ト はデー タ ベース か ら 削除 さ れ ません。 cleanup.sql ス ク リ プ ト は、 SharePlex 変数デー タ デ ィ レ ク ト リ にあ る 複製デー タ を保持 し たい と き に ora_cleansp の代わ り に使用で き ます。 こ の ス ク リ プ ト を実行す る こ と を SharePlex マニ ュ アルの手順で要求 さ れてい ない限 り 、 最初に実行す る 前に Quest Technical Support にご連絡 く だ さ い。 こ のユーテ ィ リ テ ィ は、 プ ロ ダ ク シ ョ ン環境で使用す る こ と はほ と ん ど あ り ませ ん。 誤っ て使用す る と 複製の問題が発生 し 、 デー タ を再同期す る 必要にな る 可 能性があ り ます。 通常、 別の方法があ り ます。 ヒ ン ト : 変数デー タ デ ィ レ ク ト リ にある SharePlex フ ァ イルのみを削除する には、 clean_vardir.sh ス ク リ プ ト を使用 し ます (441 ページ を参照)。 SharePlex フ ァ イルを 削除 し 、 SharePlex テーブルを切 り 捨て る こ と で SharePlex を初期状態に完全に回復す るには、 ora_cleansp を使用 し ます (448 ページ を参照)。 cleanup.sql を実行する には 1 SharePlex ユーザー と し て Oracle に ロ グオ ン し ます。 SharePlex テーブルは SharePlex ユーザーに所有 さ れます。 複数の変数デー タ デ ィ レ ク ト リ で複数 の sp_cop の イ ン ス タ ン ス を実行 し てい る 場合は、 それぞれのために SharePlex Oracle ユーザーが存在 し ます。 こ の ス ク リ プ ト を必ず実行す る よ う に し て く だ さ い。 ヒ ン ト : SharePlex ア カ ウン ト の名前を見つけるには、 次の コ マ ン ド を使用 し ます。 $ cat SharePlex_variable_data_directory/data/paramdb | grep SP_ORD_OWNER. 次のよ う に表示 さ れます。 SP_ORD_OWNER_O.oraA jdadd. 最初の コ ンポーネ ン ト は ORACLE_SID です ( こ の例では oraA)。 2 番目の コ ンポーネ ン ト は、 Oracle ア カ ウン ト 名です (こ の例では、 jdadd)。 444 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 SQL*Plus で cleanup.sql ス ク リ プ ト を実行 し ます。 SharePlex ユーザー名お よ びパ ス ワー ド を入力す る よ う に促すプ ロ ン プ ト が表示 さ れ ます。 SQL> @absolute_pathname/cleanup.sql ス ク リ プ ト は SQL*Plus に ロ グ イ ン し 、 SharePlex テーブルを切 り 捨て ます。 章 12 SharePlex ユー テ ィ リ テ ィ 445 socket_test ユーテ ィ リ テ ィ を使用 し たネ ッ ト ワー ク またはフ ァ イ アウ ォ ールの問題のデバ ッ ギン グ socket_test ユーテ ィ リ テ ィ は、 Import、 Export、 Compare/Repair におけ る ネ ッ ト ワーキ ン グ ま たはフ ァ イ ア ウ ォ ールの問題をデバ ッ グす る ためにデザ イ ン さ れ てい ます。 こ のセ ク シ ョ ン では、 Network Address Translation が設定 さ れた環境 で こ のユーテ ィ リ テ ィ を使 う 方法を説明 し ます。 socket_test ユーテ ィ リ テ ィ を NAT が設定 さ れた環境で使 用する には Network Address Translation (NAT) は、 ロ ーカルエ リ アネ ッ ト ワ ー ク (LAN) でプ ラ イ ベー ト の内部 ト ラ フ ィ ッ ク 用に IP ア ド レ ス を使用 し 、 パブ リ ッ ク の 外部 ト ラ フ ィ ッ ク 用に別のア ド レ ス を使用す る こ と を可能に し ます。 NAT は 2 つのネ ッ ト ワ ー ク (た と えば、 プ ラ イ ベー ト LAN と パブ リ ッ ク イ ン タ ーネ ッ ト 、 あ る いは保護 さ れたネ ッ ト ワ ー ク と 保護 さ れていないネ ッ ト ワー ク ) の間 のブ リ ッ ジお よ び イ ン タ プ リ タ と し て動作 し ます。 シス テムで NAT が使用 さ れているか判断するには ソ ース マシ ン と タ ーゲ ッ ト マシ ンか ら 、 同一のホ ス ト 名を使っ て nslookup を 実行 し ます。 異な る 値が出力 さ れた場合は、 シ ス テ ムが NAT が設定 さ れた環 境で動作 し てい る 可能性が高いです。 socket_test ユーテ ィ リ テ ィ を実行するには socket_test は Compare Server と Compare Client の動作を シ ミ ュ レーシ ョ ンす る よ う にデザ イ ン さ れてい ます。 socket_test ユーテ ィ リ テ ィ が成功 し た場合は、 ソ ース と タ ーゲ ッ ト の通信の妨げ と な る ネ ッ ト ワ ー ク ま たはフ ァ イ ア ウ ォ ール の問題がない こ と を示 し ます。 socket_test ユーテ ィ リ テ ィ は、 UNIX お よ び Linux シ ス テ ム の SharePlex 製品 デ ィ レ ク ト リ の utility サブデ ィ レ ク ト リ にあ り ます。 1 server オプシ ョ ン を使用 し 、 ソ ース マシ ン上で socket_test ユーテ ィ リ テ ィ を実行 し ます。 ユーザーは コ マ ン ド ラ イ ン でポー ト 番号を指定す る こ と が で き ます。 irvqasuf > socket_test server 446 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 socket_test server は、 ホ ス ト IP ア ド レ ス と ポー ト 番号 (か き の例ではそれ ぞれ 10.1.0.146 と 57370) を表示 し ます。 socket_test client が接続す る ま で、 サーバーは待ち状態 と な り ます。 socket_test - version: 1.2 HP-UX irvqasuf B.11.11 U 9000/800 1141089608 unlimited-user license Program executing as server..., Thu Mar 9 19:58:22 2006 SP_SYS_HOST_NAME was not set. server host name:irvqasuf server IP: 10.1.0.146 Port Number: 57370 2 client オプシ ョ ン を使用 し 、 タ ーゲ ッ ト マシ ン上で socket_test ユーテ ィ リ テ ィ を実行 し ます。 ユーザーは socket_test サーバーネ ッ ト ワー ク IP ア ド レ ス (ま たは NAT が設定 さ れた環境の場合は、 ソ ース マシ ン の NAT IP ア ド レ ス) お よ び socket_test server よ り 発行 さ れたポー ト 番号を提供す る 必要 があ り ます。 ポー ト 番号を指定 し た場合は、 そのポー ト 番号を代わ り に使 用 し ます。 irvlabu01 > socket_test client 10.1.0.146 57370 ソ ケ ッ ト テ ス ト が成功 し た場合は、 socket_test client に次の メ ッ セージが表 示 さ れ ます。 socket_test - version: 1.2 SunOS irvlabu01 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-880 Program executing as client..., Thu Mar 9 19:52:40 2006 SP_SYS_HOST_NAME was not set. client host name:irvlabu01 client IP: 10.1.0.36 Client is try to connect to..... Server Host: 10.1.0.146 Server Port: 57370 rb(512):ReadWriteCnt = 0, readCnt=0, readBytes=0, writeCnt=0, writeBytes=0re:ReadWriteCnt = 1, readCnt=1, totalRBytes=512, writeCnt=0, totalWBytes=0 -m,0,0,-s,0,-l,10000000,-t,0,-r,0,-o,0,-x,0,0,0,0,0,0, SUCCESSFULLY read/write messages from server CE:ReadWriteCnt = 1, readCnt=1, totalRBytes=512, writeCnt=0, totalWBytes=0 Client completed successfully, Thu Mar 9 19:52:40 2006 Program exiting..., Thu Mar 9 19:52:40 2006 章 12 SharePlex ユー テ ィ リ テ ィ 447 ソ ケ ッ ト テ ス ト が成功 し なか っ た場合は、 socket_test client に次の よ う に表 示 さ れます。 socket_test - version: 1.2 SunOS irvlabu01 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-880 Program executing as client..., Thu Mar 9 20:02:26 2006 SP_SYS_HOST_NAME was not set. client host name:irvlabu01 client IP: 10.1.0.36 Client is try to connect to..... Server Host: 10.1.0.146 Server Port: 57370 Error calling connect in connect_to_server Error 146:Connection refused Error 146 calling connect_to_server CE:ReadWriteCnt = 0, readCnt=0, totalRBytes=0, writeCnt=0, totalWBytes=0 Error in client, Thu Mar 9 20:02:26 2006 3 ソ ケ ッ ト テ ス ト が成功 し た場合は、 ソ ース マシ ン上の socket_test server で 上記ス テ ッ プ 1 にて表示 さ れた文字列に次の文字列が付記 さ れます。 Connected to client WB(512):ReadWriteCnt = 0, readCnt=0, readBytes=0, writeCnt=0, writeBytes=0 WE:ReadWriteCnt = 1, readCnt=0, totalRBytes=0, writeCnt=1, totalWBytes=512 SE:ReadWriteCnt = 1, readCnt=0, totalRBytes=0, writeCnt=1, totalWBytes=512 Server completed successfully, Thu Mar 9 20:00:07 2006 Program exiting..., Thu Mar 9 20:00:07 2006 ソ ケ ッ ト テ ス ト が成功 し なか っ た場合は、 socket_test client が接続す る ま で socket_test server が待ち状態で維持 さ れ ます。 ソ ケ ッ ト テ ス ト が成功 し なか っ た場合、 ま たはエ ラ ーが発生 し た場合は、 ソ ー ス マシ ン上で Ctrl-C を実行す る こ と で socket_test server を終了す る こ と がで き ます。 448 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ora_cleansp で複製を初期状態に回復 サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX および Windows ora_cleansp は、 デ ィ ア ク テ ィ ベー ト 設定を含めて、 現在の複製状態を削除 し ます。 こ れは、 テ ス ト お よ びデモ ン ス ト レーシ ョ ン環境では受け入れ可能です が、 実稼働環境にはほ と ん ど場合ふ さ わ し く あ り ません。 ora_cleansp (Windows シ ス テ ム では OraCleanSp) を実行す る こ と を マニ ュ アルの手順ま た はデモ ン ス ト レーシ ョ ン で要求 さ れていない限 り 、 最初に こ のユーテ ィ リ テ ィ を実行す る 前に、 Quest Technical Support にご連絡 く だ さ い。 ora_cleansp の実 行には他の代替手段があ り ます。 ora_cleansp の動作方法 ora_cleansp は、 次の よ う に 2 段階で動作 し て複製を最初の状態に復元 し ます。 ora_cleansp は、 再び必要にな る 可能性があ る パーテ ィ シ ョ ン化ス キーム を含 む SHAREPLEX_PARTITION テーブルを除いて、 最初にすべての SharePlex 内 部テーブルを切 り 捨て ます。 SharePlex Oracle ユーザー、 パ ス ワー ド 、 ま たは デモ ン ス ト レーシ ョ ン オブジ ェ ク ト は削除 さ れません。 テーブルを切 り 捨てた後で、 ora_cleansp は次の コ ン ポーネ ン ト を SharePlex 変 数デー タ デ ィ レ ク ト リ か ら 削除 し ます。 • rim サブデ ィ レ ク ト リ の中のキ ュ ーフ ァ イ ル。 • rim サブデ ィ レ ク ト リ の中の ロ グ フ ァ イ ル。 イ ベン ト ロ グは、 ora_cleansp プ ロ シージ ャ の結果を反映す る 1 つのエ ン ト リ を保持 し ます。 • data サブデ ィ レ ク ト リ の中の statusdb フ ァ イ ルの内容。 • dump お よ び state サブデ ィ レ ク ト リ の内容。 ora_cleansp は、 設定フ ァ イ ル、 conflict-resolution フ ァ イ ル、 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ル、 ヒ ン ト フ ァ イ ル、 paramdb、 oramsglist フ ァ イ ルな ど の ユーザー作成フ ァ イ ルを保存 し ます。 ora_cleansp は、 設定をデ ィ ア ク テ ィ ベー ト し ます。 ora_cleansp を実行 し た後 で複製を起動す る には、 設定を ア ク テ ィ ベー ト す る 必要があ り ます。 章 12 SharePlex ユー テ ィ リ テ ィ 449 ora_cleansp のその他の代替手段 • SharePlex テーブルを切 り 捨てずに、 複製を初期状態に回復 し て設定の活動 を停止す る には、 sp_ctrl 内で abort config ま たは purge config コ マ ン ド を使 用で き ます。 こ れ ら の コ マ ン ド の詳細は、 『SharePlex リ フ ァ レ ン ス マニ ュ アル』 を参照 し て く だ さ い。 • 変数デー タ デ ィ レ ク ト リ の中の フ ァ イ ルをパージせずに SharePlex テーブル を切 り 捨て る には、 cleanup.sql ス ク リ プ ト を実行 し ます (UNIX シ ス テ ム の製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ ま たは Windows シ ス テ ム の 製 品デ ィ レ ク ト リ の util サブデ ィ レ ク ト リ か ら 実行 し ます)。 • UNIX シ ス テ ム では、 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら clean_vardir.sh ス ク リ プ ト を実行す る こ と で、 SharePlex テーブルを切 り 捨てずに変数デー タ デ ィ レ ク ト リ の中の フ ァ イ ルをパージで き ます。 重要 : ora_cleansp は、 複製を初期状態に復元する ために、 すべてのソ ースおよび タ ーゲ ッ ト シ ス テムで実行する必要があ り ます。 シス テムで ora_cleansp が実行 さ れ たかど う か、 またいつ実行 さ れたのかを確認するには、 そのシス テムのイ ベン ト ログ を 表示 し て く だ さ い。 ora_cleansp を実行する前に 4 SharePlex Administrator と し て ロ グオ ン し ます。 5 [UNIX のみ ] SharePlex 変数デー タ デ ィ レ ク ト リ を指 し 示すために SP_SYS_VARDIR 環境変数を設定 し ます。 複数の変数デー タ デ ィ レ ク ト リ を使用 し て複数の sp_cop の イ ン ス タ ン ス を実行 し てい る 場合は、 復元す る 変数デー タ デ ィ レ ク ト リ に合わせて SP_SYS_VARDIR を設定 し ます。 ksh シ ェ ルの場合 : $ export SP_SYS_VARDIR=[/ 変数デー タ デ ィ レ ク ト リ への絶対パス名 ] csh シ ェ ルの場合 : $ setenv SP_SYS_VARDIR [/ 変数デー タ デ ィ レ ク ト リ への絶対パス名 ] 6 SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ か ら sp_ctrl を実行 し ま す。 450 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 7 sp_cop を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl> shutdown 8 UNIX シ ス テ ム で ps -ef | grep sp_ コ マ ン ド ま たは Windows シ ス テ ム で SpUtil プ ロ グ ラ ム か ら Taskmgr を使用す る こ と で、 すべての SharePlex プ ロ セ ス が停止 し た こ と を確認 し ます。 9 UNIX シ ス テ ム の kill -9 コ マ ン ド ま たは Windows シ ス テ ム の KillSharePlex.bat プ ロ グ ラ ム を使用す る こ と で、 すべての orphan SharePlex プ ロ セ ス を kill し ます。 10 [UNIX のみ ] ま だ実行 し ていない場合は、 oratab フ ァ イ ルを表示 し て、 イ ン ス タ ン ス の ORACLE_HOME お よ び ORACLE_SID の値を判断 し ます。 $ cd /etc $ more oratab 11 [UNIX のみ ] ORACLE_HOME お よ び ORACLE_SID 環境変数を設定 し ます。 ksh シ ェ ルの場合 : $ export ORACLE_HOME=[oratab フ ァ イルか らの値 ] $ export ORACLE_SID=[oratab フ ァ イルか らの値 ] csh シ ェ ルの場合 : $ setenv ORACLE_HOME [oratab フ ァ イルか らの値 ] $ setenv ORACLE_SID [oratab フ ァ イルか らの値 ] 12 プ ラ ッ ト フ ォ ーム に応 じ て、 次の方法の 1 つを使用 し て ora_cleansp を実行 し ます。 UNIX シス テムでの ora_cleansp の実行 1 SharePlex 製品デ ィ レ ク ト リ ( こ れが現在の作業デ ィ レ ク ト リ であ る こ と が 必要) の bin サブデ ィ レ ク ト リ に移動 し 、 「SharePlex Oracle ユーザーア カ ウ ン ト お よ びパ ス ワー ド 」 で ora_cleansp を実行 し ます。 異な る ユーザー と し て実行す る と き は、 ora_cleansp は SharePlex テーブルを切 り 捨て ません。 $ ./ora_cleansp SharePlex ユーザー名 /SharePlex パスワー ド 章 12 SharePlex ユー テ ィ リ テ ィ 451 ヒ ン ト : SharePlex ア カ ウン ト の名前を見つけるには、 次の コ マ ン ド を使用 し ます。 $ cat SharePlex_variable_data_directory/data/paramdb | grep SP_ORD_OWNER. 次のよ う に表示 さ れます。 SP_ORD_OWNER_O.oraA jdadd. ド ッ ト の後の最初の要素は ORACLE_SID です ( こ の例では oraA)。 2 番目の コ ンポーネ ン ト は、 Oracle ア カ ウン ト 名です (こ の例では、 jdadd)。 2 こ の結果を確認す る ためにユーテ ィ リ テ ィ を実行 し て Event Log を表示 し ま す。 注 : こ のユーテ ィ リ テ ィ は、 .../save_SharePlex_version デ ィ レ ク ト リ を削除で き な い こ と を示すエ ラ ー メ ッ セージ を生成する こ と があ り ます。 こ のデ ィ レ ク ト リ は削除で き ます。 Windows シ ス テムでの OraCleanSp の実行 1 SpUtils デス ク ト ッ プシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 ま たは SharePlex 製品デ ィ レ ク ト リ の bin サブデ ィ レ ク ト リ に移動 し てか ら 、 SpUtils プ ロ グ ラ ム ア イ コ ン を ダブル ク リ ッ ク し ます。 452 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス で、 [OraCleanSp] タ ブ を ク リ ッ ク し ます。 3 [Port] リ ス ト ボ ッ ク ス で、 OraCleanSp を実行す る SharePlex の イ ン ス タ ン ス のためのポー ト 番号を選択 し ます。 4 [SharePlex User Info] の下に次の情報を入力 し ます。 • [User] テ キ ス ト ボ ッ ク ス に指定 さ れた SharePlex の イ ン ス タ ン ス の SharePlex Oracle ユーザーの名前を入力 し ます。 OraCleanSp は SharePlex Oracle と し て実行する必要があ り ます。 • [Password] テ キ ス ト ボ ッ ク ス に SharePlex ユーザーのパ ス ワー ド を入力 し ます。 • [Oracle SID] テ キ ス ト ボ ッ ク ス に、 OraCleanSp を実行 し てい る Oracle イ ン ス タ ン ス の ORACLE_SID を入力 し ます。 5 [Clean] を ク リ ッ ク し て、 OraCleanSp を実行 し ます。 処理の進捗は、 ダ イ ア ロ グ ボ ッ ク ス の一番下にあ る テ キ ス ト ボ ッ ク ス に表示 さ れます。 6 [Close] を ク リ ッ ク し て、 ダ イ ア ロ グ を閉 じ ます。 章 12 SharePlex ユー テ ィ リ テ ィ 453 SharePlex ラ イ セ ン スキーユーテ ィ リ テ ィ の使用 サポー ト し ている プ ラ ッ ト フ ォ ーム : UNIX、 Linux、 および Windows SharePlex ラ イ セ ン ス は、 マシ ン ID 番号 (CPU ID) に対 し て発行 さ れます。 提 供 さ れ る 各 ラ イ セ ン ス は、 特定のホ ス ト 、 オペレーテ ィ ン グ シ ス テ ム、 CPU 数に対 し て特有の も のです。 既存のユーザーは SharePlex バージ ョ ン 5.x に ア ッ プグ レー ド す る 前に新 し い ラ イ セ ン ス キーを入手す る 必要があ り ます。 重要!ク ラ ス タ のプ ラ イ マ リ ノ ー ド で SharePlex ユーテ ィ リ テ ィ を使用 し て、 ク ラ ス タ のすべてのセ カ ン ダ リ ノ ー ド に ラ イ セ ン ス を イ ン ス ト ールする こ と は、 すべての ノ ー ド が 1 つの変数デー タ デ ィ レ ク ト リ を共有 し ている ために可能です。 ただ し 、 ク ラ ス タ 化 さ れていないマシ ンのために別のマシ ンから ラ イ セ ン ス を追加する こ と はで き ませ ん。 ク ラ ス タ 化 さ れていない各複製シ ス テムで、 各シス テムの変数デー タ デ ィ レ ク ト リ 内の paramdb に ラ イ セ ン ス情報がイ ン ス ト ール さ れる よ う に、 ラ イ セ ン スユーテ ィ リ テ ィ を実行する必要があ り ます。 ラ イ セ ン スユーテ ィ リ テ ィ の概要 SharePlex は ラ イ セ ン ス キーの表示 と 追加、 そ し てマシ ン ID を表示す る ための ユーテ ィ リ テ ィ を提供 し ます。 UNIX と Windows プ ラ ッ ト フ ォ ーム で使用で き る ラ イ セ ン ス ユーテ ィ リ テ ィ は異な り ます。 UNIX と Linux シ ス テム UNIX と Linux シ ス テ ム では、 次の用途に よ っ て個別のユーテ ィ リ テ ィ を使用 し ます。 • UNIX ま たは Linux シ ス テ ム に ラ イ セ ン ス キーを追加す る には • UNIX ま たは Linux シ ス テ ム で ラ イ セ ン ス キーを生成す る には • UNIX ま たは Linux シ ス テ ム で ラ イ セ ン ス キーを表示す る には Windows シ ス テムの場合 Windows シ ス テ ム で、 1 つのユーテ ィ リ テ ィ で SharePlex すべての ラ イ セ ン ス 機能を処理で き ます。 457 ページ を参照 し て く だ さ い。 454 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 UNIX または Linux シ ス テムに ラ イ セ ン スキーを追加する には UNIX と Linux シ ス テ ム では、 splex_add_key と い う 、 既存の イ ン ス ト ールに ラ イ セ ン ス キーを追加す る (た と えばデモ ラ イ セ ン ス か ら 永久 ラ イ セ ン ス に変 換す る ) ためのユーテ ィ リ テ ィ が SharePlex に用意 さ れてい ます。 splex_add_key を使用 し て 1 つのシ ス テ ム に ラ イ セ ン ス を適用す る か、 ク ラ ス タ にあ る 複数のシ ス テ ム に適用す る こ と がで き ます。 splex_add_key を実行するには 1 sp_ctrl 内で SharePlex を シ ャ ッ ト ダ ウ ン し ます。 sp_ctrl> shutdown 2 デ ィ レ ク ト リ を SharePlex 製品デ ィ レ ク ト リ の install サブデ ィ レ ク ト リ に変 更 し 、 splex_add_key ス ク リ プ ト を実行 し ます。 次の選択肢が表示 さ れ ま す。 SharePlex License Utility 1) Read license key from file 2) Enter license key manually 3) Add license key for alternate host q) Quit License Utility Enter option: 3 適切なオプシ ョ ン を選択 し ます。 ラ イ セ ン ス キーを フ ァ イ ルか ら 読み取 る 場合は 1、 手動で入力す る 場合は 2、 代替ホ ス ト 用の ラ イ セ ン ス キーを追加 す る 場合は 3 です。 注 : オプ シ ョ ン 3 を選択 し た場合、 q を押 し て終了する ま で、 必要な限 り マ シ ン ID を 入力 し ます。 4 手動で入力す る 場合は スペース と 大文字に注意 し なが ら 入力 し 、 Enter キー を押 し ます。 各マシ ンに対 し て ス テ ッ プ 3 - 4 を繰 り 返 し ます。 5 q オプシ ョ ン を選択 し て、 ス ク リ プ ト を終了 し ます。 6 SharePlex を起動 し 、 複製を開始ま たは再開 し ます。 章 12 SharePlex ユー テ ィ リ テ ィ 455 UNIX または Linux シ ス テムで ラ イ セ ン スキーを生成する には UNIX お よ び Linux シ ス テ ム では Quest が ラ イ セ ン ス キーを生成で き る よ う に、 splex_uname ユーテ ィ リ テ ィ で ロ ーカルマシ ン情報を収集 し ます。 splex_uname ユーテ ィ リ テ ィ は、 UNIX お よ び Linux シ ス テ ムの SharePlex 製品 デ ィ レ ク ト リ の install サブデ ィ レ ク ト リ にあ り ます。 こ こ に、 ロ ーカルシ ス テ ム のホ ス ト 名、 ホ ス ト ID、 オペレーテ ィ ン グ シ ス テ ム、 マシ ン モデル、 CPU の種類、 CPU 速度、 ロ ーカルシ ス テ ム上の CPU の数が表示 さ れます。 splex_uname を実行するには splex_uname を実行す る と 、 ロ ーカルマシ ン情報が収集 さ れ、 次の よ う に表示 さ れます。 $ /splex/proddir /install/splex_uname Local system info: Host Name Host ID Operating System Machine model CPU Type CPU Speed Number of CPUs = = = = = = = irvspxu09 2198894273 (831076C1 HEX) SunOS SUNW,UltraAX-i2 sparc9 500 1 UNIX または Linux シ ス テムで ラ イ セ ン スキーを表示する には UNIX と Linux シ ス テ ム では、 splex_get_key ユーテ ィ リ テ ィ を使用す る こ と で マシ ンに有効な SharePlex ラ イ セ ン ス が適用 さ れてい る か (た と えばデモ ラ イ セ ン ス の使用期限を知 ら ない場合) を簡単に判断 し た り 、 ま た実際の ラ イ セ ン ス番号を知 る こ と がで き ます。 splex_get_key ユーテ ィ リ テ ィ は、 UNIX お よ び Linux シ ス テ ム の SharePlex 製 品デ ィ レ ク ト リ の install サブデ ィ レ ク ト リ にあ り ます。 こ こ に顧客名、 ロ ーカ ルマシ ン の ラ イ セ ン ス番号、 製品名、 ラ イ セ ン ス がデモであ る か、 そ し て ラ イ セ ン ス期限を表示 し ます。 456 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 splex_get_key を実行するには ラ イ セ ン ス番号を表示す る には、 splex_get_key を実行 し ます。 次の よ う な結 果が表示 さ れます。 $ /splex/proddir/install/splex_get_key Customer Name = quest License Key = EANLCF3P56F8M1JB1K6RBJCBB6TBEP0 Product Name = SharePlex Oracle License type = demo key Expired on = 01/01/2008 12:00 AM 章 12 SharePlex ユー テ ィ リ テ ィ 457 Windows シ ス テムで SharePlex に ラ イ セ ン ス を適用する には Windows プ ラ ッ ト フ ォーム では、 シ ス テ ム のマシ ン ID の取得を含むすべての ラ イ セ ン ス機能が SpUtils ユーテ ィ リ テ ィ か ら 実行 さ れます。 SpUtils を実行するには 1 シ ス テ ムパ ス ワー ド と ユーザー名を使用 し て SharePlex Administrator と し て Windows に ロ グオ ン し ます。 ユーザー名は、 SharePlex Admin グループに 割 り 当て ら れてい る 必要があ り ます。 2 Windows のデス ク ト ッ プで、 [SpUtils] シ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 ま たは Windows タ ス ク バーの [ ス タ ー ト ] を ク リ ッ ク し 、 [ プ ログ ラ ム] を ク リ ッ ク し て、 SharePlex プ ロ グ ラ ム グループの [SpUtils] を選択 し ます。 3 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス で、 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 458 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 4 [SharePlex Services] の下の [Port] リ ス ト ボ ッ ク ス で、 ラ イ セ ン ス を適用 す る SharePlex の イ ン ス タ ン ス のためのポー ト 番号を選択 し ます。 5 [SharePlex Service Status] の下で [Stop] を ク リ ッ ク し 、 [Current State] フ ィ ール ド にサービ ス が停止 し た旨の メ ッ セージが表示 さ れ る ま で待ち ま す。 章 12 SharePlex ユー テ ィ リ テ ィ 459 6 [SharePlex Utilities] ダ イ ア ロ グ ボ ッ ク ス で、 [License Key] タ ブ を ク リ ッ ク し ます。 7 ラ イ セ ン ス キーを追加ま たは表示す る 対象の SharePlex の イ ン ス タ ン ス の ポー ト が [Port] リ ス ト ボ ッ ク ス に表示 さ れていない場合は、 正 し いポー ト 番号を選択 し ます。 8 [Add License] を ク リ ッ ク し ます。 ラ イ セ ン ス キーを追加す る には、 フ ァ イ ルか ら コ ピーす る か、 Ctrl+v キーを使用 し て [License Key] テ キ ス ト ボ ッ ク ス に貼 り 付け る か、 手動で空白文字を含めて入力 し ます。 キーには、 英 大文字 と 小文字の区別があ り ます。 [OK] を ク リ ッ ク し ます。 9 ラ イ セ ン ス情報は 2 ヵ 所に表示 さ れます。 [License Info] ボ ッ ク ス にはホ ス ト マシ ンについての情報が リ ス ト さ れ、 ダ イ ア ロ グボ ッ ク ス の下部にあ る [Status] テ キ ス ト ボ ッ ク ス には、 ラ イ セ ン ス が永久的な キーであ る か、 一時的な も のであ る か (期限が表示 さ れます) が表示 さ れます。 10 [ ク ラ ス タ のみ-プ ラ イ マ リ ノ ー ド に実行 ] ク ラ ス タ のセ カ ン ダ リ ノ ー ド に ラ イ セ ン ス を追加す る には、 [Add Alternate Host Id] チ ェ ッ ク ボ ッ ク ス を オ ンに し て、 その後 [CPU ID] リ ス ト ボ ッ ク ス か ら マシ ン ID を選択 し ます。 こ の ス テ ッ プ を ク ラ ス タ 内のすべてのセ カ ン ダ リ ノ ー ド に繰 り 返 し ます。 460 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 11 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス で、 [SharePlex Services] タ ブ を ク リ ッ ク し ます。 12 SharePlex を起動す る 準備がで き た ら 、 [SharePlex Service Status] で、 [Start] を ク リ ッ ク し ます。 13 [Close] を ク リ ッ ク す る と 、 SpUtils ユーテ ィ リ テ ィ が閉 じ ます。 章 12 SharePlex ユー テ ィ リ テ ィ 461 SpUtils ユーテ ィ リ テ ィ の使用 サポー ト し ている プ ラ ッ ト フ ォ ーム : Windows の場合 Windows シ ス テ ム では、 SharePlex に SpUtils ユーテ ィ リ テ ィ が用意 さ れてお り 、 SharePlex を起動 し 指定 さ れた管理ユーテ ィ リ テ ィ を 1 つの イ ン タ ーフ ェ イ ス か ら 実行で き ます。 SpUtils を実行す る には、 Windows のデス ク ト ッ プで [SpUtils] シ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 ま たは Windows タ ス ク バーの [ ス タ ー ト ] を ク リ ッ ク し 、 [ プ ログ ラ ム] を ク リ ッ ク し て、 SharePlex プ ロ グ ラ ム グループの [SpUtils] を選択 し ます。 [SharePlex Utilities] ダ イ ア ロ グボ ッ ク ス が表示 さ れ ます。 462 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SpUtils から イ ン ス ト ール情報を表示するには [Information] タ ブ を ク リ ッ ク す る と 、 SharePlex が イ ン ス ト ール さ れてい る シ ス テ ム、 お よ び SharePlex バージ ョ ン と 環境についての情報が表示 さ れます。 SharePlex サービ ス を SpUtils から制御するには [SharePlex Services] タ ブ を ク リ ッ ク し SharePlex service (SharePlex の イ ン ス タ ン ス) を イ ン ス ト ール § 開始、 停止ま たは削除 し ます。 SharePlex の実行につ いての詳細は、 第 3 章を参照 し て く だ さ い。 SharePlex サービ ス の イ ン ス ト ー ル と 削除についての詳細は、 『SharePlex イ ン ス ト ールお よ びデモ ン ス ト レー シ ョ ン ガ イ ド 』 を参照 し て く だ さ い。 OraSetup を SpUtils から実行するには [OraSetup] タ ブ を ク リ ッ ク す る こ と で、 OraSetup ユーテ ィ リ テ ィ が実行 さ れ、 SharePlex 用の Oracle ア カ ウ ン ト が確立 さ れ複製に必要なデー タ ベース オ ブジ ェ ク ト が イ ン ス ト ール さ れ ます。 OraSetup の実行についての詳細は、 417 ページ を参照 し て く だ さ い。 OraCleanSp を SpUtils から実行するには [OraCleanSp] タ ブ を ク リ ッ ク し 、 現行の複製環境を削除す る OraCleanSp ユーテ ィ リ テ ィ を実行 し ます。 OraCleanSp の実行についての詳細は、 448 ペー ジ を参照 し て く だ さ い。 SpUtils から ラ イ セ ン スキーを管理する には [License Key] タ ブ を ク リ ッ ク し 、 SharePlex の イ ン ス タ ン ス の SharePlex ラ イ セ ン ス キーを表示、 追加、 変更 し た り 、 ラ イ セ ン ス キーに関連付け ら れたマシ ン ID 番号を表示 し た り し ます。 ラ イ セ ン ス キーの管理についての詳細は、 453 ページ を参照 し て く だ さ い。 章 12 SharePlex ユー テ ィ リ テ ィ 463 SpUtils から プ ロ セス を終了するか、 優先順位を設定する には [TaskMgr] タ ブ を ク リ ッ ク し 、 Windows Task Manager を特別権限で実行 し 、 SharePlex プ ロ セ ス を終了 し た り 、 優先順位を設定 し た り で き ます。 SharePlex プ ロ セ ス が NuTCRACKER 環境に よ っ て制御 さ れてい る ため、 SharePlex プ ロ セ ス の終了や優先順位の設定は通常の Windows Task Manager か ら は行え ませ ん。 こ のダ イ ア ロ グボ ッ ク ス はシ ス テ ム の他のプ ロ セ ス を フ ィ ル タ ー し 、 SharePlex プ ロ セ ス のみを表示 し ます。 プ ロ セ ス を終了 し た り 優先順位を設定 し た り す る には、 ダ イ ア ロ グ ボ ッ ク ス でプ ロ セ ス名を右 ク リ ッ ク し 、 [End Process] ま た は [Set Priority] を選択 し ます (下図を参照)。 464 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SpClient リ モー ト ア ク セスユーテ ィ リ テ ィ の使用 サポー ト し ている プ ラ ッ ト フ ォ ーム : Windows の場合 Windows シ ス テ ム では、 他の リ モー ト ア ク セ ス プ ロ グ ラ ム (た と えば Terminal Server) の代わ り に SpClient ユーテ ィ リ テ ィ を使用す る こ と で、 1 つの中央マ シ ン か ら 複製シ ス テ ムに ロ グオ ン し 、 次の SharePlex 機能を行 う こ と がで き ま す。 • • • • • SharePlex サービ ス の制御 OraCleanSp を実行 し ます。 OraSetup を実行 し ます。 SplexAddKey を実行 し ます。 特別な Task Manager を正 し い権限で実行 し 、 SharePlex プ ロ セ ス を kill し 、 優先順位を変更 し ます。 • Sp_Nt_Mon 監視ユーテ ィ リ テ ィ を ア ク テ ィ ベー ト し 、 設定 し ます。 SpClient は SharePlex の イ ン ス ト ール時に自動的に イ ン ス ト ール さ れ ます。 ま たは、 複製に使用 さ れていないマシ ン上に ス タ ン ド ア ロ ン プ ロ グ ラ ム と し て イ ン ス ト ールす る こ と も で き ます。 SpClient はいかな る Windows マシ ン上で も 動 作 し ます。 SpClient には 2 つの コ ン ポーネ ン ト があ り ます。 • sp_remote エージ ェ ン ト は、 SharePlex が動作 し てい る マシ ン上のバ ッ ク グ ラ ン ド でサービ ス と し て実行 さ れ ます。 シ ス テ ムの起動時に開始 し ます。 • sp_client プ ロ セ ス はユーザー イ ン タ ーフ ェ イ ス で、 SharePlex イ ン ス ト ール さ れ る か否か を問わず、 ど のマシ ン か ら で も 実行す る こ と がで き ます。 章 12 SharePlex ユー テ ィ リ テ ィ 465 SpClient ツールバー 図 24SharePlex ツールバーボ タ ン の図解 こ れ ら のボ タ ンはシ ス テ ム に ロ グオ ン す る ま で無効にな っ てい ます。 他のボ タ ンは、 標準 Windows ボ タ ン です。 図 24:SpClient イ ン タ ー フ ェ イ ス SpClient ボ タ ン を図 24 の左か ら 右の順で説明 し ます。 [Remote logon] - リ モー ト 複製マシ ンへ接続 し ます。 [Local logon] - ロ ーカルマシ ンへ接続 し ます。 [Logoff] ― 現行の SpClient セ ッ シ ョ ン を終了 し ます。 [SpServices ] - SharePlex サービ ス を イ ン ス ト ール、 削除、 開始、 停止 し ま す。 SharePlex サービ ス の制御についての詳細は、 『第 3 章』 を参照 し て く だ さ い。 [OraCleanSp] - OraCleanSp を実行 し 、 複製を初期状態に回復 し ます。 OraCleanSp の実行についての詳細は、 448 ページ を参照 し て く だ さ い。 [SpOraSetup] - SharePlex Oracle ユーザーの作成、 変更、 ま た SharePlex 複製 のため イ ン ス タ ン ス を セ ッ ト ア ッ プ し ます。 OraSetup の実行についての詳細 は、 417 ページ . を参照 し て く だ さ い。 [SpAddKey] - SharePlex ラ イ セ ン ス キーを マシ ンに追加 し 、 マシ ン の ID 番 号を取得 し ます。 [SpTaskMngr ] - SharePlex で フ ィ ル タ ー さ れたバージ ョ ンの Windows Task Manager を開 き 、 SharePlex プ ロ セ ス を終了 し た り 、 プ ロ セ ス の優先順位を設定 し た り し ます。 詳細は、 470 ページの手順を参照 し て く だ さ い。 466 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 [SpMonitor] - Sp_Nt_Mon 監視ス ク リ プ ト を設定 し 、 実行 し ます。 Sp_Nt_Mon を使用 し て複製を監視す る 方法の詳細は、 「Windows シ ス テ ム上で の SharePlex の監視」 (362 ページ) を参照 し て く だ さ い。 SpClient メ ニ ュ ー SpClient には [File]、 [Edit]、 [View]、 [Help] な ど、 標準の Windows メ ニ ュ ーがあ り ます。 さ ら に、 [Access] お よ び [Select] メ ニ ュ ーで ツールボ タ ン と 同 じ タ ス ク を実行で き ます。 メ ニ ュ ー と ツールバーの ど ち ら を使用す る かは、 ユーザーの個人的な好み次第です。 SpClient 出力ウ ィ ン ド ウ SpClient は次の例に示 さ れ る と お り 、 実行 さ れ る すべてのア ク シ ョ ン を画面に 出力 し ます。 SpClient 出力は、 Event Log に記述 さ れません。 セ ッ シ ョ ン の レ コ ー ド を保存 す る には、 標準の Windows コ マ ン ド であ る [File] メ ニ ュ ーか ら [Print] と [Save] コ マ ン ド を使用 し て、 出力を印刷、 ま たはテ キ ス ト フ ァ イ ルに保存す る こ と がで き ます。 SpClient の実行 Windows の標準の方法で SpClient を起動 し ます。 章 12 SharePlex ユー テ ィ リ テ ィ 467 • [ ス タ ー ト ] メ ニ ュ ーか ら SharePlex の [ プ ログ ラ ム] フ ォ ルダにあ る [SpClient] シ ョ ー ト カ ッ ト を選択 し ます。 ま たは • Windows エ ク ス プ ロ ー ラ を使用 し て、 SharePlex 製品デ ィ レ ク ト リ の bin サ ブデ ィ レ ク ト リ に移動 し ます。 [SpClient ] プ ロ グ ラ ム を ダブル ク リ ッ ク し ます。 SpClient と の接続 SpClient を実行す る と 、 表示領域 と 、 Windows メ ニ ュ ーバーお よ びツールバー を持つ、 空白の ク ラ イ ア ン ト ウ ィ ン ド ウ が表示 さ れ ます。 SpClient を使用 し 始 め る には、 適応 さ れ る SharePlex イ ン ス タ ン ス に よ っ て リ モー ト シ ス テ ム ま た は ロ ーカルシ ス テ ムへ ロ グオ ン し ます。 ロー カルシ ス テムにロ グオ ンする には 1 ツールバーで [Local Logon] ボ タ ン を ク リ ッ ク し ます。 [Local Logon] ボタ ン SpClient は ロ ーカルマシ ンの ロ グオ ン情報を リ ク エ ス ト し ません。 Windows へ ロ グオ ン し た と き に供給 さ れた ロ グオ ン を使用 し ます。 出力 ウ ィ ン ド ウ で ロ グオ ン を検証 し ます。 ロ グオ ン が検証 さ れた ら 、 ツールバーにあ る 他 の SpClient ボ タ ンがア ク テ ィ ブにな り ます (グ レーでな く 、 色つ き で表示 さ れ ます)。 468 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 リ モー ト シ ス テムにログオ ンするには 1 ツールバーで [Remote Logon] ボ タ ン を ク リ ッ ク し ます。 . [Remote Logon] ボタ ン [Remote Access] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 2 [Remote Access] ダ イ ア ロ グ ボ ッ ク ス で次の情報を入力 し ます。 • [User Name] フ ィ ール ド に有効な Windows ロ グオ ン名を入力 し ます。 こ のユーザーは リ モー ト マシ ン で SharePlex Admin グループの メ ンバでな ければな り ません。 こ れはシ ス テ ム 管理者やその他すべてのユーザーに も 適応 し ます。 • [Password] フ ィ ール ド に、 そのユーザーのパ ス ワー ド を入力 し ます。 • [Machine Name] フ ィ ール ド に、 接続す る 複製シ ス テ ム の名前を入力 し ま す。 接続が成功す る には、 そのシ ス テ ムに sp_remote ク ラ イ ア ン ト が イ ン ス ト ール さ れ る 必要があ り ます。 • [Port Number] フ ィ ール ド には、 そのマシ ン上の SpClient のポー ト 番号を 入力 し ます。 SharePlex のポー ト 番号を入力 し ないで く だ さ い。 SpClient 章 12 SharePlex ユー テ ィ リ テ ィ 469 のデフ ォ ル ト ポー ト 番号 (2101) を使用す る か、 そのマシ ン で SpClient が イ ン ス ト ール さ れた別のポー ト 番号を入力 し ます。 3 [Connect] を ク リ ッ ク す る こ と で、 接続を開始 し ます。 SpClient は接続の ス テー タ ス を [Remote Access] ダ イ ア ロ グ ボ ッ ク ス の下部に表示 し ます。 4 [Done] を ク リ ッ ク し て、 ダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 ツールバーにあ る 他の SpClient ボ タ ン がア ク テ ィ ブにな り ます (グ レーでな く 、 色つ き で 表示 さ れ ます)。 ロ グオ フ する には ロ ーカルシ ス テ ム ま たは リ モー ト シ ス テ ム か ら ロ グオ フす る には、 ツールバー の [Logoff] ボ タ ン を ク リ ッ ク し ます。 SpClient は接続を終了 し ますが、 SpClient イ ン タ ーフ ェ イ ス は別シ ス テ ムに ロ グオ ン で き る よ う にア ク テ ィ ブの 状態で維持 さ れ ます。 [Logoff] ボタ ン 470 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SpClient Task Manager の実行 SpClient Task Manager は Windows Task Manager の フ ィ ル タ さ れた ビ ュ ーを提供 し 、 接続 さ れたマシ ン上の SharePlex のプ ロ セ ス のみを表示 し ます。 表示は継 続的に更新 さ れ ます。 1 ツールバーの [SpTaskMngr] ボ タ ン を ク リ ッ ク し ます。 [SpTaskMngr] ボタ ン [SpClient Task Manager] ウ ィ ン ド ウ が表示 さ れ、 リ ス ト ボ ッ ク ス で指定 さ れたポー ト 番号に対す る すべての SharePlex プ ロ セ ス を表示 し ます。 他の 章 12 SharePlex ユー テ ィ リ テ ィ 471 SharePlex ポー ト 番号のプ ロ セ ス を表示す る には、 リ ス ト ボ ッ ク ス のポー ト 番号を選択 し ます。 472 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 2 [オプ シ ョ ン] SharePlex プ ロ セ ス を kill す る には、 プ ロ セ ス名を右 ク リ ッ ク し 、 [End Process] を選択 し ます。 3 [オプ シ ョ ン] SharePlex プ ロ セ ス の優先順位を変更す る には、 プ ロ セ ス名を 右 ク リ ッ ク し 、 [Set Priority] を選択 し てか ら 優先順位を選択 し ます。 4 [Exit] を ク リ ッ ク す る と 、 Task Manager を終了 し SpClient イ ン タ ーフ ェ イ ス に戻 り ます。 用語集 active-active レ プ リ ケーシ ョ ン ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン を参照 し て く だ さ い。 ALTER TABLE テーブルの構造、 ス ト レージの特徴、 ま たはその他のパ ラ メ ー タ を 変更す る DDL コ マ ン ド 。 SharePlex で複製 さ れ る ALTER TABLE コ マ ン ド も い く つかあ り ます。 アー カ イ ブ ロ グ Oracle イ ン ス タ ン ス に対 し て作成 さ れたすべての ト ラ ンザ ク シ ョ ン の永久レ コ ー ド 。 双方向 レ プ リ ケーシ ョ ン 災害時か ら の回復お よ びピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン で使用 さ れ る 、 ソ ース か ら タ ーゲ ッ ト へ、 次に タ ーゲ ッ ト か ら ソ ースへの、 両 方向で行われ る 複製。 BLOB 「Binary Large Object」 の頭字語。 こ れは組み込みの Oracle デー タ 型 であ り 、 デー タ ベース内に格納 さ れ る 最大 4 GB の構造化 さ れてい ない (デー タ ベース で編成 さ れていない) バ イ ナ リ デー タ です。 BLOB の例 と し て、 写真、 ビデオ ク リ ッ プ、 サ ウ ン ド フ ァ イ ル、 独 自仕様の形式のその他の フ ァ イ ルな ど があ り ます。 非同期 レ プ リ ケーシ ョ ン ソ ースお よ び タ ーゲ ッ ト の イ ン ス タ ン ス と ネ ッ ト ワー ク が常にア ク セ ス可能であ る 必要がない複製。 その代わ り 、 タ ーゲ ッ ト シ ス テ ム ま たは タ ーゲ ッ ト イ ン ス タ ン ス がダ ウ ン し た場合で も ソ ース での活 動を続行で き 、 ト ラ ンザ ク シ ョ ンはキ ュ ーへ付け ら れ ます。 capture queue SharePlex が Oracle redo ロ グか ら 複製のために コ ピーす る 、 生の Oracle デー タ のための一時的なデー タ リ ポジ ト リ 。 Capture プ ロ セ ス 主要な SharePlex プ ロ セ ス の 1 つ。 ソ ース シ ス テ ム上にあ り 、 Oracle redo ロ グか ら ソ ースデー タ を コ ピー し て capture queue へ入れ ます。 474 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 カ スケー ド 削除 デー タ に対す る 制約の設定であ り 、 DELETE 操作がプ ラ イ マ リ キー 列に実行 さ れた と き に、 従属テーブルの関連す る 外部キーを含む行 に対 し て自動的に DELETE 操作が開始 さ れます。 カ スケー ド レ プ リ ケーシ ョ ン 重層的な複製戦略であ り 、 ソ ース シ ス テ ムへネ ッ ト ワー ク で接続 さ れていない リ モー ト の タ ーゲ ッ ト シ ス テ ムへ複製デー タ を渡すため の中間的な タ ーゲ ッ ト シ ス テ ム を使用 し ます。 行連鎖 複数のデー タ ベース ブ ロ ッ ク に格納 さ れ、 し たが っ てい く つかの行 の断片か ら な る テーブル内の 1 行。 こ の よ う な行はシ ス テ ムのパ フ ォーマ ン ス と SharePlex の複製速度に悪い影響を与え ます。 チ ェ ッ クポイ ン ト リ カバ リ シス テム パケ ッ ト の受信を肯定応答 し てそのシーケ ン ス を監視す る こ と で安 全で非同期的なデー タ 転送を促進す る 、 SharePlex に使用 さ れ る プ ロ セ ス。 こ のプ ロ セ ス に よ り 、 SharePlex は欠損要素を識別 し 、 再転送 を要求で き る よ う にな り ます。 チ ェ ッ ク 制約 デー タ が 0 以上な ど の一定の条件を満たす値であ る こ と を確認す る 制約。 CLOB 「Character Large Object」 の頭字語。 こ れは組み込みの Oracle デー タ 型であ り 、 デー タ ベース内に格納 さ れ る 最大 4 GB の固定長ま たは 可変長のキ ャ ラ ク タ デー タ です。 CLOB の例 と し て、 構造化 さ れて いない XML ド キ ュ メ ン ト ま たは ASCII テ キ ス ト フ ァ イ ルがあ り ま す。 コ ール ド バ ッ ク アップ デー タ ベース がシ ャ ッ ト ダ ウ ン さ れた後に作成 さ れたデー タ ベース の物理的なバ ッ ク ア ッ プ。 列 デー タ ベース レ コ ー ド 内の 1 フ ィ ール ド 。 COMMIT 一連の変更を永続的な も のにす る Oracle SQL コ マ ン ド 。 設定 複製す る オブジ ェ ク ト 、 お よ び複製デー タ を送信す る タ ーゲ ッ ト シ ス テ ム を SharePlex に伝え る 仕様が含ま れた フ ァ イ ル。 conflict resolution ソ ース シ ス テ ム か ら のデー タ のプ リ イ メ ージが タ ーゲ ッ ト シ ス テ ム の ロ ーカルデー タ と 一致 し ない と き に と る べ き ア ク シ ョ ン を Post プ ロ セ ス に知 ら せ る ための、 ユーザー定義の指示。 競合 (conflict) は、 さ ま ざ ま なユーザーが異な る シ ス テ ム上の同 じ デー タ を変更で き る よ う な ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン環境で し ば し ば発生 し ま す。 章 13 用語集 475 集約 レ プ リ ケー ション 集中化レ ポー ト 用 イ ン ス タ ン ス を提供す る ために複数のマシ ン か ら さ ま ざ ま なデー タ を単一マシ ンへ複製す る こ と 。 制約 (統合 さ れ た制約) Oracle デー タ ベース内のデー タ の一部に課 し た、 値ま たは使用法の 制限。 デー タ ベース デー タ フ ァ イ ル と それを取 り 扱 う ソ フ ト ウ ェ アの集合。 デー タ ソ ース SharePlex for Oracle に よ っ て複製 さ れ る オブジ ェ ク ト が含ま れた Oracle イ ン ス タ ン ス を表す SharePlex 用語。 こ れは、 Quest の SharePlex FS ソ フ ト ウ ェ ア内での UNIX フ ァ イ ルシ ス テ ム を表す用 語で も あ り ます。 デー タ 型 日付、 数値、 キ ャ ラ ク タ な ど、 Oracle に よ っ て格納お よ び操作 さ れ る デー タ の種類の中の 1 つ。 デー タ 定義言語 テーブルの作成時や変更時な ど にデー タ ベース内のデー タ を定義す る のに使用 さ れ る SQL 言語。 SharePlex に よ り 、 い く つかの DDL が 複製 さ れ ます。 デー タ デ ィ ク シ ョナリ デー タ ベース についての情報を提供す る 読み取 り 専用のテーブル セ ッ ト 。 デー タ デ ィ ク シ ョ ナ リ には ス キーマ、 ス ト レージ、 列のデ フ ォ ル ト 、 統合制約、 ユーザー情報、 権限な ど の情報が含まれ る の で、 こ れがデー タ ベース操作の中心にな り ます。 デー タ デ ィ ク シ ョ ナ リ は、 SYSTEM テーブル領域に格納 さ れ ます。 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン 遠隔地の事業所へデー タ を送信す る プ ロ セ ス。 デー タ 操作言語 デー タ ベース内でデー タ を挿入、 更新、 削除す る のに使用 さ れ る SQL 言語。 SharePlex に よ り 、 すべての DML が複製 さ れます。 デー タ ウ ェ アハ ウス 現在の、 お よ びアーカ イ ブ化 さ れたデー タ を取 り 込む企業全体規模 のデー タ ス ト レージ。 デー タ マー ト 個々の部門ま たはユーザーのグループでの使用を意図 し た、 1 組織 のデー タ サブセ ッ ト のみを格納す る ためのデー タ ウ ェ アハ ウ ス の代 替物。 DDL デー タ 定義言語 を参照 し て く だ さ い。 デス テ ィ ネー シ ョ ン デー タ 「 タ ーゲ ッ ト デー タ 」 の同義語 と し て使用 さ れ る こ と があ り ます。 こ れは、 SharePlex が タ ーゲ ッ ト シ ス テ ム上の タ ーゲ ッ ト イ ン ス タ ン ス 内に維持す る 、 ソ ースデー タ の コ ピーです。 476 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 デス テ ィ ネー シ ョ ン シ ス テム 「 タ ーゲ ッ ト シ ス テ ム」 の同義語 と し て使用 さ れ る こ と があ り ます。 こ れは、 SharePlex に よ っ て複製デー タ が書 き 出 さ れ る 先のオブジ ェ ク ト を含むシ ス テ ム です。 ダ イ レ ク ト パス によ る ロー ド INSERT 文を使用す る 代わ り に、 あ ら か じ め フ ォ ーマ ッ ト さ れたブ ロ ッ ク と し て、 デー タ ベースへ直接 ロ ー ド さ れたデー タ 。 災害復旧 火災や地震な ど の予想で き ない機能停止に よ り プ ラ イ マ リ コ ン ピ ュ ー タ と 関連す る ハー ド ウ ェ アや ソ フ ト ウ ェ アが使用で き な く な っ た後 も 、 コ ン ピ ュ ー タ の運用を続行で き る 能力。 DML デー タ 操作言語を参照 し て く だ さ い。 ダウ ン タ イ ム 計画ま たは計画外の、 コ ン ピ ュ ー タ が使用不能な時間。 ERP Enterprise Resource Planning ソ フ ト ウ ェ アの略。 組織全体のデー タ の 一貫性を管理す る 互いに作用 し 合 う ビ ジネ ス アプ リ ケーシ ョ ンのグ ループで、 Oracle Applications な ど があ り ます。 イベン ト プ ロ セ ス の起動、 コ マ ン ド の実行、 接続の確立な ど、 SharePlex プ ロ セ ス内の単一の出来事。 Event Log プ ロ セ ス の activation ま たは コ マ ン ド の発行な ど、 すべての複製 イ ベ ン ト を記録す る SharePlex に維持 さ れ る ロ グで、 主 と し て問題解決に 使用 さ れ ます。 export/import テーブル間のデー タ の コ ピーで Oracle に使用 さ れ る プ ロ セ ス。 export queue SharePlex に作成 さ れ る 一時的なデー タ リ ポジ ト リ で、 ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムへ転送 さ れ る ために準備が整っ たデー タ を保持 し ます。 Export プ ロ セ ス 主要な SharePlex プ ロ セ ス の 1 つ。 ソ ース シ ス テ ム上にあ り 、 ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムへ、 TCP/IP ネ ッ ト ワ ー ク 経由で複 製 さ れたデー タ を送信 し ます。 フ ォル ト ト レ ラ ンス デー タ への悪影響ま たは統合の処理な し に割 り 込みを処理で き る 、 プ ロ セ ス の能力。 フ ァ イ ル転送プ ロ ト コル あ る シ ス テ ム か ら 別のシ ス テ ムへデー タ を コ ピーや移動す る 方法。 章 13 用語集 477 外部キー 別の参照テーブル内に格納 さ れてい る プ ラ イ マ リ キー。 テーブル間 の関係を確立 し 、 ユーザーが両方のテーブル内の情報を素早 く 効率 的に利用で き る よ う に し ます。 FTP フ ァ イ ル転送プ ロ ト コ ルを参照 し て く だ さ い。 高可用性 計画 さ れた コ ン ピ ュ ー タ メ ン テナン ス のための 「ダ ウ ン」 の要件に かかわ ら ず、 通常の操作を続行で き る 能力。 ホス ト 個々の コ ン ピ ュ ー タ シ ス テ ム を表す も う 1 つの用語。 水平分割 レ プ リ ケーシ ョ ン 選択的な行の複製 と し て も 知 ら れ る SharePlex の こ の機能に よ り 、 設 定を ア ク テ ィ ベー ト す る 前に定義 し た カ ラ ム コ ンデ ィ シ ョ ンに基づ き 、 選択 し たテーブル行を複製で き る よ う にな り ます。 ホッ トバッ ク アップ デー タ ベース が開いていて ARCHIVELOG モー ド の間に行われ る 、 デー タ ベース の物理的なバ ッ ク ア ッ プ。 ホ ッ ト ス タ ンバ イ 緊急時ま たは計画 し たダ ウ ン タ イ ム時に本稼動デー タ ベース の代理 と な る 準備がで き てい る 、 代替のオ ン ラ イ ンデー タ ベース。 Import プ ロ セ ス 主要な SharePlex プ ロ セ ス の 1 つ。 タ ーゲ ッ ト シ ス テ ム上にあ り 、 ソ ース シ ス テ ム か ら の複製デー タ を受け取 り 、 後のデ ィ ス ク への書 き 出 し 用に post queue に入れ ます。 イ ンデ ッ ク ス 各キーを編成 し て参照す る こ と でテーブルデー タ に よ り 速 く ア ク セ ス で き る よ う にす る ために、 テーブル用に作成 さ れてい ます。 イ ン デ ッ ク ス がない と 、 Oracle お よ び SharePlex はテーブル全体を ス キ ャ ンす る 必要があ り ます。 イ ンデ ッ ク ス の追加で、 複製の処理が高速 化 し ます。 インス タ ンス デー タ フ ァ イ ル、 接続情報、 共有 メ モ リ 領域 と その独自の名前、 番 号、 お よ びパ ラ メ ー タ を備え た、 Oracle デー タ ベース の 1 つの形態。 Oracle の 1 イ ン ス ト ールを使用 し て、 1 台の コ ン ピ ュ ー タ で複数の イ ン ス タ ン ス を実行で き ます。 キー定義 テーブルに一意の、 ま たはプ ラ イ マ リ キーがない場合、 SharePlex に よ り 、 キー と し て使用 さ れ る 1 つ以上の列を指定で き る よ う にな り ます。 キー定義は、 設定フ ァ イ ル内に指定 さ れ ます。 478 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 遅延 ソ ースデー タ が変更 さ れた時点 と タ ーゲ ッ ト デー タ がその変更を反 映 し た時点 と の時間差。 SharePlex では、 commit が発行 さ れ る のを 待機す る 代わ り に連続 し て変更を複製す る ため、 遅延が最小限に抑 え ら れ ます。 ロー ド バラ ンス 複数の コ ン ピ ュ ー タ 間での処理の分散。 LOB 「Large Object」 の Oracle の頭字語。 LOB は、 デー タ ベース に格納 さ れ る 最大 4 GB の、 巨大グ ラ フ ィ ッ ク フ ァ イ ル、 書式設定 さ れたテ キ ス ト フ ァ イ ル、 オーデ ィ オ、 ビデオ、 お よ びその他の構造化 さ れ ていないデー タ の可能性があ り ます。 SharePlex では、 BLOB お よ び CLOB 大規模オブジ ェ ク ト を複製 し ます。 (BLOB お よ び CLOB を参 照。) ロ グベースの複 製 SharePlex に使用 さ れ る 複製の一種で、 ト リ ガの代わ り にオ ン ラ イ ン redo ロ グ を読み込みます。 ログラ ッ プ イ ン ス タ ン ス に割 り 当て ら れた最後の ロ グが一杯にな っ た後に最初 の Oracle redo ロ グに上書 き す る こ と 。 こ れは、 SharePlex 複製の暗黙 の了解事項です。 LONG 列 大 き なデー タ 片用に確保 さ れたテーブル内の列。 LONG 列は SharePlex に複製 さ れますが、 LONG 列を含むテーブルを よ り 速 く 処 理す る ためには、 プ ラ イ マ リ キーが必要です。 マ ス タ ーデー タ ベース オブジ ェ ク ト の完全 コ ピーを含むデー タ ベース で、 複製の階層内の ほかの ど のデー タ ベース か ら も 独立 し てい ます。 「実稼動」 ま たは 「 ソ ース」 デー タ ベース と も 呼ばれ ます。 メ ッ セージ メ ッ セージは、 Capture か ら 順番にほかの複製プ ロ セ スへ送信 さ れ る 情報のパケ ッ ト です。 メ ッ セージは、 SQL 操作ま たは SharePlex 内 部操作を反映す る こ と があ り ますが、 ほ と ん ど の場合、 INSERT、 UPDATE、 DELETE、 COMMIT、 TRUNCATE ま たはサポー ト さ れた DDL 操作を含みます。 メ ッ セージにはサ イ ズの制限があ る ため、 LONG ま たは LOB 列に対す る よ う な大規模な操作は、 複数の メ ッ セージに広が る 可能性があ り ます。 小 さ な レ コ ー ド の配列の INSERT な ど、 ほかの操作には逆効果があ り ます。 膨大な数の操作 に対 し て 1 つの レ コ ー ド し かない可能性があ る ためです。 一般的に、 LONG と BLOB に対す る 多数の変更を複製す る 場合は、 「プ ロ セ ス ま たはキ ュ ーの ス テー タ ス表示に表示 さ れ る メ ッ セージ数はおお よ そ SQL 操作の数に相当す る 」 と 想定で き ます。 章 13 用語集 479 named queue SharePlex に作成 さ れ る デフ ォ ル ト のキ ュ ー以外の SharePlex キ ュ ー。 設定フ ァ イ ル内でユーザーが定義 し た と き に、 named queue が作成 さ れます。 オブジ ェ ク ト Oracle デー タ ベース内のテーブル、 シーケ ン ス ま たはほかのエ ン ティティ。 object cache SharePlex に維持 さ れ る 内部テーブル。 オブジ ェ ク ト ID を オブジ ェ ク ト 名にマ ッ ピ ン グ し 、 各オブジ ェ ク ト 内に名前、 列のサ イ ズ と デー タ 型を含むすべてのオブジ ェ ク ト の ス ナ ッ プシ ョ ッ ト を、 制約 に沿っ て作成 し ます。 OLTP オ ン ラ イ ン ト ラ ンザ ク シ ョ ン処理の略で、 通常は強力なデー タ 処理 環境の こ と です。 ORACLE_SID Oracle イ ン ス タ ン ス のシ ス テ ム (サーバー) 識別名ま たは番号。 ORACLE_HOME Oracle ソ フ ト ウ ェ アが実行 さ れ る 、 ソ フ ト ウ ェ ア フ ァ イ ルの位置 も 含めた環境。 ora_setup SharePlex と 共に提供 さ れ る プ ロ グ ラ ム で、 イ ン ス ト ール中に Oracle ユーザー と し て SharePlex を設定 し ます。 パーテ ィ シ ョ ン 化レ プ リ ケー ション 行や列の選択的な複製。 水平分割レ プ リ ケーシ ョ ンお よ び垂直分割 レ プ リ ケーシ ョ ン を参照 し て く だ さ い。 ピア ト ゥ ピアレ プ リ ケーシ ョ ン 複製の方針であ り 、 ソ ースお よ び 1 つ以上の タ ーゲ ッ ト シ ス テ ムの すべてのユーザーが、 SharePlex が複製 し てい る 間に、 conflict resolution ルーチン を使用 し て重複を ど の よ う に処理す る か を決定 し なが ら 同 じ デー タ を並行 し て変更 し ます。 こ の方針は、 「activeactive」、 「master-to-master」、 ま たは 「multi-master」 レ プ リ ケーシ ョ ン と し て も 知 ら れてい ます。 posting 複製 さ れたデー タ を タ ーゲ ッ ト シ ス テ ム上のデ ィ ス ク へ書 き 込むプ ロ セ ス を表す SharePlex 用語。 post queue タ ーゲ ッ ト シ ス テ ム の Import プ ロ セ ス か ら 複製 さ れたデー タ を受け 取 り 、 Post プ ロ セ ス がそれをデ ィ ス ク へ書 き 出すま で保持す る 一時 的なデー タ リ ポジ ト リ 。 Post プ ロ セ ス 主要な SharePlex プ ロ セ ス の 1 つ。 タ ーゲ ッ ト シ ス テ ム上にあ り 、 ソ ースデー タ と タ ーゲ ッ ト デー タ が一致す る よ う に し て変更を タ ー ゲ ッ ト イ ン ス タ ン ス に書 き 込む こ と の責任を負い ます。 480 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 プ リ イ メ ージ 現在のブ ロ ッ ク が変更 さ れ る 前の、 最新の ソ ースデー タ 値の ス ナ ッ プシ ョ ッ ト 。 タ ーゲ ッ ト イ ン ス タ ン ス に変更を適用す る 前に、 Post プ ロ セ ス に よ り 、 タ ーゲ ッ ト デー タ と プ リ イ メ ージが比較 さ れて値 が同 じ であ る こ と が確認 さ れます。 値が異な る 場合は、 デー タ が非 同期にな っ てい る こ と を示 し ます。 プ ラ イ マ リ キー / 一意キー テーブル内の各行を一意に識別す る 値 (顧客 ID 番号な ど) を含む列 ま たは列のセ ッ ト 。 プ ラ イ マ リ キーを テーブルに使用す る と 、 SharePlex の複製の速度が向上 し ます。 ps -ef | grep UNIX フ ァ イ ルシ ス テ ム か ら 選択 し た情報を選び出すために使用す る UNIX コ マ ン ド 。 クエリ デー タ ベース にあ る 情報の要求。 キュー SharePlex に よ っ て作成 さ れ る 一時的なデー タ リ ポジ ト リ であ り 、 ソ ース シ ス テ ム か ら タ ーゲ ッ ト シ ス テ ムへのルー ト に沿っ て渡 さ れ る と き に、 複製デー タ が格納 さ れ ます。 キ ュ ーには、 ソ ース シ ス テ ム上の capture お よ び export queue と 、 タ ーゲ ッ ト シ ス テ ム上の post queue の 3 つがあ り ます。 ロ ーデバ イ ス オペレーテ ィ ン グ シ ス テ ム、 アプ リ ケーシ ョ ン ソ フ ト ウ ェ ア、 ま た はフ ォーマ ッ ト 設定に欠けてい る シ ス テ ム上の ス ト レージユニ ッ ト で、 ロ ーデー タ を格納す る ためにのみ使用 さ れ ます。 Read プ ロ セ ス 主要な SharePlex プ ロ セ ス の 1 つ。 ソ ース シ ス テ ム上にあ り 、 capture queue か ら 複製デー タ を取 り 出 し 、 タ ーゲ ッ ト シ ス テ ムへ export す る 準備を行い ます。 redo ロ グ Oracle に維持 さ れ る 一時的な ロ グ フ ァ イ ルで、 回復で使用で き る よ う に各ユーザー ト ラ ンザ ク シ ョ ン を記録 し 、 指定 さ れた場合は定期 的にアーカ イ ブ ロ グへ書 き 出 さ れ ます。 SharePlex は、 設定で指定 さ れたデー タ を複製す る ために こ の redo ロ グ を読み込みます。 参照整合性 別の列内の値に従属す る あ る 列の値を保証す る プ ロ パテ ィ 。 複製 バ ッ ク ア ッ プ、 レ ポー ト 作成、 その他の目的で、 ソ ース マシ ンか ら タ ーゲ ッ ト マシ ンへデー タ を コ ピーす る プ ロ セ ス。 SharePlex は、 複 製 ソ フ ト ウ ェ アの一種です。 ROLLBACK 直前の COMMIT 文以後にデー タ ベースへ行われたすべての変更を 元に戻す SQL 文。 章 13 用語集 481 ロ ールバ ッ ク セ グメン ト 失われた情報を再構築す る ためにデー タ リ カバ リ プ ロ セ ス内で使用 さ れ る 内部的な Oracle 安全デバ イ ス。 SharePlex では、 こ の ロ ール バ ッ ク セ グ メ ン ト を使用 し て現在のすべての ト ラ ンザ ク シ ョ ン の ス ナ ッ プシ ョ ッ ト を維持 し ます。 ルーテ ィ ン グ マップ 複製 さ れたデー タ を送信す る 場所を SharePlex に伝え る 、 設定内の情 報。 ルーテ ィ ン グマ ッ プの基本 コ ン ポーネ ン ト は、 タ ーゲ ッ ト マシ ン の名前 と タ ーゲ ッ ト イ ン ス タ ン ス の ORACLE_SID です。 行 1 デー タ ベース レ コ ー ド 内の全フ ィ ール ド 。 Row ID マ ッ プ テーブル内の連鎖行を追跡す る ために SharePlex が維持す る 内部テー ブル。 SELECT デー タ ベース か ら 情報を取得す る ための Oracle SQL コ マ ン ド 。 sequence 番号順の リ ス ト を提供す る Oracle 関数。 SharePlex FS UNIX フ ァ イ ルシ ス テ ム を複製す る Quest の ソ フ ト ウ ェ ア。 災害時の 回復戦略で使用 さ れ る よ う に、 Oracle イ ン ス タ ン ス の外側で フ ァ イ ルを複製で き る よ う に し ます。 ソ ースデー タ 複製元の、 つま り マ ス タ ーデー タ 。 ソ ース シ ス テム 複製元の ( ソ ース) デー タ があ る マシ ン。 sp_cnc SharePlex の 「 コ マ ン ド お よ び制御」 プ ロ グ ラ ム。 こ れは、 ユーザー の コ マ ン ド を実行す る プ ロ セ ス です。 sp_cop SharePlex のマ ス タ ー制御プ ロ グ ラ ム。 ソ ースお よ び タ ーゲ ッ ト の両 方のマシ ン でバ ッ ク グ ラ ウ ン ド で実行 さ れ、 複製のプ ロ セ ス を確立 お よ び調整 し ます。 sp_ctrl SharePlex の コ マ ン ド ラ イ ン イ ン タ ーフ ェ イ ス プ ロ グ ラ ム。 こ のプ ロ グ ラ ム経由でユーザーは コ マ ン ド を発行 し 、 複製を監視お よ び制御 し ます。 SQL 構造化問い合わせ ( ク エ リ ) 言語の略。 ほ と ん ど のデー タ ベース環 境におけ る デー タ ア ク セ ス の標準であ り 、 複製プ ロ セ ス で SharePlex に使用 さ れ る 言語。 SQL*Net Oracle デー タ ベースへのネ ッ ト ワー ク 内のシ ス テ ムへ接続す る 、 通 信 ソ フ ト ウ ェ アの一種。 482 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 SQL 文 ユーザーが実行す る こ と を Oracle へ正確に伝え る ための、 1 つ以上 の SQL コ マ ン ド と 修飾の句。 Status Database キーを複製す る イ ベン ト で SharePlex に提供 さ れ る レ コ ー ド 。 主 と し て、 監視お よ び問題解決のプ ロ セ ス で使用 さ れ ます。 ス ト ア ド プロ シージ ャ デー タ 操作のために確立 さ れたルール と アプ リ ケーシ ョ ン ロ ジ ッ ク 。 ク ラ イ ア ン ト マシ ン上のアプ リ ケーシ ョ ン の代わ り にデー タ ベース 内にあ る SQL のグループお よ び PS/SQL コ ー ド と し て維持 さ れま す。 こ れで Oracle 処理の速度が向上 し 、 ほかのユーザーお よ びアプ リ ケーシ ョ ンが こ の コ ー ド を繰 り 返 し 使用で き る よ う にな り ます。 同期 タ ーゲ ッ ト デー タ が ソ ースデー タ と 同一であ る と マー ク す る プ ロ セ ス。 SharePlex の複製では、 バ ッ ク ア ッ プ、 回復、 レ ポー ト やその他 の目的の代替 イ ン ス タ ン ス を提供す る ために、 ソ ース と すべての タ ーゲ ッ ト シ ス テ ム間の同期を保ち ます。 テーブル 行 と 列のセ ッ ト を使用 し てデー タ を構造化す る 方法。 テーブル領域 Oracle デー タ ベース内で定義済みのテーブルグループに割 り 当て ら れ る ス ト レージ領域。 タ ーゲ ッ ト デー タ SharePlex が タ ーゲ ッ ト シ ス テ ム上の タ ーゲ ッ ト イ ン ス タ ン ス内に維 持す る 、 ソ ースデー タ の コ ピー。 タ ーゲ ッ ト シ ス テム 元の ( ソ ース) デー タ が レ ポー ト 、 回復やその他の目的で複製 さ れ る 先のシ ス テ ム。 TCP/IP SharePlex に使用 さ れ る ネ ッ ト ワ ー ク 通信プ ロ ト コ ル。 テキス ト エデ ィ タ プ ロ グ ラ ミ ン グ文 (命令) の入力やテ キ ス ト 入力を フ ァ イ ル内で処 理す る プ ロ グ ラ ム。 ト ラ ンスフ ォー メ ーシ ョ ン こ の SharePlex 機能で、 ユーザー定義の PL/SQL プ ロ シージ ャ を使用 し 、 複製 さ れたデー タ を post す る 代わ り に操作 し ます。 プ ロ シー ジ ャ でデー タ が処理 さ れ、 結果のデー タ が post さ れ る 時点が制御 さ れます。 ト リガ レ コ ー ド の更新な ど の イ ベン ト が発生す る と き にア ク シ ョ ン を開始 さ せ る Oracle イ ン ス タ ン ス内のプ ロ グ ラ ム。 章 13 用語集 483 TRUNCATE すべてのデー タ を テーブルか ら 消去す る SQL コ マ ン ド 。 一方向 レ プ リ ケーシ ョ ン 一方向のみの複製 ( ソ ース か ら タ ーゲ ッ ト シ ス テ ムへ )。 垂直分割 レ プ リ ケーシ ョ ン 選択的な列の複製 と し て も 知 ら れ る SharePlex の こ の機能に よ り 、 設 定フ ァ イ ルに指定 さ れた と お り に、 選択 し たテーブル列を複製で き る よ う にな り ます。 ビ ュー 既存のテーブルの表現方法の 1 つで、 テーブル と 同 じ 方法で使用で き ますが、 物理的ス ト レージ領域のオブジ ェ ク ト と し ては実際に存 在 し ません。 さ ま ざ ま なユーザーがテーブルを表示す る 方法を制御 す る ための も のです。 WHERE 句 SQL 文の句であ り 、 SQL コ マ ン ド がデー タ に影響す る 方法を絞 り 込 みます。 484 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 付録 A サー ド パーテ ィ ラ イ セ ン ス SharePlex for Oracle には、 次のサー ド パーテ ィ コ ン ポーネ ン ト お よ び著作権承 認 と ラ イ セ ン ス要件が含まれてい ます。 著作権承認 libstdc++ GNU GPL ( 例外規定あ り ) バージ ョ ン 2.0 の下、 ラ イ セ ン ス供与 さ れてい ます。 Copyright 1989, 1991 Free Software Foundation, Inc. ソ ース は変更 さ れてい ません。 ソ ース の コ ピーは、 http://rc.quest.com にあ り ま す。 元の配布 ラ イ セ ン ス は、 libstdc++ ホームページ http://www.quest.com/legal/thirdparty-licenses.aspx を参照す る か、 ま たは Quest Software ま でお問い合わせ く だ さ い。 Ruby Ruby ラ イ セ ン ス の下、 ラ イ セ ン ス供与 さ れてい ます。 Copyright 2007 Yukihiro Matsumoto ソ ース は変更 さ れてい ません。 元のデ ィ ス ト リ ビ ュ ーシ ョ ンは、 Ruby ホーム ページ http://www.ruby-lang.org/en/ を参照す る か、 ま たは Quest Software ま でお 問い合わせ く だ さ い。 STEMKIT-CPP MIT ラ イ セ ン ス の下、 ラ イ セ ン ス供与 さ れてい ます。 http://sourceforge.net/projects/stemkit 486 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 Tecla http://www.astro.caltech.edu/~mcs/tecla/ Copyright 2000 by Martin C. Shepherd. All rights reserved. 本 ソ フ ト ウ ェ アの コ ピーお よ び関連す る ド キ ュ メ ン ト フ ァ イ ル ( 「 ソ フ ト ウ ェ ア」 ) を保有す る 任意の者に対 し て、 制限のない ソ フ ト ウ ェ アの使用、 コ ピー、 変更、 結合、 公開、 配布、 ソ フ ト ウ ェ アの コ ピーの販売な ど を含む、 無制限の ソ フ ト ウ ェ アの自由な取 り 扱いお よ び ソ フ ト ウ ェ アが想定す る 第三者への許可 を行 う 権限を、 前述の著作権に関す る 注意お よ び こ の許可条項をすべての ソ フ ト ウ ェ アの コ ピーお よ び各関連/サポー ト ド キ ュ メ ン ト に記載す る 限 り におい て、 こ こ に許可 し ます。 ソ フ ト ウ ェ アは 「現状の ま ま」 で、 明示であ る か暗黙であ る か を問わず、 何の 保証 も な く 提供 さ れ ます。 こ こ でい う 保証 と は、 商品性、 特定の目的への適合 性、 お よ び第三者の権利非侵害についての保証 も 含みますが、 それに限定 さ れ る も のではあ り ません。 著作権所有者ま たは本注意事項に含まれてい る 所有者 は、 いかな る ク レーム、 いかな る 間接的ま たは結果的損害、 利用機会、 デー タ 、 利益の損失に起因す る いかな る 損害に対 し て、 契約行為に よ る も のであ れ、 過失やその他の不法行為に よ る も のであれ、 本 ソ フ ト ウ ェ アの使用ま たは パフ ォ ーマ ン ス に起因ま たは関連す る あ ら ゆ る 損害に対 し て一切責任を負い ま せん。 本注意事項に含ま れてい る こ と を除 き 、 本 ソ フ ト ウ ェ アにおいて著作権所有者 の名前を広告、 販促、 その他の取引目的で使用す る こ と は、 事前に著作権所有 者の書面に よ る 許可を得ない限 り 、 こ れを禁 じ ます。 TSC-TPM BSD ラ イ セ ン ス の下、 ラ イ セ ン ス供与 さ れてい ます。 http://sourceforge.net/projects/tsc-tpm/ 付録 A サー ド パー テ ィ ラ イ セ ン ス 487 ラ イ セ ン ス条項 GNU GPL ( 例外規定あ り ) http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/COPYING 1991 年 6 月、 バージ ョ ン 2 Copyright 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 任意の人々が、 こ の ラ イ セ ン ス ド キ ュ メ ン ト の逐語的な コ ピーの作成、 配布を 行え ますが、 ド キ ュ メ ン ト の変更は禁 じ ら れてい ます。 序文 大部分の ソ フ ト ウ ェ アの ラ イ セ ン ス は、 ユーザーに よ る ソ フ ト ウ ェ アの共有や 変更を制限/禁止す る よ う に設計 さ れてい ます。 一方 GNU GPL ( 一般公有使 用許諾 ) は、 すべてのユーザーが ソ フ ト ウ ェ ア を自由に使用で き る よ う に、 ソ フ ト ウ ェ アの自由な共有 と 変更を保証す る こ と を目的に し てい ます。 こ の GPL は、 フ リ ー ソ フ ト ウ ェ ア財団の大部分の ソ フ ト ウ ェ ア、 お よ び制作者が 賛同 し たその他のプ ロ グ ラ ム に適用 さ れます。 ( フ リ ー ソ フ ト ウ ェ ア財団の一 部の ソ フ ト ウ ェ アには、 代わ り に GNU ラ イ ブ ラ リ GPL が適用 さ れ ます。 ) こ れを ご自分のプ ロ グ ラ ムに採用す る こ と も 可能です。 こ こ で我々が使っ てい る フ リ ー ソ フ ト ウ ェ ア と 言 う のは、 「自由」 を意味 し て い ます。 料金ではあ り ません。 私たちの GPL は、 フ リ ー ソ フ ト ウ ェ アの コ ピーの配布の自由 ( お よ び必要に応 じ てサービ スへの課金の自由 )、 ソ ース コ ー ド の入手の自由、 ソ フ ト ウ ェ アの変更の自由、 ソ フ ト ウ ェ アの一部を使っ た新たなプ ロ グ ラ ムの作成の自由を実現 し 、 それ ら の自由を周知す る こ と を目 的に設計 さ れてい ます。 あ なたの権利を保護す る ために、 任意の人があ なたに こ れ ら の権利を否定す る こ と や権利の放棄を要求す る こ と を禁止す る 制限事項を設け る 必要があ り ま し た。 あ なたが ソ フ ト ウ ェ アの複製物を配布 し た り それを変更 し た り す る 場合に は、 こ れ ら の制限のためにあ なたに も あ る 種の責任が発生す る こ と にな り ま す。 た と えば、 あ なたがその よ う なプ ロ グ ラ ム の コ ピーを配布す る 場合、 有料ま た は無料を問わず、 あ なたは自分が保有す る 権利をすべて受領者に与え る 必要が あ り ます。 ま た、 それ ら の人達 も ソ ース コ ー ド を受信/入手で き る よ う にす る 必要があ り ます。 ま た、 こ れ ら の条項を記載 し て、 使用者が保有す る 権限を知 ら せ る 必要があ り ます。 あ なたの権利は、 2 段階で保護 さ れ ます。 (1) ソ フ ト ウ ェ アの著作権を主張 し 、 (2) あ な たに対 し て ソ フ ト ウ ェ アの コ ピー、 配布、 変更を行 う 法的な許可を与 え る 本 ラ イ セ ン ス を提供 し ます。 488 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ま た、 各作者や私たち を保護す る ため、 私たちは こ の フ リ ー ソ フ ト ウ ェ アには いかな る 保証 も ない と い う こ と を周知徹底す る こ と を望んでい ます。 ま た、 ソ フ ト ウ ェ ア を第三者が変更 し 、 それを配布 し た場合で も 、 受領者が入手 し た ソ フ ト ウ ェ アはオ リ ジナルの ソ フ ト ウ ェ アではな く 、 第三者に よ り 引 き 起 こ さ れ た問題がオ リ ジナル作成者の評判に影響を与え ない こ と も 周知徹底 し たい と 思 い ます。 最後に、 フ リ ーのプ ロ グ ラ ムには常に ソ フ ト ウ ェ ア特許に関す る 脅威が存在 し てい ます。 私たちは、 フ リ ープ ロ グ ラ ムの再配布者が独自に特許 ラ イ セ ン ス を 取得 し 、 プ ロ グ ラ ム を独占す る 危険を回避 し たい と 考え てい ます。 こ の よ う な こ と を防止す る ために、 いかな る 特許で も 任意の人が自由に利用で き る よ う な ラ イ セ ン ス を提供す る か、 ま たは完全に ラ イ セ ン ス を提供 し ないか を明示 し ま し た。 コ ピー、 配布、 変更に関す る 条項を以下に示 し ます。 GNU 一般公有利用許諾契約 コ ピー、 配布、 お よ び 変更に関す る 条項 本 ラ イ セ ン ス は、 著作権の所有者が こ の一般公有利用許諾契約の定め る 条件の 下で当該プ ロ グ ラ ム ま たは他の著作物を配布で き る 旨を記載 し たプ ロ グ ラ ム ま たはその他の著作物に適用 さ れ ます。 以降 「プ ロ グ ラ ム」 と は、 前述の よ う な プ ロ グ ラ ムや著作物全般を表 し ます。 ま た 「プ ロ グ ラ ムに基づ く 著作物」 と は、 著作権法に基づ く プ ロ グ ラ ム ま たはその派生物を意味 し てい ます。 つま り 、 完全に同 じ 状態、 変更 さ れた状態、 ま たは他の言語に変換 さ れた状態のプ ロ グ ラ ム ま たはその一部を含む著作物です。 ( こ れ以降、 翻訳 も 「変更」 に該 当す る 事項 と し て取 り 扱い ます。 ) 各被許諾者は 「あ なた」 と し て表 し ます。 本 ラ イ セ ン ス では、 コ ピー、 配布、 変更以外の行動は対象外 と な っ てい ます。 プ ロ グ ラ ム を実行す る 行為には、 制限はあ り ません。 ま た、 プ ロ グ ラ ム か ら の 出力は、 その内容がプ ロ グ ラ ム に基づ く 著作物を構成す る 場合のみ、 本 ラ イ セ ン ス の適用対象にな り ます ( プ ロ グ ラ ム の実行に よ り 作成 さ れた こ と と は無関 係 )。 こ の事実に該当す る か ど う かの判断は、 プ ロ グ ラ ムが何をす る かに よ っ て決ま り ます。 1 各 コ ピーに対 し て適切な著作権の注意事項 と 保証の否認条項を適切な所に 明示 し 、 本 ラ イ セ ン スお よ びいかな る 保証 も 存在 し ない こ と を知 ら せ る 文 章全体を その ま ま維持 し 、 プ ロ グ ラ ム の各受領者に対 し て本 ラ イ セ ン ス の コ ピーを プ ロ グ ラ ム本体 と 共に配布す る 限 り 、 あ なたが受領 し たプ ロ グ ラ ムの ソ ース コ ー ド の コ ピーを、 メ デ ィ ア を問わずその ま ま の内容で コ ピー、 配布す る こ と がで き ます。 付録 A サー ド パー テ ィ ラ イ セ ン ス 489 あ なたが料金 と 引 き 替えに コ ピーを物理的に譲渡 し た り 、 課金す る こ と に よ り あ なた自身が何 ら かの保証を提供 し た り す る こ と も 可能です。 2 あ な たのプ ロ グ ラ ム ま たはその一部の コ ピーを変更 し て、 プ ロ グ ラ ム に基 づ く 著作物を作成 し 、 前述のセ ク シ ョ ン 1 の条項に基づいてその よ う な変 更/著作物を コ ピー、 配布す る こ と がで き ます。 ただ し 、 その よ う な場合 は以下の条件 も すべて満たす必要があ り ます。 a 変更 し た フ ァ イ ルに、 あ な たが フ ァ イ ルを変更 し た こ と お よ び変更日を 明示す る 必要があ り ます。 b プ ロ グ ラ ム ま たはその一部を含むま たは派生 し た著作物を、 配布ま たは 公開す る 場合、 本 ラ イ セ ン ス の条項に基づいてすべての第三者に全体を ラ イ セ ン スす る 必要があ り ます。 c 変更 し たプ ロ グ ラ ムが実行時に対話的に コ マ ン ド を読み取 る よ う な場 合、 当該プ ロ グ ラ ムの対話的利用が も っ と も 一般的な方法で開始 さ れた 時点で、 適切な著作権に関す る 注意、 保証はない こ と ( ま たはあ なた自 身が保証を提供す る こ と )、 ユーザーは こ れ ら の条項に基づいてプ ロ グ ラ ム を再配布で き る こ と 、 お よ び本 ラ イ セ ン ス の コ ピーの参照方法を、 印刷ま たは表示す る 必要があ り ます。 ( 例外 : プ ロ グ ラ ム自体は対話的 だけれど も 、 通常その よ う な声明を出力 し ない場合は、 あ な たのプ ロ グ ラ ムに基づ く 著作物が声明を出力す る 必要はあ り ません。 ) こ れ ら の要件は、 変更 さ れた著作物全体に適用 さ れ ます。 著作物の一部が プ ロ グ ラ ム か ら 派生 し た も のではな く 、 それ自体が独立 し た別個の著作物 であ る と 判断で き る 場合、 それ ら を独立 し た別個の著作物 と し て配布す る 場合、 当該部分に本 ラ イ セ ン ス と 条項は適用 さ れません。 ただ し 、 当該部 分を 「プ ロ グ ラ ム」 に基づ く 著作物全体の一部 と し て配布す る 場合、 全体 と し ての配布物は本 ラ イ セ ン ス の条項に従 う 必要があ り ます。 被許諾者に 対 し て本 ラ イ セ ン ス が与え る 許可は、 書いた人に関係な く プ ロ グ ラ ム全体 に及びます。 こ のセ ク シ ョ ンは、 完全にあ なたが書いた著作物に対す る 権利の主張や意 義申 し 立て を意味す る も のではあ り ません。 その趣旨は、 プ ロ グ ラ ム に基 づ く 派生物ま たは集合著作物の配布を制御す る 権利を行使す る こ と にあ り ます。 ま た、 プ ロ グ ラ ムに基づかない他の著作物を単にプ ロ グ ラ ム ( ま たはプ ロ グ ラ ムに基づ く 著作物 ) と し て ま と めた も の を、 単一の ス ト レージ ま たは配布 メ デ ィ アに保管 し た場合、 本 ラ イ セ ン ス は他の著作物には適用 さ れ ません。 3 プ ロ グ ラ ム ( ま たはセ ク シ ョ ン 2 に記載のプ ロ グ ラ ムに基づ く 著作物 ) を前 述のセ ク シ ョ ン 1 お よ びセ ク シ ョ ン 2 の条項に基づいて、 オブジ ェ ク ト 490 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 コ ー ド ま たは実行形式で コ ピー、 配布で き ますが、 その場合は以下のいず れか を行 う 必要があ り ます。 a プ ロ グ ラ ム に対応す る 機械で読み込み可能な完全な ソ ース コ ー ド を、 前 述のセ ク シ ョ ン 1 お よ びセ ク シ ョ ン 2 の条項に基づいて、 一般的に ソ フ ト ウ ェ アの交換に用い ら れ る メ デ ィ ア を使用 し て添付す る 必要があ り ま す。 ま たは、 b プ ロ グ ラ ム に、 最低で も 3 年間有効な、 任意の第三者に対 し てプ ロ グ ラ ムに対応す る 機械で読み込め る 完全な ソ ース コ ー ド を、 ソ ース の配布に かか る 物理的 コ ス ト を超え ない料金で提供す る こ と を記載 し た書面を添 付 し ます。 こ の ソ ース コ ー ド は、 前述のセ ク シ ョ ン 1 お よ びセ ク シ ョ ン 2 の条項に基づいて、 一般的に ソ フ ト ウ ェ アの交換に用い ら れ る メ デ ィ ア を使用 し て添付す る 必要があ り ます。 c 対応す る ソ ース コ ー ド の配布の申 し 出に、 あ なたが受け取っ た情報を添 付 し ます。 ( こ の方法は、 非営利的な配布の場合、 そ し て あ なたが前述 のサブセ ク シ ョ ン b に記載の申 し 出 と 一緒にオブジ ェ ク ト コ ー ド ま たは 実行形式のプ ロ グ ラ ム を受け取っ た場合にのみ利用で き ます。 ) 著作物の ソ ース コ ー ド と は、 それを変更す る ために適 し た著作物の形式を 意味 し てい ます。 実行形式の著作物に対 し て完全な ソ ース コ ー ド と は、 そ れに含まれ る すべてのモジ ュ ールのすべての ソ ース コ ー ド お よ び関連す る イ ン タ ーフ ェ イ ス定義フ ァ イ ルお よ び実行形式の コ ンパ イ ルや イ ン ス ト ー ルを制御す る ために用い ら れ る ス ク リ プ ト を意味 し てい ます。 ただ し 特別 な例外 と し て、 実行形式が動作す る オペレーテ ィ ン グ シ ス テ ムの主要 コ ン ポーネ ン ト ( コ ンパ イ ラ やカーネルな ど ) 自身が実行形式に伴っ てい る 場合 を除 き 、 一般的に主要 コ ン ポーネ ン ト と と も に ( ソ ース ま たはバ イ ナ リ 形式 で ) 配布 さ れ る も のを配布 ソ ース コ ー ド に含め る 必要はあ り ません。 特定の場所か ら コ ピーにア ク セ スす る 方法で実行形式ま たはオブジ ェ ク ト コ ー ド の配布を行い、 同 じ 場所か ら 同等の方法で ソ ース コ ー ド の コ ピー も 提供す る 場合、 オブジ ェ ク ト コ ー ド と 一緒に ソ ース コ ー ド の コ ピーを第三 者に強制 し く て も 、 ソ ース コ ー ド を配布 し てい る と みな さ れ ます。 4 本 ラ イ セ ン ス に明示 さ れてい る 場合を除 き 、 プ ロ グ ラ ムの コ ピー、 変更、 サブ ラ イ セ ン ス供与、 配布は禁 じ ら れてい ます。 該当 し ないプ ロ グ ラ ム の コ ピー、 変更、 サブ ラ イ セ ン ス供与、 配布は無効であ り 、 本 ラ イ セ ン ス に おけ る あ なたの権利は自動的に終了 し ます。 ただ し 、 本 ラ イ セ ン ス に基づ いて あ な たか ら コ ピーま たは権利を得た人については、 本 ラ イ セ ン ス を完 全に遵守 し てい る 限 り 、 ラ イ セ ン ス が終了す る こ と はあ り ません。 5 あ なたは署名 し ていないため、 本 ラ イ セ ン ス を承諾す る 必要はあ り ません。 ただ し 、 本 ラ イ セ ン ス を除いて あ な たにプ ロ グ ラ ム ま たはその派生著作物 付録 A サー ド パー テ ィ ラ イ セ ン ス 491 の変更や配布を許可す る も のは存在 し てい ません。 本 ラ イ セ ン ス を承諾 し ない限 り 、 法律に よ っ て こ れ ら の行為は禁 じ ら れてい ます。 そのため、 プ ロ グ ラ ム ( ま たはプ ロ グ ラ ム に基づ く 任意の著作物 ) を変更ま たは配布す る こ と で、 あ な たはそれ ら の行為を行 う ために本 ラ イ セ ン ス を受諾 し 、 プ ロ グ ラ ムお よ びそれに基づ く 著作物の コ ピー、 配布、 変更に対す る すべての 条項を承諾 し た も の と みな さ れ ます。 6 プ ロ グ ラ ム ( ま たはプ ロ グ ラ ム に基づ く 任意の著作物 ) を再配布す る と 、 そ の受領者は当初の ラ イ セ ン ス許可者か ら 、 本 ラ イ セ ン ス に記載の条項に 従っ てプ ロ グ ラ ムの コ ピー、 配布、 変更をす る ラ イ セ ン ス を自動的に受け 取 り ます。 こ こ で与え ら れた権利の行使において、 あ なたが受領者に さ ら な る 制限を加え る こ と はで き ません。 あ なたには、 本 ラ イ セ ン ス を第三者 が遵守す る こ と を強制す る 責任はあ り ません。 7 特許侵害ま たはその他の理由 ( 特許関係に限定 し ない ) で裁判所の判決ま た は申 し 立てがあ り 、 本 ラ イ セ ン ス の条項 と 矛盾す る 条件があ なたに対 し て ( 裁判所の命令や合意な ど に よ り ) 強制 さ れた場合で も 、 本 ラ イ セ ン ス の条項 の遵守が免除 さ れ る こ と はあ り ません。 本 ラ イ セ ン ス に よ り 課せ ら れてい る 責務 と その他の関連す る 責務を同時に果たす状態で配布で き ない場合は、 結果的にプ ロ グ ラ ム を配布す る こ と はで き ません。 た と えば、 あ な たか ら 直接的ま たは間接的に コ ピーを受領 し た者に対 し て特許 ラ イ セ ン ス がプ ロ グ ラ ムの著作権使用料無料での再配布を禁 じ てい る 場合、 その よ う な制限 と 本 ラ イ セ ン ス の両方を満たすには、 プ ロ グ ラ ム の配布自体を中止す る 必 要があ り ます。 本セ ク シ ョ ンの一部が特定の環境下で無効ま たは実施不可能な場合で も 、 セ ク シ ョ ンの残 り の部分は適用 さ れ る よ う にな っ てお り 、 その他の環境で はセ ク シ ョ ン全体が適用 さ れ る よ う な っ てい ます。 こ のセ ク シ ョ ン の目的は、 特許やその他の財産権を侵害 し た り 、 その よ う な権利の申 し 立ての妥当性を争 う こ と を勧め る も のではあ り ません。 本セ ク シ ョ ンは、 公共の ラ イ セ ン ス慣行 と し て導入 さ れた、 フ リ ー ソ フ ト ウ ェ ア配布シ ス テ ム の完全性を保護す る こ と のみを目的に し てい ます。 数多 く の人々が、 フ リ ー ソ フ ト ウ ェ ア配布シ ス テ ムの一貫 し た有用性に頼 り 、 シ ス テ ム を通 じ て配布 さ れ る 膨大な ソ フ ト ウ ェ アに惜 し みのない貢献を し て い ますが、 ソ フ ト ウ ェ ア配布シ ス テ ム を決め る のは作成者/貢献者であ り 、 被許諾者の意見を押 し つけ る こ と はで き ません。 こ のセ ク シ ョ ンは、 本 ラ イ セ ン ス の残 り の部分の帰結 と な る と 思われ る 事 項を完全に明確にす る こ と を目的に し てい ます。 8 あ る 国の特許権ま たは著作権があ る イ ン タ ーフ ェ イ ス に よ り 、 プ ロ グ ラ ム の配布や使用が制限 さ れてい る 場合、 プ ロ グ ラ ム に本 ラ イ セ ン ス を課 し た 492 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 元の著作権所有者は、 その よ う な国を除外 し た明示的な配布の地域的制限 を追加 し 、 除外 さ れていない国でのみ配布を許可す る よ う にす る こ と がで き ます。 こ の場合、 その よ う な制限は本 ラ イ セ ン ス の本文に記載 さ れてい る も の と みな さ れ、 その よ う に取 り 扱われ ます。 9 フ リ ー ソ フ ト ウ ェ ア財団は、 GPL の改訂版ま たは新版を適宜公開で き ます。 その よ う な新版は、 理念において現在のバージ ョ ン と 似てい ますが、 新た な問題や検討事項に対処す る ために、 細かい点で異な る 場合があ り ます。 各バージ ョ ンには、 個別のバージ ョ ン番号が与え ら れ ます。 プ ロ グ ラ ム が それに適用す る ラ イ セ ン ス のバージ ョ ン番号を規定 し てお り 、 「それ以降の 任意のバージ ョ ン」 を適用で き る と 指示 し てい る 場合、 当該バージ ョ ン ま たはフ リ ー ソ フ ト ウ ェ ア財団が公開 し たそれ以降のバージ ョ ンのいずれか を選択 し て、 それに規定 さ れてい る 条項に従 う こ と がで き ます。 プ ロ グ ラ ムに適用す る ラ イ セ ン ス のバージ ョ ン番号が指示 さ れていない場合は、 フ リ ー ソ フ ト ウ ェ ア財団か ら 公開 さ れてい る 任意のバージ ョ ン を選択す る こ と がで き ます。 10 本プ ロ グ ラ ムの一部を、 配布条件が異な る 他の フ リ ープ ロ グ ラ ム に取 り 入 れたい場合は、 作成者にその旨の許可を得て く だ さ い。 フ リ ー ソ フ ト ウ ェ ア財団が著作権を保有す る ソ フ ト ウ ェ アの場合は、 フ リ ー ソ フ ト ウ ェ ア財 団にお問い合わせ く だ さ い。 例外を認め る 場合があ り ます。 こ の判断は、 私たちの フ リ ー ソ フ ト ウ ェ アのすべての派生物が フ リ ーな状態に保たれ る こ と 、 お よ び ソ フ ト ウ ェ アの共有 と 再利用を推進す る と い う 2 つの目標に 基づいて行われ ます。 無保証 11 プ ロ グ ラ ムは無償で ラ イ セ ン ス供与 さ れ る ため、 適用法が許す範囲でプ ロ グ ラ ムに対す る 保証は何 も あ り ません。 特別に書面に記載す る 場合を除い て、 著作権者ま たは他のパーテ ィ は、 明示的ま たは黙示的を問わず、 黙示 の商品的適格性の保証や特定目的への適格性な ど を含むが こ れに限定せず に、 あ ら ゆ る 点で無保証かつ 「あ る が ま ま」 の形でプ ロ グ ラ ム を提供 し ま す。 プ ロ グ ラ ムの品質やパフ ォーマ ン ス に関す る リ ス ク はすべて あ な たが 負 う こ と にな り ます。 プ ロ グ ラ ムに欠陥があ っ た場合、 必要なサービ ス、 修復、 訂正に伴 う 費用はすべて あ な たが自身が負担 し ます。 12 適用法ま たは書面での同意に よ ら ない限 り 、 著作権者ま たは前述の許可に よ り プ ロ グ ラ ム を変更ま たは再配布す る その他のパーテ ィ は、 プ ロ グ ラ ム の使用ま たは使用で き なか っ た こ と に起因す る 一般的な損害、 特別な損害、 偶発的な損害、 間接的な損害に対 し て、 た と えその よ う な損害の可能性が 指摘 さ れていた場合において も 、 一切の責任を負い ません。 こ こ で言 う 損 付録 A サー ド パー テ ィ ラ イ セ ン ス 493 害には、 デー タ 消失、 不正処理、 あ なた ま たは第三者が受けた損害、 プ ロ グ ラ ムが他のプ ロ グ ラ ム と 一緒に利用で き ないな ど の損害を含みますが、 それに限定 さ れ る も のではあ り ません。 特別な例外 と し て、 こ の フ ァ イ ルを フ リ ー ソ フ ト ウ ェ ア ラ イ ブ ラ リ の一部 と し て、 制限な し に使用す る こ と がで き ます。 特に、 他の フ ァ イ ルが こ の フ ァ イ ル か ら のテ ン プ レー ト の イ ン ス タ ン ス化、 マ ク ロ の使用、 ま たは機能の イ ン ラ イ ン を行っ てい る 場合、 ま たはあ な たが こ の フ ァ イ ルを コ ンパ イ ル し て他の フ ァ イ ルに リ ン ク し て実行形式を作成 し た場合、 こ の フ ァ イ ル自体は GNU GPL が カバーす る 実行形式 と はな り ません。 ただ し こ の例外が、 GNU GPL ラ イ セ ン ス がその実行形式フ ァ イ ルを カバーす る その他の根拠を無効にす る こ と はあ り ません。 条項の最後 MIT ラ イ セ ン ス http://www.opensource.org/licenses/mit-license.php 以下に定め る 条件に従い、 本 ソ フ ト ウ ェ アお よ び関連文書の フ ァ イ ル (以下 「 ソ フ ト ウ ェ ア」) の複製を取得す る すべての人に対 し 、 ソ フ ト ウ ェ ア を無制限 に扱 う こ と を無償で許可 し ます。 こ れには、 ソ フ ト ウ ェ アの複製を使用、 複 写、 変更、 結合、 掲載、 頒布、 サブ ラ イ セ ン ス、 お よ び/ま たは販売す る 権 利、 お よ び ソ フ ト ウ ェ ア を提供す る 相手に同 じ こ と を許可す る 権利 も 無制限に 含まれ ます。 上記の著作権表示お よ び本許諾表示を、 ソ フ ト ウ ェ アのすべての 複製ま たは重要な部分に記載す る も の と し ます。 ソ フ ト ウ ェ アは 「現状の ま ま」 で、 明示であ る か暗黙であ る か を問わず、 何の 保証 も な く 提供 さ れ ます。 こ こ でい う 保証 と は、 商品性、 特定の目的への適合 性、 お よ び権利非侵害についての保証 も 含みますが、 それに限定 さ れ る も ので はあ り ません。 作者ま たは著作権者は、 契約行為、 不法行為、 ま たはそれ以外 であ ろ う と 、 ソ フ ト ウ ェ アに起因ま たは関連 し 、 あ る いは ソ フ ト ウ ェ アの使用 ま たはその他の扱いに よ っ て生 じ る 一切の請求、 損害、 その他の義務について 何 ら の責任 も 負わない も の と し ます。 BSD ラ イ セ ン ス http://opensource.org/licenses/bsd-license.php All rights reserved. 以下の条件を満たす場合、 変更の有無を問わず、 ソ ース コ ー ド 形式お よ びバ イ ナ リ 形式での、 再配布お よ び使用が許可 さ れ ます。 494 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 ソ ース コ ー ド を再配布す る 場合、 上記の著作権表示、 こ の条件 リ ス ト 、 お よ び 以下の免責条項を保持す る 必要があ り ます。 バ イ ナ リ 形式で再配布す る 場合、 配布物に添付す る ド キ ュ メ ン ト や他の資料に は、 上記の著作権表示、 こ の条件 リ ス ト 、 お よ び以下の免責条項を入れ る 必要 があ り ます。 事前に書面に よ る 許可を得ない限 り 、 本 ソ フ ト ウ ェ アか ら 派生 し た製品の宣伝 やプ ロ モーシ ョ ン に、 組織名ま たは貢献者名を使用す る こ と を禁 じ ます。 本 ソ フ ト ウ ェ アは、 著作権者お よ び貢献者に よ り 「その ま ま の状態」 で提供 さ れてお り 、 明示的ま たは黙示的を問わず、 商品適格性お よ び特定の目的に対す る 適合性に関す る 黙示の保証を含むがそれに限定 さ れず、 いかな る 保証 も 否認 いた し ます。 理由のいかん を問わず、 ま た責任の根拠が契約、 厳格責任、 (過 失ま たはその他の) 不法行為であ る か ど う か を問わず、 その よ う な損害が発生 す る 可能性を指摘 さ れていた場合で も 、 本 ソ フ ト ウ ェ アの使用に よ っ て発生 し た直接的損害、 間接的損害、 偶発的損害、 特別損害、 懲罰的損害、 ま たは結果 的損害については (代替品ま たは代用サービ ス の調達、 使用機会の損失、 デー タ の消失、 利益の損失、 業務の中断な ど を含みますが、 こ れに限定 さ れ る も のではあ り ません)、 一切の責任を負い ません。 Ruby ラ イ セ ン ス http://www.ruby-lang.org/en/about/license.txt/ Ruby は、 まつ も と ゆ き ひろ氏 (<[email protected]>) が著作権を保有す る フ リ ー ソ フ ト ウ ェ アです。 こ れは、 GPL の条項 (COPYING.txt フ ァ イ ルを参照 ) ま たは以下の条件に従っ て、 再配布、 変更す る こ と がで き ます。 1 元の著作権情報お よ び関連す る 免責条項をすべて複製す る 限 り において、 ソ ース形式の ソ フ ト ウ ェ ア と 同一の コ ピーを作成、 譲渡で き ます。 2 以下の条件のいずれか を満たす時に本 ソ フ ト ウ ェ アの ソ ース の コ ピーを自 由に変更で き ます. a 変更点を Usenet ま たは同等の メ デ ィ アに投稿、 ま たは変更点の ソ フ ト ウ ェ アへの導入を作成者に許可す る な ど の手段に よ り 、 変更物を公有財 産 と し て公開ま たは自由に利用で き る よ う にす る 。 b 変更 し た ソ フ ト ウ ェ ア を自分の所属す る 企業/組織の内部だけで使用す る。 c 標準ではない実行形式フ ァ イ ルを、 標準の実行形式フ ァ イ ル と 競合 し な い名前に変更 し 、 標準の実行形式フ ァ イ ル と 一緒に配布す る 。 d その他の配布条件を作者 と 合意す る 。 付録 A サー ド パー テ ィ ラ イ セ ン ス 495 3 以下のいずれかの条件を満たす限 り 、 本 ソ フ ト ウ ェ ア を オブジ ェ ク ト コ ー ド や実行形式で配布で き ます. a ソ フ ト ウ ェ アの実行形式お よ び ラ イ ブ ラ リ フ ァ イ ルを、 元の ソ ース コ ー ド の入手方法の説明 ( マニ ュ アルや他の方法で ) と 一緒に配布す る 。 b 配布にマシ ンが読み込め る ソ フ ト ウ ェ アの ソ ース コ ー ド を添付す る 。 c 標準ではない実行形式には標準 と 区別で き る 名前を付けて、 元の ソ フ ト ウ ェ ア ソ ース の入手法を明示す る 。 d その他の配布条件を作者 と 合意す る 。 4 他の ソ フ ト ウ ェ アに本 ソ フ ト ウ ェ アの一部を引用で き ます ( 商用 も 含む )。 ただ し , 本 ソ フ ト ウ ェ アに含ま れてい る 一部の フ ァ イ ルは他の作成者に よ る も ので, それぞれの作者の意向に よ る 制限が加え ら れ る 場合があ り 、 こ の条項には従い ません。 こ れに該当す る のは、 gc.c ( 一部 )、 util.c ( 一部 )、 regex.[ch]、 st.[ch]、 お よ び ./missing デ ィ レ ク ト リ 下の フ ァ イ ルです。 コ ピー 条件については、 各フ ァ イ ルを参照 し て く だ さ い。 90 SharePlex Manager SharePlex Manager ユーザーズガ イ ド 5 本 ソ フ ト ウ ェ アへの入力 と し て供給 さ れ る 、 ま たは本 ソ フ ト ウ ェ アか ら の 出力 と し て生成 さ れ る ス ク リ プ ト お よ び ラ イ ブ ラ リ フ ァ イ ルに、 本 ソ フ ト ウ ェ アの著作権が自動的に適用 さ れ る こ と はな く 、 それ ら を生成 し た人に 所属 し 、 商業的に販売 さ れた り 、 本 ソ フ ト ウ ェ ア と 集約 さ れた り す る こ と があ り ます。 6 本 ソ フ ト ウ ェ アは 「その ま ま の状態」 で提供 さ れ、 商品適格性お よ び特定 目的への適合性に関す る 黙示的な保証 も 含む ( ただ し こ れに限定 さ れ る こ と な く )、 いかな る 明示的ま たは黙示的な保証 も あ り ません。 496 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 更新済み 6 / 1 5 / 1 2 索引 索引 記号 & 引数 29, 47 /etc/group フ ァ イ ル 29, 119 数字 508 コ ン プ ラ イ ア ン ス xv A abort config コ マ ン ド 316 abstract データ 型 計画 94 パーテ ィ シ ョ ン 化レ プ リ ケーシ ョ ン 151 SpClient の 466 activate config コ マ ン ド 313 Administrator、 SharePlex Windows シ ス テ ムで のス タ ート ア ッ プ 権限の指定 276 権限 SharePlex の起動 28 設定の作成 122 ポー ト 番号 256 ALTER TABLE コ マ ン ド ENABLE ROW MOVEMENT 373 LOB 列の追加 372 MOVE テ ーブ ル句 373 RENAME TO 97, 374 ALTER TABLE コ マ ン ド の MOVE 句 373 app-modules ディ レ ク ト リ UNIX シ ス テ ムの場合 16 ASM 100 auth_hosts フ ァ イ ル 266 497 498 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) B bin サブ ディ レ ク ト リ 467 Windows シ ス テ ムの場合 18 bin ディ レ ク ト リ UNIX シ ス テ ムの場合 16 build_config.sql ス ク リ プ ト 171 C capstat.log 359 capture queue 監視 359, 362 説明 8 Capture プ ロ セ ス DDL のロ ギン グ 98 説明 10 停止 100 clean_vardir.sh ス ク リ プ ト 441 cleanup.sql ス ク リ プ ト 443 COMMIT 文 Post の read/release 106 と 複製 13 ロ グのバッ フ ァ サイ ズのチ ュ ーニ ン グ 106 config sql ス ク リ プ ト 174 config サブ ディ レ ク ト リ Windows シ ス テ ムの場合 19 説明 6 config ディ レ ク ト リ UNIX シ ス テ ムの場合 17 conflict resolution 説明 202 conflict resolution の信頼さ れた ソ ース の優先順位 212 conflict resolution のタ イ ムス タ ン プ 優先順位 213 CPU 複製の要件 112 create config コ マ ン ド 136, 264 CREATE TABLE コ マ ン ド 376 create_ignore.sql ユーテ ィ リ テ ィ 432 crontab 346 索引 D Data Focus 21 data ディ レ ク ト リ UNIX シ ス テ ムの場合 16, 17 db サブ ディ レ ク ト リ Windows シ ス テ ムの場合 19 db ディ レ ク ト リ UNIX シ ス テ ムの場合 17 DDL DDL のロ ギン グ 98 サポート と 非サポート 58 タ ーゲッ ト オブ ジ ェ ク ト への変更 84 テ ーブ ルの名前変更 97 複製 96 複製中のオブ ジ ェ ク ト に実行 372 deactivate config コ マ ン ド 316, 388 DEFAULT conflict resolution パラ メ ータ 231 delete queue コ マ ン ド 336 DELETE 文 タ ーゲッ ト 上のカ ス ケード の無効化 90 非同期状態 75 複製 12 DEMO_DEST テ ーブ ル 15 DEMO_SRC テ ーブ ル 15 DML タ ーゲッ ト オブ ジ ェ ク ト への変更 84 ロ ッ ク 103 DML_LOCKS パラ メ ータ 103 DTaskmgr.bat 279 dump サブ ディ レ ク ト リ Windows シ ス テ ムの場合 19 dump ディ レ ク ト リ UNIX シ ス テ ムの場合 17 E edit config コ マ ン ド 264 errlog.sql 14 error.splex ロ グ 349 499 500 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) error_list フ ァ イ ル 350 Event Log sp_eventmon によ る 監視 349 export/import ( Oracle) 説明 4 データ の同期 301 export queue 説明 8 名前付き 141 Export プ ロ セ ス 説明 10 複数作成 141 F FTP、 データ の同期 305 H handshaking プ ロ セ ス 8 I I/O 集約的な 操作 111 Import プ ロ セ ス , 説明 10 indices SharePlex イ ン デッ ク ス 群の場所 112 複製における 必要性 88 init.ora フ ァ イ ル DML_LOCKS パラ メ ータ 103 LOG_PARALLELISM パラ メ ータ 105 PROCESSES パラ メ ータ 104 INSERT 文 SharePlex の複製の仕組み 12 水平分割レ プ リ ケーシ ョ ン 151 非同期状態 74 IW_HOME 変数 351 iwgrep ユーテ ィ リ テ ィ IW_HOME 変数の設定 351 監視で の使用 349 索引 iwsnmptrap、 SNMP 368 J Java、 JDBC ド ラ イ ババージ ョ ン 110 JDBC ド ラ イ ババージ ョ ン 110 K kill コ マ ン ド 348 L Label Security、 Oracle 111 LAN、 高可用性の設定 67 lib ディ レ ク ト リ UNIX シ ス テ ムの場合 16 LOB データ 型 LOB 列の追加 372 個別のキュ ーに隔離 94 セ レ ク テ ィ ブ ロ ーレ プ リ ケーシ ョ ン 151 467 ボタ ン 467 LOG_PARALLELISM パラ メ ータ 105 logmon.log 353 log サブ ディ レ ク ト リ Windows シ ス テ ムの場合 19 log ディ レ ク ト リ UNIX シ ス テ ムの場合 17 LONG データ 型 複製の考慮 96 M MailUserName 354 MailUserName 変数 351 mailx プ ロ グラ ム 348 meta-inf ディ レ ク ト リ UNIX シ ス テ ムの場合 16 501 502 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) MKS Platform Components 21 MKS Toolkit 説明 21 Mortice Kern Systems 21 -m 引数 351 N named queue export LOB 94 作成 141 post 146 NAT 445 Network Address Translation 445 Network Management Station( NMS) 368 NLS_LANG 環境変数 106 number activation ID 番号 314 OPEN_CURSORS 104 Post の read/release のメ ッ セ ージ 106 PROCESSES パラ メ ータ 105 SharePlex の DML ロ ッ ク 103 SharePlex のポート 256 SQL Cache カ ーソ ル 237 サブ キュ ーフ ァ イ ル 94 タ ーゲッ ト ルート 、 最大数 133 データ ベース ラ イ タ ー 106 テ ーブ ルのイ ン デッ ク ス 89 テ ーブ ルの列 81 ヒ ン ト 、 最大 234 NuTCRACKER プ ロ セ ス の優先順位の変更 278 O ON DELETE CASCADE、 複製の考慮 90 OPEN_CURSORS パラ メ ータ SQL Cache の設定 237 複製の設定 103 索引 ora_chpwd ユーテ ィ リ テ ィ 409 ora_cleansp SpClient で リ モー ト で実行 465 使用方法 448 ora_setup SpClient で リ モー ト で実行 465 UNIX シ ス テム上で実行 414 Windows シ ス テム上で OraSetup を実行 417 Oracle 9i DDL ロギン グ 98 エ ラ ー処理 98 テーブルの名前変更 97 DDL 複製 96 JDBC ド ラ イ ババージ ョ ン 110 Label Security 111 サポー ト と 非サポー ト 機能 58 パ ッ チ と ア ッ プ グ レ ー ド 395 バ ッ フ ァ サ イ ズ 106 複製のために設定 80 ホ ッ ト バ ッ ク ア ッ プ、 デー タ の同期 ア ク テ ィ ブ な ソ ースデー タ ベース 289 ソ ースの quiet database 297 ORACLE_HOME の場所の変更 379 判断 127 ORACLE_SID タ ーゲ ッ ト の変更 380 判断 127 OraCleanSp、 「ora_cleansp」 を参照 Oracle ワ イル ド カ ー ド 設定 フ ァ イ ル内 128 OraSetup, ora_setup を参照 oratab フ ァ イル 119, 126, 414 P pass-through シ ス テム 70 post queue 監視 359 503 504 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 説明 9 名前付 き 146 poststat.log 359 Post プ ロ セ ス DDL の ロ ギ ン グ 98 監視 356 高速 posting の設定 INDEX ヒ ン ト に よ る 234 named post queue 146 SQL キ ャ ッ シ ュ に よ る 236 説明 11 デー タ の整合性の確認 74 パ フ ォ ーマ ン ス を低下す る要因 86, 88, 94, 104, 106 PROCESSES パ ラ メ ー タ 、 複製の設定 104 467 フ ォ ルダ 467 Q qstatus コ マ ン ド 328 post queue サブ キ ュ ーの削除 437 queues qview でキ ュ ー フ ァ イ ル を表示お よ び削除 436 監視 UNIX シ ス テムの場合 359 Windows シ ス テムの場合 362 シ ス テム上の最大数 142, 146 説明 8 名前付 き export 141 post 146 場所 と 最適化 114 古いキ ュ ー フ ァ イ ルの削除 437 qview の list コ マ ン ド 436 qview の trim コ マ ン ド 437 qview ユーテ ィ リ テ ィ 436 索引 R RAID デバ イ ス 114 read/release Post に よ る COMMIT 106 Post のパ ラ メ ー タ 106 Post プ ロ セ ス 437 SharePlex のシ ャ ッ ト ダウ ン中 33 Read プ ロ セ ス 10 reconcile コ マ ン ド 初期同期 ア ク テ ィ ブデー タ ベースのホ ッ ト バ ッ ク ア ッ プ 291, 294 セ カ ン ダ リ イ ン ス タ ン スの障害発生時 338 フ ェ イ ルオーバーに て 328 フ ェ イ ルバ ッ ク におけ る 332 ホ ッ ト コ ピ ー を使用 し てパ ッ チ を適用 392 redo ロ グ ASM 100 アー カ イ ブのオ プ シ ョ ン 103 最適の場所 112 バ イ パスす る操作 103 複製の考慮 100 ロ ーデバ イ ス 100 SpClient の 469 468 ボ タ ン 468 reporting デー タ ウ ェ アハウ ス/デー タ マー ト のための複製 説明 71 レ ポー ト の イ ン ス タ ン ス を維持す る ための複製 確立 178 説明 65 rim サブデ ィ レ ク ト リ 113, 114 Windows シ ス テムの場合 19 rim デ ィ レ ク ト リ UNIX シ ス テムの場合 17 S save サブデ ィ レ ク ト リ 505 506 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) Windows シ ス テムの場合 19 save デ ィ レ ク ト リ UNIX シ ス テムの場合 17 SCN 291 SpClient の 466 SharePlex Oracle ア カ ウ ン ト Windows シ ス テムの場合 417 queues 説明 8 場所 と サイ ズ 113 表示お よび削除 436 service SpClient で制御 465 削除 423 Windows シ ス テムの起動時 274 アーキテ ク チ ャ の説明図 7 ア ッ プ グ レ ー ド 394 開始 -u オプ シ ョ ン付き 44 基本的な起動手順 28 複製プ ロ セスな し (-s オプ シ ョ ン) 40 概要 3–20 監視 345 高可用性環境で 327 コ マ ン ド 、 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 サー ビ ス (SharePlex プ ロ セ ス を参照) 削除 UNIX シ ス テムの場合 421 Windows シ ス テムの場合 423 サポー ト お よ び非サポー ト の Oracle 機能 58 実行中 SharePlex FS 43 同一シ ス テム上の複数のバージ ョ ン 51 複数の sp_cop セ ッ シ ョ ン 45, 48 消費 さ れた リ ソ ース 112 製品デ ィ レ ク ト リ 15 セキ ュ リ テ ィ 機能 266 索引 設定 Oracle ワ イル ド カ ー ド の使用 128 ア ク テ ィ ベー ト 313 作成 122 説明 6 デス ク ト ッ プ シ ョ ー ト カ ッ ト 31 内部テ ーブル UNIX シ ス テム上での作成 414 Windows シ ス テムで作成 417 一覧 14 バ イ ナ リ (プ ロ セ ス) , 場所 11 バ ッ ク ア ッ プ 119 パ ッ チ 394 複製オ プ シ ョ ン 81 複製の要件 system 111 デー タ ベース 80 複製方法 64–73 プ ロセス 監視 356, 362 説明 10 場所 112 プ ロ セ スの優先順位 UNIX シ ス テムの場合 117 Windows シ ス テムの場合 278 変更 環境パ ラ メ ー タ 255 パスワー ド 409 ポー ト 番号 256 ユーザー名 / パスワー ド 413 変数デー タ デ ィ レ ク ト リ UNIX シ ス テムの場合 17 Windows シ ス テムの場合 19 ユーテ ィ リ テ ィ 431 リ モー ト 接続お よ び制御 464 ルーテ ィ ン グにおけ る制限 133 SharePlex FS、 SharePlex for Oracle と の実行 43 SHAREPLEX_ACTID テ ー ブル 14 SHAREPLEX_COMMAND テ ー ブル 15 SHAREPLEX_CONFIG テ ー ブル 15 SHAREPLEX_DATAEQUATOR テ ー ブル 15 507 508 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) SHAREPLEX_IGNORE_TRANS プ ロ シージ ャ 432 SHAREPLEX_LOBMAP テ ー ブル 15 SHAREPLEX_MARKER テ ー ブル 15 SHAREPLEX_OBJMAP テ ー ブル 15 SHAREPLEX_PARTITION テ ー ブル 15, 155, 156 SHAREPLEX_TRANS テー ブル 15 競合の防止 110 SharePlex のア ン イ ン ス ト ール UNIX シ ス テムか ら 421 Windows シ ス テム 423 SharePlex の帯域幅 118 SharePlex のデス ク ト ッ プ シ ョ ー ト カ ッ ト 31 SharePlex の複製の仕組み 26 SharePlex のパス ワー ド , 変更 UNIX シ ス テムの場合 409 Windows シ ス テムの場合 417 show activate コ マ ン ド 316 show config コ マ ン ド 316 SID_errlog.sql 14 SNMP、 SharePlex と の使用 368 socket_test 445 sp_add_trigger.sql ユー テ ィ リ テ ィ 389, 435 sp_change_trigger.sql ユーテ ィ リ テ ィ 435 sp_client プ ロ セ ス 464 sp_cop 10, 26 UNIX シ ス テム と Windows シ ス テムの違い 26 開始 SharePlex サービ ス な し (プ ロ セス) 40 -s オプ シ ョ ン付き 40 -u オプ シ ョ ン付き 44 基本的な起動手順 28 シ ャ ッ ト ダウ ン 32 接続 sp_ctrl の使用 35 安全性 266 説明 24 代替ポー ト の設定 256 複数のセ ッ シ ョ ンの実行 Windows シ ス テム 48 同一 UNIX シ ス テム上 45 SP_COP_IDLETIME パ ラ メ ー タ 102 索引 SP_COP_TPORT パ ラ メ ー タ 257 SP_COP_UPORT パ ラ メ ー タ 257 sp_copsrv.exe 26 sp_ctrl 1 つの コ マ ン ド の実行 36 開始 35 最大文字数 36 説明 24 代替ポー ト への接続 38 停止 38 デ フ ォ ル ト シ ス テムの定義 38 複数の コ マ ン ド の イ ン タ ラ ク テ ィ ブ な実行 37 sp_ctrl.exe、 sp_ctrl を参照 sp_eventmon 監視ユーテ ィ リ テ ィ 349 SP_IMP_WCMT_MSGCNT パ ラ メ ー タ 102 sp_logmon 監視ユー テ ィ リ テ ィ 353 sp_mport 11, 26 sp_nt_mon.txt フ ァ イ ル 364 Sp_Nt_Mon 監視ス ク リ プ ト 362 SP_OCT_CHECKPOINT_FREQ パ ラ メ ー タ 102 SP_OCT_REPLICATE_DLOAD パ ラ メ ー タ 100 SP_OCT_REPLICATE_POSTER パ ラ メ ー タ 192 SP_OPO_HINTS_LIMIT パ ラ メ ー タ 234 SP_OPO_MAX_CDA パ ラ メ ー タ 237 SP_OPO_NLS_LANG パ ラ メ ー タ 110 SP_OPO_READRELEASE_INTERVAL パ ラ メ ー タ 106 SP_OPO_SQL_CACHE_DISABLE パ ラ メ ー タ 237 SP_OPO_STOP_ON_DDL9I_ERR パ ラ メ ー タ 99 sp_opst 27 SP_ORD_CDA_LIMIT パ ラ メ ー タ 102 SP_ORD_DELAY_RECORDS パ ラ メ ー タ 102 SP_ORD_LDA_ARRAY_SIZE パ ラ メ ー タ 102 SP_ORD_NLS_LANG パ ラ メ ー タ 109 SP_ORD_RMSG_LIMIT パ ラ メ ー タ 102 sp_ordr 10, 26 sp_ps 監視ユー テ ィ リ テ ィ 356 sp_qstatmon が生成す る temp フ ァ イ ル 359 sp_qstatmon 監視ユーテ ィ リ テ ィ 359 SP_QUE_SHMSIZE パ ラ メ ー タ 95 sp_remote 464 sp_remove_trigger.sql ユーテ ィ リ テ ィ 435 509 510 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) SP_SLG_SNMP_ACTIVE パ ラ メ ー タ 369 SP_SLG_SNMP_COMMUNITY パ ラ メ ー タ 369 SP_SLG_SNMP_ERROR パ ラ メ ー タ 370 SP_SLG_SNMP_EXIT パ ラ メ ー タ 370 SP_SLG_SNMP_HOST パ ラ メ ー タ 369 SP_SLG_SNMP_INT_ERROR パ ラ メ ー タ 370, 391 SP_SLG_SNMP_LAUNCH パ ラ メ ー タ 370 SP_SLG_SNMP_MJR_ERRNUM パ ラ メ ー タ 369 SP_SLG_SNMP_MNR_ERRNUM パ ラ メ ー タ 369 SP_SLG_SNMP_OUT_OF_SYNC パ ラ メ ー タ 370 SP_SLG_SNMP_SHUTDOWN パ ラ メ ー タ 370 SP_SLG_SNMP_STARTUP パ ラ メ ー タ 370 SP_SLG_SNMP_SYS_ERROR パ ラ メ ー タ 370 SP_SYS_IN_SYNC パ ラ メ ー タ 85 SP_SYS_VARDIR 設定 255 sp_xport 10, 26 SP_XPT_PORT_OVERRIDE パ ラ メ ー タ 269 SP_XPT_USE_LOCALHOST パ ラ メ ー タ 269 SpClient か ら の ロ グオ フ 469 メ ニ ュ ー 466 ウ ィ ン ド ウ 469 メ ニ ュ ー 466 SpClient のア イ コ ン 465 SpClient の ツ ールバー 465 SpClient の メ ニ ュ ー 466 SpClient ユーテ ィ リ テ ィ 464 splex_add_key ユーテ ィ リ テ ィ SpClient で リ モー ト で実行 465 ロ ー カ ルで実行 (UNIX) 454 splex_get_key utility ユー テ ィ リ テ ィ 455 splex_uname ユー テ ィ リ テ ィ 455 Spotlight on Oracle 94 SpUtils ユーテ ィ リ テ ィ 461 SQL*Loader 99 SQL キ ャ ッ シ ュ OPEN_CURSORS 103 実行中 236 チ ュ ーニ ン グ 239 SQL 文 abstract デー タ 型におけ る シ ス テム定義の名前の使用 94 SharePlex がどの よ う に構築す るか 12 索引 お よ び イ ン デ ッ ク ス ヒ ン ト 234 高速 posting のキ ャ ッ シ ュ 236 非同期テ ーブルのために表示 14 非同期の定義 74 SQL 文のキ ャ ッ シ ュ 236 SSH Secure Shell パ ラ メ ー タ 268 SSH ポー ト 転送 269 state サブデ ィ レ ク ト リ 119 Windows シ ス テムの場合 19 state デ ィ レ ク ト リ UNIX シ ス テムの場合 17 Status Database 14 system Oracle のテ ー ブル領域 112 SharePlex の削除 UNIX 手順 421 Windows の手順 423 SharePlex の ラ イ セ ン ス 453 フ ェ イ ルオーバー / フ ェ イ ルバ ッ ク の処置 328, 330 複製のために設定 111 複製マ シ ン上のバ ッ ク ア ッ プ 419 リ モー ト sp_ctrl での接続 37 Windows 上のア ク セス 464 安全な接続 266 System Change Number 291 -s オ プ シ ョ ン、 sp_cop の起動時 40 T TCP/IP SharePlex がどの よ う に使用す るか 13 SharePlex の帯域幅の要件 118 SharePlex のポー ト の設定 256 安全性 266 temp デ ィ レ ク ト リ UNIX シ ス テムの場合 17 transformation.SID フ ァ イ ル 252 truncate log コ マ ン ド 350 511 512 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) TRUNCATE PARTITION コ マ ン ド セ レ ク テ ィ ブ ロ ー レ プ リ ケーシ ョ ン 151 U UNIX ま たは Linux シ ス テムで ラ イ セ ン スキー を生成す る には 455 UPDATE 文 SharePlex の複製の仕組み 12 セ レ ク テ ィ ブ ロ ー レ プ リ ケーシ ョ ン 151 非同期状態 75 util デ ィ レ ク ト リ UNIX シ ス テムの場合 16 Windows シ ス テムの場合 18 -u オ プ シ ョ ン、 sp_cop の起動時 44 V V$LOG テ ー ブル 354 Veritas Quick I/O お よ び複製 118 W WAN SharePlex サポー ト 13 高可用性の設定 67 セキ ュ リ テ ィ 機能 266 web ブ ラ ウザ 72 WHEN 句、 ト リ ガ 435 WHERE 句 LONG の除外 96 SharePlex 文 75, 85 Windows ORACLE_SID の判断 126 SharePlex ス タ ー ト ア ッ プの設定 274 SharePlex 制御ユー テ ィ リ テ ィ 461 SharePlex デ ィ レ ク ト リ 18 SharePlex の削除 423 SharePlex の レ ジ ス ト リ 環境 20 SharePlex プ ロ セ スの特定 27 SharePlex ラ イ セ ン スキーの追加 453 索引 SharePlex レ ジ ス ト リ エ ン ト リ の変更 281 sp_ctrl のス ク ロ ールバーの表示 37 UNIX シ ス テム と の違い 26 開始 SharePlex 30 SharePlex、 複製プ ロ セス な し 41 実行中 OraSetup 417 sp_ctrl 37 異な る SharePlex バージ ョ ン 55 複数の SharePlex イ ン ス タ ン ス 45 設定 SharePlex のポー ト 259 代替エデ ィ タ 264 プ ロ セスの優先順位 278 あ アー カ イ ブ ロ グ、 複製のための考慮 101 アー カ イ ブ ロ グの圧縮 101 アカウン ト Oracle 内の UNIX 414 Windows 417 SharePlex の起動 (Windows) 276 ア ク テ ィ ベーシ ョ ン プ ロ セ ス ガ イ ド ラ イ ン 315 ス テ ー タ ス と 統計の表示 316 説明 313 ト ラ ブルシ ュ ーテ ィ ン グ、 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 ア ッ プグレー ド Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し て適用 390 OS と Oracle 395 SharePlex 394 ア プ リ ケーシ ョ ン 384 ア プ リ ケーシ ョ ンのパ ッ チ と ア ッ プ グ レ ー ド 384 い 一意性、 行の 85 513 514 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 一方向 レ プ リ ケーシ ョ ン 確立 178 説明 65 移動 ALTER TABLE コ マ ン ド を使用 し て行 を 373 ORACLE_HOME の場所 379 イ ベ ン ト 、 複製 監視 349 表示 14 イ ン ス ト ールデ ィ レ ク ト リ UNIX シ ス テムの場合 16 イ ンデ ッ ク ス posting のための INDEX ヒ ン ト の使用 234 イ ン デ ッ ク ス編成 さ れた テ ーブル 89 え エデ ィ タ 、 デ フ ォ ル ト お よ び代替 264 エ ラ ー , 表示 14 お 大文字 と 小文字、 設定 126–130 大文字 と 小文字の区別、 設定 126–130 オブジ ェ ク ト ID 15 型 複製 94 キ ャ ッ シ ュ 119, 314 オ ブ ジ ェ ク ト リ レ ーシ ョ ナル構造 94 オ ン ラ イ ン ト ラ ンザ ク シ ョ ン処理 (OLTP) 72 か カ ー ソ ル、 設定 103 開始 SharePlex 28 ス タ ー ト ア ッ プ モー ド の制御 274 sp_ctrl 35 SpClient 466 索引 複製 313 複製サーバー 27 外部キー 複製の考慮 90 回復 シ ス テム障害の発生後 328, 330 セ カ ン ダ リ イ ン ス タ ン スの障害発生後 336 チ ェ ッ クポイ ン ト Post チ ェ ッ ク ポ イ ン ト 106 説明 8 デー タ 、 複製方法 確立 182 説明 67 格納/ リ ス ト ア、 デー タ の同期 301 カ ス ケー ド 削除の無効化 90 カ ス ケー ド レ プ リ ケーシ ョ ン 確立 188 説明 70 型、 ユーザー定義 複製の要件 94 可変配列 (VARRAY) の コ レ ク タ 計画 94 パーテ ィ シ ョ ン化 レ プ リ ケーシ ョ ン 151 カ ラムコ ンデ ィ シ ョ ン 作成 155 サポー ト す る デー タ 型 と 構文 158 説明 152 表示 163 変更 325 カ ラ ムパーテ ィ シ ョ ン 除外 カ ラ ムパーテ ィ シ ョ ン 166, 167 環境変数、 SharePlex 20, 281 監視 SNMP ト ラ ッ プ 368 UNIX シ ス テム用ユーテ ィ リ テ ィ 346 Windows シ ス テム用ユーテ ィ リ テ ィ 362 完全な テ ーブルスキ ャ ン、 複製への影響 86 515 516 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) き キーの中の NULL 85 キャ ラ ク タ セ ッ ト SharePlex でサポー ト す る 106 確定 28, 106 検証 109 行 ALTER TABLE コ マ ン ド を使用 し て移動 373 Oracle Label Security 111 セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン 151 行移動 , と 複製 373 行 レ ベルの複製 設定 151 説明 122 変更 325 許可 SharePlex の起動 28 監視ユーテ ィ リ テ ィ 348 「権限」 も 参照 巨大オ ブ ジ ェ ク ト 、 複製の考慮 94 く ク ラスタ SP_SYS_VARDIR の設定 255 ルーテ ィ ン グ マ ッ プ 133 け 警告 監視ス ク リ プ ト (UNIX) 346 監視ユーテ ィ リ テ ィ (Windows) 362 権限 許可 conflict resolution 用 218 Oracle ユーザー と し ての SharePlex 414, 417 Windows シ ス テムでの SharePlex ス タ ー ト ア ッ プ 276 タ ーゲ ッ ト シ ス テム上の DML 84, 184 ト ラ ン ス フ ォ ー メ ーシ ョ ン用 SharePlex 244 索引 要件 SharePlex Oracle パスワー ド の変更 409 SharePlex プ ロ セスの優先順位の変更 278, 463 Windows シ ス テム上で qview を実行 436 監視ス ク リ プ ト の修正 354 権限 レ ベル SharePlex コ マ ン ド 36 SharePlex の起動 28 言語、 SharePlex の設定 106 検証 SharePlex プ ロ セ スの稼働 28 同期 84 こ 高可用性 説明 67 バ ッ ク ア ッ プの推奨 119 フ ェ イ ルオーバー と フ ェ イ ルバ ッ ク の処理 327 複製の設定 182 コ マ ン ド , SharePlex 権限 レ ベル 36 最大文字列長 36 出力のためのス ク ロ ールバーの表示 37 発行方法 sp_ctrl、 イ ン タ ラ ク テ ィ ブ 37 UNIX コ マ ン ド ラ イ ン 36 リ モー ト シ ス テム 37 517 518 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 用途 activation ス テー タ スの表示 316 キ ュ ース テー タ スの表示 145 設定統計の表示 316 設定の コ ピー 318 設定の作成 125 設定の編集 171 デ フ ォ ル ト シ ス テムの定義 38 複製のシ ャ ッ ト ダウ ン 33 複製のデ ィ ア ク テ ィ ベー ト 316 複製プ ロ セスの停止 33 複製プ ロ セスの表示 145 別の sp_cop への接続 38 コ マ ン ド 、 SharePlex 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 も 参照 コ マ ン ド , SharePlex 用途 ア ク テ ィ ベー ト 、 設定 313 コレクタ パーテ ィ シ ョ ン化 レ プ リ ケーシ ョ ン 151 複製のために計画 94 コ ン デ ィ シ ョ ン、 カ ラ ム 作成 155 サポー ト す る デー タ 型 と 構文 158 説明 152 表示 163 変更 325 さ サー ビ ス、 SharePlex (Windows シ ス テム) 開始 30 リ モー ト で開始 465 作業テ ーブル 83 削除 conflict resolution か ら の入力 216 queues qview 436 フ ェ イルオーバー処置における 330, 336 索引 SharePlex UNIX シ ス テムか ら 421 Windows シ ス テム 423 SharePlex デ ィ レ ク ト リ 15 SharePlex テ ー ブルのデー タ 443 依存す る行 (ON DELETE CASCADE) 90 設定のオ ブ ジ ェ ク ト 324 テ ー ブル 複製 324 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ルか ら の入力 254 入力 conflict resolution フ ァ イル 216 Windows レ ジ ス ト リ 281 設定 324 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イル 254 パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 325 古いキ ュ ー フ ァ イ ル 437 削除の カ ス ケー ド 、 複製のための考慮 90 作成 named queue export 141 post 146 SharePlex Oracle ユーザー UNIX 上での 414 Windows シ ス テム 417 カ ラ ムパーテ ィ シ ョ ン 166 シ ミ ュ レ ー ト さ れたキー 124, 130 主キーがな い場合の一意の イ ン デ ッ ク ス 86 設定 122 Oracle ワ イル ド カ ー ド の使用 128 「定義」 も 参照 ト ラ ン ス フ ォ ー メ ーシ ョ ン コ ン ポーネ ン ト 245 パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 152 複数の変数デー タ デ ィ レ ク ト リ 45 参照整合性制約 複製の考慮 90 し シーケ ン ス 519 520 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 209 複製のガ イ ド ラ イ ン 92 シーケ ン ス番号 291 集中化 レ ポー ト 確立 195–201 説明 71 集約 レ プ リ ケーシ ョ ン 確立 195–201 説明 71 主キー キーのシ ミ ュ レ ーシ ョ ン 124, 130 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 207 複製の考慮 85 す 垂直分割 レ プ リ ケーシ ョ ン 使用上の決ま り 82 水平分割 レ プ リ ケーシ ョ ン と の併用 151 設定 164 説明 122 変更 325 列の名前が異な る場合 82 スキーマ、 パーテ ィ シ ョ ン 作成 155 説明 152 追加 と 変更 325 表示 163 ス ク リ プ ト 記述 SharePlex テー ブルの切 り 捨て 443 SharePlex を無視す る ための ト リ ガの変更 435 カ ス ケー ド 削除の無効化 90 設定 build_config.sql 171 config.sql 174 索引 複製の監視 sp_eventmon 349 sp_logmon 353 sp_ps 356 sp_qstatmon 359 Windows シ ス テム 362 変数デー タ デ ィ レ ク ト リ のパージ 441 ス ク ロ ールバー、 sp_ctrl (Windows) 37 ス ト ア ド プ ロ シージ ャ post す る代わ り にデー タ を変換 241 ス ト ラ イ プ化デバ イ ス と SharePlex 114 スナ ッ プ シ ョ ッ ト 4 せ 製品デ ィ レ ク ト リ , 説明 15 制約、 一貫性 90 セキ ュ リ テ ィ SharePlex の起動 と 停止 28 行 レ ベル、 複製 111 リ モー ト 接続の制御 266 接続 auth_hosts フ ァ イ ルに よ る セキ ュ リ テ ィ 266 sp_cop に 35 リ モー ト シ ス テムか ら 終了 469 設定 Oracle ワ イル ド カ ー ド の使用 128 ア ク テ ィ ベーシ ョ ン 説明 313 統計 316 オ ブ ジ ェ ク ト の追加 シーケ ン ス 320 テーブル 318 オ ブ ジ ェ ク ト の名前 を変更 ソ ース テーブル 374 タ ーゲ ッ ト テーブル 374 逆設定 183 ク ラ ス タ 環境 133 構成要素 125 521 522 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 作成 Post の迅速化 146 reporting 178 高可用性お よびデー タ リ カバ リ 182 セ レ ク テ ィ ブ カ ラ ムレ プ リ ケーシ ョ ン 164 セ レ ク テ ィ ブ ローレ プ リ ケーシ ョ ン 151 中間シ ス テムを通 し た複製 188 デー タ デ ィ ス ト リ ビ ュ ーシ ョ ン 185 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 214 複数 タ ーゲ ッ ト 139 分散処理 185 作成方法 basic 136 named export queue でのデー タ の隔離 141 スキーマの複数テーブルの構築 171 全デー タ ベースの ク イ ッ ク ビル ド 174 複数 タ ーゲ ッ ト 139 設定 さ れたオ ブ ジ ェ ク ト の削除 324 説明 6 デ ィ ア ク テ ィ ベー ト 316 ト ラ ブルシ ュ ーテ ィ ン グ、 『SharePlex 管理者ガ イ ド 』 を参照 内部テ ーブルの情報 15 複製のためにデー タ ベース を設定 80 複製のためのオ ブ ジ ェ ク ト 122 複製のためのシ ス テム設定 111 変更 318 変更マー カ ー 314 設定、 「変更」 も 参照 セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン 行 151 説明 81, 122 列 164 そ 双方向 レ プ リ ケーシ ョ ン 確立 高可用性 182 説明 67 ソ ース 索引 system 信頼 212 複数 202 複製のために設定 111 オブジ ェ ク ト 説明 127, 129 複製のために計画 80 複製のために設定 122 定義 5 テ ーブルの名前 83 た タ ーゲ ッ ト ORACLE_SID, 変更 380 system ROWID 85 SharePlex で どのよ う に変更が適用 さ れるか 12 最大数 133 中央へ複製 71, 195–201 同期の検証 74 複数 タ ーゲ ッ ト へ複製 68–70, 139, 185–193 複製のために設定 111 オブジ ェ ク ト 説明 131 同期を検証する コ マ ン ド 84 複製のために計画 80–?? 定義 5 タ イ ト ル ページ バージ ョ ン バージ ョ ン 6.0.0 リ リ ース i ダ イ レ ク ト パスの読み込み、 複製の状態 99 タ ス ク マ ネージ ャ SpClient で リ モー ト で実行 465, 470 プ ロ セ スの特定 27 プ ロ セ スの優先順位の変更 278, 463 ち チ ェ ッ ク 制約、 パ フ ォ ーマ ン ス上の問題 91 チ ェ ッ クポイ ン ト 523 524 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) redo ロ グ内の 14 リ カ バ リ シ ス テム 8 遅延 SharePlex がどの よ う に最小限に抑え るか 13 監視 353, 366 原因 86, 99 中間シ ス テム 説明 70 複製の設定 188 チ ュ ーニ ン グ Post プ ロ セ ス 234–240 パ ラ メ ー タ 、 SharePlex xi 調停 SCN 291 シーケ ン ス番号 291 つ 追加 LOB 列 372 named queue export 141 post 146 SharePlex ラ イ セ ン スキー 453 一意の イ ン デ ッ ク ス 86 シーケ ン ス、 複製 320 主キー 86 テ ー ブル デー タ ベースに 376 複製 318 パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 325 て 定義 sp_ctrl 用のデ フ ォ ル ト シ ス テム 38 カ ラ ムパーテ ィ シ ョ ン 166 キ ャ ラ ク タ セ ッ ト 106 「作成」 も 参照 シ ミ ュ レ ー ト さ れたキー 124, 130 索引 パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 152 複製す る デー タ 122 定義、 用語 473 停止 Capture プ ロ セ ス 100 DDL エ ラ ー (9i) 99 SharePlex 32 sp_ctrl 38 複製 316 複製プ ロ セ ス 33 デー タ ウ ェ アハウ ス/マー ト 説明 71 複製の設定 195–201 回復 計画 さ れていない フ ェ イルオーバーの手順 328 計画的 フ ェ イルオーバーの手順 340 説明 67 複製の設定 182 整合性の保証 74 製品デ ィ レ ク ト リ 内のデ ィ レ ク ト リ Windows 18 複製対象の変更 318 複製中の変換 241 複製のガ イ ド ラ イ ン 74 複製のために設定 122 複製の防止 432 複製の方法 64 分散 説明 68 複製の設定 185 変数デー タ デ ィ レ ク ト リ 内のデ ィ レ ク ト リ Windows 19 デー タ 型 abstract 複製のガ イ ド ラ イ ン 94 Large、 named queue 124 LOB、 複製の要件 94 SHAREPLEX_PARTITION テ ー ブル 156 オ ブ ジ ェ ク ト リ レ ーシ ョ ナル 94 水平分割でのサポー ト 158 525 526 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) ソ ース と タ ーゲ ッ ト 列 74, 82 ト ラ ン ス フ ォ ー メ ーシ ョ ン に よ る変換 241 ユーザー定義 複製のガ イ ド ラ イ ン 94 デー タ ソ ース 説明 126 複数の複製、 隔離 141 デー タ の ト ラ ン ス フ ォ ー メ ーシ ョ ン 241 デー タ フ ァ イ ル 場所 112 ロ ーデバ イ ス 100 デー タ ベース Oracle サプ リ メ ン タ ル ロ ギ ン グ 80 SharePlex ア カ ウ ン ト の作成 UNIX 414 Windows 417 パ ッ チ と ア ッ プグレー ド Oracle 395 ア プ リ ケーシ ョ ン 384 複製のために設定 80 変更 SharePlex パスワー ド 409 SharePlex ユーザー (UNIX) 413 複製の最中 371 テ ー ブル SharePlex 内部テー ブル 14 イ ン ス タ ン ス特有 83 主な要件 85 外部キー 90 構造要件 81 セ レ ク テ ィ ブ ロ ー レ プ リ ケーシ ョ ン 156 ソ ース と タ ーゲ ッ ト の名前 83 タ ーゲ ッ ト のア ク セ ス 83 追加 デー タ ベースに 376 ドロップ 設定 324 パーテ ィ シ ョ ン化 316 複数の設定ス ク リ プ ト 171, 174 複製か ら の除外 83 複製 さ れない 84 索引 複製の最中名前 を変更 374 テ ーブルの一意のキー キーのシ ミ ュ レ ーシ ョ ン 124, 130 説明 85 テ ー ブルのキー 値の変更 86 外部 90 シ ミ ュ レ ーシ ョ ン 124, 130 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 207 必要性 85 テ ーブルの名前変更 97 テ キス ト エ デ ィ タ 、 定義 264 テ ス ト 、 新 し いバージ ョ ンの SharePlex 51 デフ ォル ト export queue 8 NuTCRACKER フ ォ ルダ 21 post queue 9 SharePlex のポー ト 番号 256 優先 269 sp_ctrl 用のシ ス テム 38 sp_eventmon が監視す る エ ラ ー 350 Windows 上の SharePlex 環境 20 キ ャ ラ ク タ セ ッ ト 28 キ ュ ー フ ァ イ ルのサ イ ズ 437 設定のデ ィ レ ク ト リ 125 テ キス ト エ デ ィ タ 264 動作 SQL キ ャ ッ シ ュ 237 Windows シ ス テムの起動時 21 タ ーゲ ッ ト 上の DDL エ ラ ー 98 ダ イ レ ク ト ロー ド の複製 100 パ ラ メ ー タ 設定 , を含む フ ァ イ ル 16 ヒ ン ト 数 234 余分な タ ーゲ ッ ト 列の値 82 電子 メ ールでの警告 監視ス ク リ プ ト (UNIX) 346 監視ユーテ ィ リ テ ィ (Windows) 362 527 528 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) と 同一シ ス テムでの複製 (UNIX のみ) 確立 179 説明 66 同期 FTP 305 import/export 301 Oracle ホ ッ ト バ ッ ク ア ッ プ quiet database 297 ア ク テ ィ ブデー タ ベース 289 検証 84 説明 5, 74 ト ラ ン スポー タ ブルテ ーブル領域 309 非同期状態の原因 74, 83 同期のためのテ ーブルの比較 84 ド ラ イ バ、 Oracle JDBC バージ ョ ン 110 ト ラ ッ プ、 SharePlex の SNMP 368 ト ラ ン スポー タ ブルテ ーブル領域、 同期 309 ト リガ SharePlex の要件 91 変更のためのユーテ ィ リ テ ィ 434 ドロップ パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 325 な 内部テ ーブル、 SharePlex 切 り 捨て 443 作成 UNIX シ ス テムの場合 414 Windows シ ス テムの場合 417 説明 14 名前 SharePlex ロ グの SharePlex キ ュ ーの 8 SharePlex デ ィ レ ク ト リ の 15 SharePlex プ ロ グ ラ ム 24 SharePlex プ ロ セ スの 10 監視ス ク リ プ ト 346 索引 設定 125 ソ ース と タ ーゲ ッ ト テ ーブル 83 ソ ース と タ ーゲ ッ ト 列 81 複製方法 64 ね ネ ッ ト ワー ク SharePlex がいつ送信す るか を制御 13 SharePlex がどの よ う に使用す るか 13 障害か ら の回復 13 セキ ュ リ テ ィ 機能 266 要件 118 の の手順 Oracle Setup UNIX 414 Windows 417 SharePlex テ ー ブルの切 り 捨て 443 SharePlex のシ ャ ッ ト ダウ ン 32 開始 SharePlex、 通常の方法 28 SharePlex、 複製プ ロ セス な し 40 複製シ ス テム 27 環境パ ラ メ ー タ の設定 255 高可用性 計画的 フ ェ イルオーバー と フ ェ イルバ ッ ク 340 セ カ ン ダ リ イ ン ス タ ン スに障害が発生 し た後に複製を回復 336 プ ラ イ マ リ シ ス テムに フ ェ イルバ ッ ク 330 削除 SharePlex 421, 423 現行の複製状態 448 古いキ ュ ー 436 変数デー タ デ ィ レ ク ト リ のデー タ 441 実行 ア ッ プグ レー ド , SharePlex 394 シ ス テムバ ッ ク ア ッ プ 419 複製中のオブ ジ ェ ク ト の DDL 372 529 530 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 実行中 異な るバージ ョ ンの SharePlex 51 複数の SharePlex イ ン ス タ ン ス 45 設定 SSH ポー ト 転送用 SharePlex 269 複製用デー タ 122 設定のア ク テ ィ ベー ト と デ ィ ア ク テ ィ ベー ト 313 デー タ の変換 241 パ ッ チの適用 OS と Oracle 395 SharePlex 394 ア プ リ ケーシ ョ ン 384 「変更」 も 参照 防止 DML の複製 432 SharePlex の ト リ ガ 434 ラ イ セ ン スキーの追加 453 は バージ ョ ン Oracle JDBC ド ラ イ バ 110 SharePlex、 別のバージ ョ ン 51 パーテ ィ シ ョ ン セ レ ク テ ィ ブ カ ラ ム レ プ リ ケーシ ョ ン 166 セ レ ク テ ィ ブ ロ ー レ プ リ ケーシ ョ ン 152 パーテ ィ シ ョ ン化テ ーブル と 複製 316 パーテ ィ シ ョ ン化 レ プ リ ケーシ ョ ン 行 (水平) 151 説明 81, 122 と ア プ リ ケーシ ョ ンのパ ッ チ ま たはア ッ プ グ レ ー ド 386 変更 325 列 (垂直) 164 パーテ ィ シ ョ ン スキーマ と コ ン デ ィ シ ョ ン 作成 155 サポー ト す る デー タ 型 と 構文 158 説明 152 追加 と 変更 325 表示 163 索引 バイナ リ 実行中 24 場所 11 バッ クアッ プ Oracle ホ ッ ト バ ッ ク ア ッ プ quiet database 297 ア ク テ ィ ブ な ソ ースデー タ ベース 289 SharePlex 119 部分シ ス テム 419 フ ルシ ス テム 420 パッチ Oracle ホ ッ ト バ ッ ク ア ッ プ ま たは DBCopy を使用 し て適用 390 OS と Oracle 395 SharePlex 394 ア プ リ ケーシ ョ ン 384 バ ッ チ ロ ー ド 99 バ ッ フ ァ サ イ ズ 106 パ フ ォ ーマ ン ス、 向上 Post プ ロ セ スのチ ュ ーニ ン グ ??–241 使用 indices 88 キー 85 チ ェ ッ ク 制約の無効化 91 変更 Post の read/release 106 バ ッ フ ァ サイ ズ 106 プ ロ セスの優先順位 117 パラ メ ータ NULL が許可 さ れたキー 85 read/release 間隔 106 SharePlex テ キス ト エデ ィ タ 264 SharePlex のポー ト 番号 257 SharePlex 変数デー タ デ ィ レ ク ト リ 255 SNMP ト ラ ッ プ 369 SQL キ ャ ッ シ ュ 237 SSH 269 キ ュ ーの共有 メ モ リ 95 531 532 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 数 DML ロ ッ ク 103 Oracle 内のプ ロ セス 104 オープ ン カ― ソ ル 103 ヒ ン ト 234 全テ ーブルへの conflict resolution の使用 231 複製 DDL 96 post し たデー タ 192 ダ イ レ ク ト ロー ド 100 ひ ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 確立 202 在庫お よ び会計バ ラ ン スの更新 210 説明 72 タ ーゲ ッ ト テ ーブルのア ク セ ス 84 ト ラ ンザ ク シ ョ ン優先順位の割 り 当て 212 要件 LOB 複製 95 アー カ イ ブ ロギン グ 101 カ スケー ド 削除 90, 209 シーケ ン ス 93, 209 ト リ ガ 91, 209 プ ラ イ マ リ キー 86, 207 日付、 複製 110 非同期テ ーブル 原因 74, 101 文の表示 14 防止計画 80 非同期転送 8 表示 queues ス テー タ ス と デ ィ ス ク 領域 437 名前 436 SQL Cache ヒ ッ ト カ ウ ン ト 239 Windows シ ス テム上の SharePlex プ ロ セ ス 27 ア ク テ ィ ベーシ ョ ン ス テ ー タ ス 316 設定統計 316 索引 パーテ ィ シ ョ ン スキーマ 163 非同期 SQL 14 並行セ ッ シ ョ ン数 238 ヒ ン ト 、 Post プ ロ セ ス を促進す る ために使用 234 ふ フ ェ イ ルオーバー と フ ェ イ ルバ ッ ク 計画 さ れて い ない 328 計画的 340 バ ッ ク ア ッ プの準備 119 複数 Post プ ロ セ ス 11 UPDATES と DELETES、 お よ び イ ン デ ッ ク ス群 234 同 じ 名前 を持つ複数オ ブ ジ ェ ク ト 130 シ ス テム上の設定 6 ソ ース シ ス テム 集中化レ ポー ト 71, 198 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ン 72, 202 タ ーゲ ッ ト シ ス テム 設定 139 説明 68–70 同一シ ス テム上の SharePlex イ ン ス タ ン ス 45, 48 同一シ ス テム上のデー タ ベース 141 バージ ョ ン SharePlex 51 変数デー タ デ ィ レ ク ト リ 45 ポー ト 番号 256 複製 DDL 96 LOB 94 LONG 96 REDO ロ グ をバ イ パスす る操作 103 SharePlex の複製の仕組み 10 オ ブ ジ ェ ク ト リ レ ーシ ョ ナル構造 94 カ ス ケー ド 削除 90 監視 SNMP 368 UNIX ス ク リ プ ト 346 起動 と 停止 28–32 533 534 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) 計画 と 要件 57 高可用性お よ びデー タ リ カ バ リ 確立 182 説明 67 サポー ト お よ び非サポー ト の Oracle コ ン ポーネ ン ト 58 シーケ ン ス 92 集中化 レ ポー ト 確立 195–201 説明 71 初期状態への回復 448 選択 さ れた行 151 選択 さ れた列 164 ダ イ レ ク ト パス に よ る ロ ー ド 99 中間シ ス テム を通 し た分散 確立 188 説明 70 デー タ ウ ェ アハウ ス/デー タ マー ト 確立 195–201 説明 71 デー タ 分散 確立 185 説明 68 テ ーブル全体 81 同一シ ス テム内のテ ーブル間 66, 178 特定の ト ラ ンザ ク シ ョ ン に対す る防止 432 ト リ ガか ら の DML 91 負荷バ ラ ン シ ン グ 確立 185 説明 69 複数 ピ ア 確立 202 説明 72 分散処理 確立 185 説明 69 メ ッ セージ , 定義 12 レ ポー ト 65 確立 178 説明 65 複製中のデー タ の変換 241 複製におい ての一貫性制約 89 索引 複製の最中名前 を変更 374 複製の ト ラ ブルシ ュ ーテ ィ ン グ , 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 プ リ イ メ ージ 75 ブ ロ ー ド キ ャ ス ト 複製 確立 185–194 用途 処理の分散 と 負荷バ ラ ン シ ン グ 69 デー タ の分散 68 プ ロセス SharePlex, 説明 10 SharePlex の起動、 プ ロ セ ス な し 40 Task Manager の タ ブ 279 監視 UNIX シ ス テムの場合 356 Windows シ ス テムの場合 362 場所 11 複数の sp_cop 45 優先順位、 SharePlex への設定 UNIX シ ス テムの場合 117 Windows シ ス テムの場合 278 リ モー ト での表示お よ び終了 (Windows) 470 プ ロ セ ス ID 30 プ ロ セ ス当た り の メ モ リ 要件 115 分散処理 説明 69 複製の設定 185 へ 変更 OPEN_CURSORS 103 ORACLE_HOME の場所 379 post す る代わ り のデー タ 241 SharePlex テ キス ト エデ ィ タ 264 SharePlex ユーザー名 413 SharePlex レ ジ ス ト リ エ ン ト リ 281 target objects 83 UNIX シ ス テム上の SharePlex パス ワー ド 409 Windows シ ス テムでのプ ロ セ スの優先順位 278 Windows シ ス テムでの SharePlex ス タ ー ト ア ッ プ 274 535 536 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) オ ブ ジ ェ ク ト の移動 372 キーの値 86 設定 318 タ ーゲ ッ ト ORACLE_SID 380 ト ラ ン ス フ ォ ー メ ーシ ョ ン フ ァ イ ル 254 ト リ ガの WHEN 句 435 変更 , SharePlex で どの よ う に適用 さ れ るか 12 変数、 環境 UNIX シ ス テムの場合 255 Windows シ ス テムの場合 変数デー タ デ ィ レ ク ト リ 説明 15 複数の sp_cop プ ロ セ スの実行 45 ほ 防止 DML ト ラ ンザ ク シ ョ ンの複製 432 OPEN_CURSORS エ ラ ー 103 Oracle への接続の失敗 104 Post 中の open-files 制限 115 Post 中の完全な テ ーブルスキ ャ ン 88 SHAREPLEX_TRANS テ ー ブル上の競合 110 SharePlex 環境の損失 119 SharePlex での DML ロ ッ ク 不足防止 103 SharePlex プ ロ セ スの失敗 115 sp_ctrl への不正な接続 266 カ ス ケー ド 削除の実行の 90 キ ャ ラ ク タ セ ッ ト エ ラ ー 106 キ ュ ーの容量問題 113 行移動操作の複製 373 タ ーゲ ッ ト 上での ト リ ガの実行 91 タ ーゲ ッ ト テ ーブルのア ク セ ス 83 タ ーゲ ッ ト での参照性合成の破損 90 小 さ い ト ラ ンザ ク シ ョ ンの過剰な Post I/O 106 ド ラ イ ブ関連の I/O 競合 111 ピ ア ト ゥ ピ ア レ プ リ ケーシ ョ ンのキー変更 207 プ ロ セ スの優先順位に関連 し た低速化 117 ユーザーに よ る重複デー タ 入力の防止 88 ロ グの ラ ッ プ関連の問題 101 索引 ポー ト 番号 設定 Windows シ ス テムの場合 259 複数の SharePlex の イ ン ス タ ン ス UNIX シ ス テムの場合 45 Windows シ ス テムの場合 48 複数の SharePlex バージ ョ ン 51 設定 UNIX シ ス テムの場合 256 保存 SpClient 出力 466 シ ャ ッ ト ダウ ン時の複製の状態 33 バ ッ ク ア ッ プ用の フ ァ イ ル 119 ホッ トバッ クアッ プ Oracle、 同期 289, 297 め メ ッ セージ 12 メモリ LOB 複製 94 SharePlex プ ロ セ スの要件 115 キ ュ ーが使用す る メ モ リ 113 も 問題解決 , 『SharePlex リ フ ァ レ ン ス ガ イ ド 』 を参照 ゆ ユーザー SharePlex SYS.QSA_KTFBUE ビ ュ ー用の 89 UNIX シ ス テム上の変更 409 ト リ ガの無効化 91 SharePlex を起動す る グルー プ 29, 31 sp_ctrl の コ マ ン ド レ ベル 36 グループのための フ ァ イ ル 119 コ マ ン ド ラ イ ン イ ン タ ー フ ェ イ ス 14, 24 タ ーゲ ッ ト シ ス テムのア ク セ ス 83 537 538 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) ユーザー定義の型 計画 94 パーテ ィ シ ョ ン化 レ プ リ ケーシ ョ ン 151 ユーザー補助機能 xv 優先順位、 SharePlex への設定 UNIX シ ス テムの場合 117 Windows シ ス テムの場合 278 ユーテ ィ リ テ ィ SharePlex の管理 461 ネ ッ ト ワー ク 問題のデバ ッ ギ ン グ 445 複製の監視 346 リ モー ト ア ク セ ス 464 よ 用語、 集ま り 473 用語の集ま り 473 読込み一貫性マー カ ー 15 ら ラ イ セ ン スキー 追加 454 表示 455 り リ モー ト シ ス テム sp_ctrl コ マ ン ド の発行 37 ア ク セ スの制御 266 セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン 122 複製方法 68, 69, 188 ユーテ ィ リ テ ィ の実行 464 る ルーテ ィ ン グ マ ッ プ 制限 133 設定 フ ァ イ ルのプ レ ース ホルダ 162 索引 説明 131 セ レ ク テ ィ ブ ロ ー レ プ リ ケーシ ョ ン 157 複数の タ ーゲ ッ ト シ ス テム 123 ルーテ ィ ン グ マ ッ プのプ レ ース ホルダ 162 れ 例外マー カ ー 162 レ ジ ス ト リ 、 変更 SharePlex 環境 281 SharePlex テ キス ト エデ ィ タ 264 SharePlex のポー ト 番号 259 列 LOB の追加 372 水平分割 レ プ リ ケーシ ョ ン 158 セ レ ク テ ィ ブ レ プ リ ケーシ ョ ン 164 複製の要件 82 列 レ ベルの複製 設定 164 説明 122 変更 325 水平分割 設定 151 説明 122 変更 325 レ ポー ト デー タ ウ ェ アハウ ス/デー タ マー ト のための複製 確立 195–201 ろ ロ ー カ ル管理テ ーブル領域 イ ン デ ッ ク ス編成 さ れた テ ーブル 89 ロ ー カ ルシ ス テム、 SpClient での ロ グオ ン 467 ロ ーデバ イ ス redo ロ グ 100 SharePlex 112 ロー ド バラ ンス 説明 69 複製の設定 185 539 540 SHAREPLEX® FOR ORACLE 管理者ガ イ ド バー ジ ョ ン 7.6 ( ド キ ュ メ ン ト バージ ョ ン 3) ロ ールバ ッ ク セグ メ ン ト 最適の場所 112 ログ redo 100 sp_eventmon 349 sp_logmon 353 sp_ps 356 sp_qstatmon 359 アー カ イ ブ 101 非同期 SQL 14 ロ グ イ ン セキ ュ リ テ ィ 機能 266 ロ ッ ク 、 DML 103
© Copyright 2024 Paperzz