Chat now with support
Chat with Support

SharePlex 11.4 - 管理者ガイド

このガイドについて このガイドで使用される表記規則 SharePlexの概要 SharePlexの実行 SharePlexの複数のインスタンスの実行 sp_ctrlでのコマンドの実行 SharePlexパラメータの設定 データレプリケーションの設定 コンテナデータベースとの間のレプリケーションの設定 名前付きキューの設定 分割レプリケーションの設定 変更履歴ターゲットへのレプリケーションの設定 レプリケーション戦略の設定 DDLレプリケーションの設定 エラー処理の設定 データトランスフォーメーションの設定 セキュリティ機能の設定 SharePlexユーザのセキュリティグループへの割り当て 本番システムでのレプリケーションの開始 SharePlexの監視 レプリケーションの問題の防止と解決 非同期データのrepair Captureプロセスの調整 Postプロセスの調整 Oracleフェールオーバー後のレプリケーションのリカバリ アクティブなレプリケーション環境に対する変更 Oracleアプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲットのOracleデータのバックアップ トラブルシューティングのヒント 付録A: ピアツーピア図 付録B: SharePlex環境変数

情報の可用性に関する戦略

SharePlexを使用すれば、信頼性が高く、継続的に更新される代替データベースとして、複製データベースをさまざまな方法で使用することができます。以下の戦略により、必要な時に必要なユーザに適切なデータを届けることができます。

: これらのトポロジーのサポートは、関係するデータベースのタイプによって異なることがあります。

図1: SharePlexのレプリケーション戦略の概要

レポーティングインスタンス

SharePlexによって管理されるターゲットは、レポートおよびクエリ処理のオフロードに理想的です。これは、最新の状態を維持したままこれらのターゲットにアクセスすることができ、最適なクエリパフォーマンスのために設計されたキーとインデックスを使用して最適化できるからです。OLTPユーザからパフォーマンスに関する苦情を受けることなく、レポートを一日中実行することができます。月末や四半期末のようなレポート作成の多い時期でも、アプリケーションの応答時間はレポートの多さによる影響を受けません。また、レポートに反映されるデータの正確性について、組織の意思決定者は高く評価することでしょう。詳細については、「データを共有または配布するためのレプリケーションの設定ページを参照してください。

ブロードキャストとカスケード

多くのリモートユーザがプライマリデータベースに保存されたデータにアクセスしたり、データを使用したりする場合、SharePlexのレプリケーションによって、最新の状態に保たれている1つまたは複数のセカンダリデータベースに処理を移すことができます。このように、プライマリデータベースとシステムをトランザクション向けに最適化された状態に維持できます。SharePlexは、中間システムを通じてデータをリモートシステムにカスケードし、プライマリデータベースに直接ネットワーク接続できないリモートユーザにアクセスを提供することもできます。詳細については、「中間システムを介したレプリケーションの設定」の中間システムを介したレプリケーションの設定

データウェアハウス

SharePlexは、多数のソースシステムから1つのターゲットシステムにレプリケートできます。これは、データウェアハウスやデータマートにデータを統合し、組織全体で情報を利用できるようにしてクエリやレポート作成を行うのに理想的な構成です。レプリケーションされるデータを制御し、異なるターゲット構造に適合するようにデータを変換するオプションがあります。これらの機能により、ユーザが適切な意思決定を行うために必要な、特定のタイムリーな情報をデータウェアハウスに入力することができます。詳細については、「中央データストアを維持するためのレプリケーションの設定ページを参照してください。

高可用性とディザスタリカバリ

SharePlexは、ローカルまたはワイドエリアネットワーク上で複製データベースを管理するために使用できます。緊急時やプライマリサーバでの定期的なメンテナンス時には、本番稼働環境を代替サイトに移動させることができます。SharePlexのレプリケーションにより、セカンダリデータベースをクエリやレポート作成に使用できます。詳細については、「高可用性を維持するためのレプリケーションの設定ページを参照してください。

ピアツーピア

SharePlexは、複数のソースデータベース間のレプリケーションをサポートします。SharePlexでは、同期を維持しながら、各システムのアプリケーションが同じデータに変更を加えることができます。この戦略では、通常はデータベースは互いのミラーイメージであり、すべてのオブジェクトがすべてのシステム上にそのまま存在します。高可用性戦略と利点は似ていますが、両者の違いは、ピアツーピアでは同じデータへの同時変更が可能であるのに対し、高可用性ではプライマリデータベースがオフラインになった場合にのみセカンダリデータベースへの変更が可能である点です。ピアツーピアレプリケーションを使用するいくつかの方法としては、異なる場所からのアクセスを可能にすることでデータベースの可用性と柔軟性を維持したり、大量のオンライントランザクション処理を複数のアクセスポイントに分散させたりすることが挙げられます。詳細については、「ピアツーピアレプリケーションの設定 ページを参照してください。

導入前のテスト

本番稼働システムにSharePlexを実装する前に、必ず本番稼働環境のミラーでテストを実施し、SharePlexがお客様の要件をサポートするように適切に設定されていることを確認してください。テストでは、レプリケーションのパフォーマンスや可用性に影響するネットワークやリソースの問題など、設定エラーや予期しない環境の問題をカバーすることができます。

さらに、SharePlexのようなエンタープライズアプリケーションの使用をサポートするインフラストラクチャが組織内に整備されていることが前提となります。以下にその一例を挙げますが、これらに限定されません。

  • データベースとSharePlexドキュメントの入手と使用
  • ユーザ向けトレーニングプログラム
  • 業務の中断を最小限に抑えるロールアウトおよびアップグレード計画。SharePlexがアプリケーションのインフラストラクチャの一部として実装される場合、新しいアプリケーション機能をSharePlexと連動させて非本番稼働環境でテストすることを強く推奨します。
  • SharePlexプロセスの適切なシャットダウン、システムまたはデータベースのメンテナンスに対応するための未処理のトランザクションレコードやレプリケーションキューの保存など、SharePlexの依存関係を考慮したデータベースまたはシステムのメンテナンス手順
  • 権限のない者がSharePlexのデータレコードにアクセスしたり、設定を変更したりすることを防ぐ十分なセキュリティ

SharePlexのプロフェッショナル・サービス・チームは、お客様の環境におけるSharePlexの準備、インストール、および導入をサポートします。

SharePlexの実行

この章では、UNIXおよびLinuxでSharePlexを実行する手順を説明します。

内容

UNIX上でのSharePlexの実行

UnixおよびLinuxでのSharePlexの実行

UnixおよびLinuxシステムでは、sp_copプログラムを実行してSharePlexを起動します。設定をアクティブにすると、sp_copが、必要な子レプリケーションプロセスを同じシステム上で開始します。開始したsp_copの各インスタンスは、それ自身の子レプリケーション・プロセス・セットの親となります。sp_copプロセスは、レプリケーション設定の一部である各システム上で開始する必要があります。

sp_copを開始するには、以下の2つの方法があります。

  • オペレーティングシステムのコマンドラインから
  • システム起動時にスタートアップファイルの一部として

重要: SharePlexはkornkshまたはCcshシェルから実行します。

  • Bourneシェルshは、バックグラウンドプロセスの処理方法がSharePlexと互換性がないため、使用しないでください。Bourneシェルを使用する必要がある場合は、シェルをkshまたはcshに切り替えてSharePlexを実行し、シェルを終了してBourneシェルに戻ります。
  • Exceed Xウィンドウエミュレータを使用する場合は、POSIXのデフォルトのシェルからkshシェルに切り替え、kshシェルのみからsp_copを実行します。

UnixおよびLinuxでの起動シーケンス

レプリケーションに関与するシステムを起動する場合は、この順序でコンポーネントを開始します。

  1. システムを起動します。
  2. ソースデータベースとターゲットデータベースを起動します。
  3. SharePlexを起動します。
  4. sp_ctrlを開始します。
  5. SharePlexプロセスが開始されていることを、sp_ctrllstatusコマンドを発行して確認します。

    sp_ctrl> lstatus

  6. システム上のユーザを許可します。

UnixおよびLinuxでのSharePlexの起動

SharePlexを起動するには、SharePlexの管理者としてシステムにログオンする必要があります。ユーザ名は、/etc/groupファイル内のSharePlex adminグループに割り当てられている必要があります。詳細については、SharePlexセキュリティグループへのユーザの割り当てを参照してください。

表1: SharePlexの起動構文

方法 起動構文
フルパスを使用してrootから

$ /productdir/bin/sp_cop [-uidentifier] &

製品ディレクトリへのCD

$ cd /productdir/bin

$./sp_cop [-uidentifier] &

起動スクリプトから

#!/bin/ksh

cd productdir\bin

nohup sp_cop [-uidentifier] &

表2: SharePlex起動構文の説明

引数 説明
& SharePlexをバックグラウンドで実行します。
nohup 現在のユーザがログアウトした後も、SharePlexの起動をバックグラウンドで継続するように指示します。
-u識別子

一意の識別子を使用してsp_copを開始します。このオプションは、sp_copの複数のインスタンスがシステム上で動作している場合に使用します。これはSharePlexの一部の設定に必要です。詳細については、SharePlexの複数のインスタンスの実行を参照してください。

identifierには以下を使用します。

  • SharePlexポート番号-u2100など
  • レプリケーションが実行されているデータベースの識別子-uora12cなど
  • 任意の記述的識別子-utestなど

UnixおよびLinuxでのSharePlexプロセスの特定

sp_copの各セッションにはプロセスID番号があります。開始後にIDが返され、コマンドプロンプトが再び表示されます。sp_copの以前のセッションで設定が有効化されていた場合、レプリケーションは直ちに開始されます。アクティブな設定がない場合、sp_copはバックグラウンドでパッシブに実行されます。

UnixまたはLinuxシステムでは、ps -ef | grep sp_コマンドを使用して実行中のSharePlexプロセスを表示できます。

  • sp_copプロセスがrootプロセスです。
  • 以下の子プロセスは、ソースシステム上でsp_copによって生成されます。

    • CommandおよびControlプロセスsp_cnc
    • Capturesp_ocap
    • Readsp_ordr
    • Exportsp_xport
  • 以下の子プロセスは、ターゲットシステム上でsp_copによって生成されます。

    1. CommandおよびControlプロセスsp_cnc

    2. Importsp_mport
    3. PostデータベースがOracleの場合はsp_opst_mt、データベースがOpen Targetの場合はsp_xpst

各子プロセスの-uidentifierは親プロセスsp_copと同一です。これにより、sp_copの複数のセッションが実行されている場合に、関連するプロセスの識別が容易になります。

UnixおよびLinuxでのSharePlexの停止

SharePlexを停止するには、sp_ctrlshutdownコマンドを発行します。これは、各プロセスの状態を保存してディスクへのチェックポイントを実行し、バッファリングされたデータを読み取り/リリースし、子プロセスを削除するグレースフルシャットダウンです。キュー内のデータは、sp_copが再び開始されたときに処理できるように、安全な場所に残っています。SharePlexが大規模な処理を行っている場合は、シャットダウン処理に時間がかかることがあります。

shutdownコマンドでforceオプションを使用すると、必要に応じてレプリケーションを強制的にシャットダウンできます。この操作では、通常のシャットダウン手順をバイパスしてsp_copを即座に終了します。このコマンドの詳細については、『SharePlexリファレンスガイド』を参照してください。

UnixおよびLinuxでのシャットダウンの留意点

トランザクションアクティビティが実行されている間でも、SharePlexを短時間、安全にシャットダウンすることができます。次回SharePlexを起動したときに、必要に応じてREDOログまたはアーカイブログの適切な場所でレプリケーションを再開します。ただしベストプラクティスは、トランザクションアクティビティがある間はSharePlexを起動したままにすることです。そのようにしないと、SharePlexは再起動時に大量のREDOバックログを処理する必要があり、ソースデータとターゲットデータの間にレイテンシが発生します。

REDOログがラップされ、アーカイブログにアクセスできない場合は、ソースデータとターゲットデータの再同期が唯一の選択肢となります。REDOがまだ生成されている間にSharePlexを停止する場合は、常にこの点を考慮してください。

注: SharePlexとデータベースの両方をシャットダウンする場合は、最初にSharePlexをシャットダウンします。そうでない場合、SharePlexはデータベースに問題があったと解釈し、警告メッセージを生成します。

SharePlexを停止する代わりにsp_ctrlstopコマンドを使用して、必要に応じてSharePlexの個のレプリケーションプロセスを停止することができます。このコマンドの詳細については、『SharePlexリファレンスガイド』を参照してください。

LinuxでのSharePlex for PostgreSQLの実行

Linuxシステムでは、sp_copプログラムを実行してSharePlexを起動します。設定をアクティブにすると、sp_copが、必要な子レプリケーションプロセスを同じシステム上で開始します。開始したsp_copの各インスタンスは、それ自身の子レプリケーション・プロセス・セットの親となります。sp_copプロセスは、レプリケーション設定の一部である各システム上で開始する必要があります。

sp_copを開始するには、以下の2つの方法があります。

  • オペレーティングシステムのコマンドラインから
  • システム起動時にスタートアップファイルの一部として

重要: SharePlexはkornkshまたはCcshシェルから実行します。

警告: Bourneシェルshは、バックグラウンドプロセスの処理方法がSharePlexと互換性がないため、使用しないでください。Bourneシェルを使用する必要がある場合は、シェルをkshまたはcshに切り替えてSharePlexを実行し、シェルを終了してBourneシェルに戻ります。

LinuxでのSharePlexの起動

SharePlexを起動するには、SharePlexの管理者としてシステムにログオンする必要があります。ユーザ名は、/etc/groupファイル内のSharePlex adminグループに割り当てられている必要があります。詳細については、『SharePlex管理者ガイド』の「SharePlexユーザのセキュリティグループへの割り当て」を参照してください。

表3: SharePlexの起動構文

方法 起動構文
フルパスを使用してrootから

$ /productdir/bin/sp_cop [-uidentifier] &

製品ディレクトリへのCD

$cd /productdir/bin

$./sp_cop [-uidentifier] &

起動スクリプトから

#!/bin/ksh

cd productdir\bin

nohup sp_cop [-uidentifier] &

表4: SharePlex起動構文の説明

引数 説明
& SharePlexをバックグラウンドで実行します。
nohup 現在のユーザがログアウトした後も、SharePlexの起動をバックグラウンドで継続するように指示します。
-u識別子

一意の識別子を使用してsp_copを開始します。このオプションは、sp_copの複数のインスタンスがシステム上で動作している場合に使用します。これはSharePlexの一部の設定に必要です。詳細については、『SharePlex管理者ガイド』の「複数のSharePlexインスタンスの実行」を参照してください。

identifierには以下を使用します。

  • SharePlexポート番号-u2100など
  • レプリケーションが実行されているデータベースの識別子-pg13cなど
  • 任意の記述的識別子-utestなど

LinuxでのSharePlexプロセスの特定

sp_copの各セッションにはプロセスID番号があります。開始後にIDが返され、コマンドプロンプトが再び表示されます。sp_copの以前のセッションで設定が有効化されていた場合、レプリケーションは直ちに開始されます。アクティブな設定がない場合、sp_copはバックグラウンドでパッシブに実行されます。

Linuxシステムでは、ps -ef | grep sp_コマンドを使用して実行中のSharePlexプロセスを表示できます。

  • sp_copプロセスがrootプロセスです。

  • 以下の子プロセスは、ソースシステム上でsp_copによって生成されます。

    • CommandおよびControlプロセスsp_cnc
    • Capturesp_ocap
    • Readsp_ordr
    • Exportsp_xport
  • 以下の子プロセスは、ターゲットシステム上でsp_copによって生成されます。

    • CommandおよびControlプロセスsp_cnc

    • Importsp_mport
    • Postsp_xpst

各子プロセスの-uidentifierは親プロセスsp_copと同一です。これにより、sp_copの複数のセッションが実行されている場合に、関連するプロセスの識別が容易になります。

LinuxでのSharePlexの停止

SharePlexプロセスをシャットダウンする前に、アクティブな設定を非アクティブにし、以下のプロセスをチェックする必要があります。

  • ソースでのCapture/Read/Export
  • ターゲットでImport/Postが実行されていないこと

この詳細については、『Sharelexリファレンスガイド』の「設定の非アクティベーション」を参照してください。

SharePlexを停止するには、sp_ctrlshutdownコマンドを発行します。これは、各プロセスの状態を保存してディスクへのチェックポイントを実行し、バッファリングされたデータを読み取り/リリースし、子プロセスを削除するグレースフルシャットダウンです。キュー内のデータは、sp_copが再び開始されたときに処理できるように、安全な場所に残っています。SharePlexが大規模な処理を行っている場合は、シャットダウン処理に時間がかかることがあります。

shutdownコマンドでforceオプションを使用すると、必要に応じてレプリケーションを強制的にシャットダウンできます。この操作では、通常のシャットダウン手順をバイパスしてsp_copを即座に終了します。このコマンドの詳細については、『SharePlexリファレンスガイド』を参照してください。

Linuxでのシャットダウンの留意点

トランザクションアクティビティが実行されている間でも、SharePlexを短時間、安全にシャットダウンすることができます。次回SharePlexを起動すると、必要に応じて、WALファイルの適切な場所でレプリケーションを再開します。ただしベストプラクティスは、トランザクションアクティビティがある間はSharePlexを起動したままにすることです。そのようにしないと、SharePlexは再起動時にWALファイルの大量のバックログを処理する必要があり、ソースデータとターゲットデータの間にレイテンシが発生します。

注: SharePlexとデータベースの両方をシャットダウンする場合は、最初にSharePlexをシャットダウンします。そうでない場合、SharePlexはデータベースに問題があったと解釈し、警告メッセージを生成します。

SharePlexを停止する代わりにsp_ctrlstopコマンドを使用して、必要に応じてSharePlexの個のレプリケーションプロセスを停止することができます。このコマンドの詳細については、『SharePlexリファレンスガイド』を参照してください。

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating