ヘッダーをスキップ

Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド リリース6.0 B25769-01 |
| 目次 | 索引

前へ | 次へ |

## サブスクライバ・データ・ストア情報の表示

レプリケーションはTimesTenトランザクション・ログを使用して、サブスクライバ・サイトに送信する必要がある情報を保持します。サブスクライバ・データ・ストアとの通信が中断された場合、またはサブスクライバ・サイトが停止した場合、ログ・データが累積します。この項で説明する問合せの出力の一部から、各サブスクライバ・データ・ストアのために累積されたログ・データの量、各サブスクライバ・データ・ストアとの通信に最後に成功してから経過した時間を確認できます。

サブスクライバ・データ・ストアに関する情報を表示できます。

- コマンドラインから: ttRepAdmin -receiver -list
- プログラムから: ttReplicationStatusプロシージャ
- プログラムから: SQL SELECT文

## コマンドラインから: ttRepAdmin -receiver -list

マスター・データ・ストアのサブスクライバに関する情報をコマンドラインから表示するには、-receiver -listオプションを指定してttRepAdminユーティリティを使用します。

    ttRepAdmin -dsn masterDSN -receiver -list

##### 例5.7

この例では、「複数サブスクライバ・スキーム」で説明されているサブスクライバの出力を示します。

    > ttRepAdmin -dsn masterds -receiver -list
    Peer name         Host name                 Port    State  Proto
    ----------------  ------------------------ ------  ------- -----
    subscriber1ds     server2                   Auto    Start     10
    Last Msg Sent Last Msg Recv Latency TPS     RecordsPS Logs
    ------------- ------------- ------- ------- --------- ----
    0:01:12       -               19.41       5        52    2
    Peer name         Host name                 Port    State  Proto
    ----------------  ------------------------ ------  ------- -----
    subscriber2ds     server3                   Auto    Start     10
    Last Msg Sent Last Msg Recv Latency TPS     RecordsPS Logs
    ------------- ------------- ------- ------- --------- ----
    0:01:04       -               20.94       4        48    2

    最初の行には、サブスクライバの定義が表示されます。その次の行には、このサブスクライバのために保持されているログ・ファイルの数とともに、待機時間および速度の情報が表示されます。各フィールドについては、例5.10を参照してください。

問題が発生した場合

TTREP.REPLICATIONS表に指定したスキームが複数ある場合は、-schemeオプションを使用して、表示するスキームを指定する必要があります。そうしない場合、次のエラーを受信します。

    Must specify -scheme to identify which replication scheme to use

    最新のトラブルシューティング情報については、http://www.oracle.com/technology/documentation/timesten_doc.htmlにある『Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド』のレプリケーションのトラブルシューティングに関する章を参照してください。

## プログラムから: ttReplicationStatusプロシージャ

ttReplicationStatusプロシージャを使用して、特定のレプリケーション・データ・ストアのより詳細なステータスをプログラムから取得できます。

##### 例5.8

ttReplicationStatus使用して、マスター・データ・ストアに関するsubscriberdsデータ・ストアのレプリケーション・ステータスを取得します。マスター・データ・ストアから、次のように入力します。

    > ttIsql masterds
    Command> CALL ttReplicationStatus ('subscriberds');
    < subscriberds, myhost, 0, start, 1, 152959, repscheme, repl>
    1 row found.

    出力フィールドについては、例5.9を参照してください。

##### 例5.9

SQLExecDirect関数内でttReplicationStatusをコールして、subscriberdsデータ・ストアのレプリケーション・ステータスを取得することもできます。

    #define STATUS_LEN 30
    UCHAR status[STATUS_LEN];
    rc = SQLExecDirect( hstmt, (SQLCHAR *)
    "CALL ttReplicationStatus ('subscriberds')", SQL_NTS );
      if (rc == SQL_SUCCESS) {
       SQLBindCol(hstmt, 4, SQL_C_CHAR, status, STATUS_LEN, &cbStat);
      }

    次の表に、返される行の列を示します。

    列

    説明

    Subscriber name

    サブスクライバ・データ・ストアの名前。

    Host name

    サブスクライバをホスティングするマシンの名前。

    Port

    マスターからの更新を受信するサブスクライバ・エージェントで使用されるTCP/IPポート。値が0（ゼロ）の場合は、レプリケーションでポートが自動的に割り当てられたことを示します。

    State

    マスター・データ・ストアに対するサブスクライバの現在の状態（詳細は、「サブスクライバのレプリケーション状態の設定」を参照）。

    Logs

    マスター・データ・ストアがこのサブスクライバのために保持しているログ・ファイルの数。

    Last Msg Sent

    マスターがサブスクライバに最後にメッセージを送信してから経過した時間（秒）。これには、データ・ストア間で送信されたハートビート・メッセージが含まれることに注意してください。

    Replication scheme name

    使用するレプリケーション・スキームの名前。

    Owner name

    レプリケーション・スキームの所有者の名前。

## プログラムから: SQL SELECT文

マスターのサブスクライバに関する情報をプログラムから取得するには、次のSQL SELECT文を使用して、TTREP.REPPEERS、TTREP.TTSTORES、およびSYS.MONITOR表を問い合せます。

    SELECT t1.tt_store_name, t1.host_name, t1.rep_port_number,
    p.state, p.protocol, p.timesend, p.timerecv, p.latency,
    p.tps, p.recspersec, t3.last_log_file - p.sendlsnhigh + 1
      FROM ttrep.reppeers p, ttrep.ttstores t1, ttrep.ttstores t2,
       sys.monitor t3
      WHERE p.tt_store_id = t2.tt_store_id
       AND t2.is_local_store = 0X01
       AND p.subscriber_id = t1.tt_store_id
       AND p.replication_name = 'repscheme'
       AND p.replication_owner = 'repl'
       AND (p.state = 0 OR p.state = 1);

##### 例5.10

次に、前述のSELECT文の出力例を示します。

    < subscriber1ds, server2, 0, 0, 7, 1003941635, 0, -1.00000000000000, -1, -1, 1 >
    < subscriber2ds, server3, 0, 0, 7, 1003941635, 0, -1.00000000000000, -1, -1, 1 >

    ttRepAdminユーティリティまたはSQL SELECT文の出力には、次のフィールドが含まれます。

    フィールド

    説明

    Peer name

    サブスクライバ・データ・ストアの名前。

    Host name

    サブスクライバをホスティングするマシンの名前。

    Port

    マスターからの更新を受信するサブスクライバ・エージェントで使用されるTCP/IPポート。値が0（ゼロ）の場合は、レプリケーションでポートが自動的に割り当てられたことを示します。

    State

    マスター・データ・ストアに対するサブスクライバの現在のレプリケーション状態（詳細は、「サブスクライバのレプリケーション状態の設定」を参照）。

    Proto

    このマスターとマスターに対応するサブスクライバ間で通信するレプリケーションで使用される内部プロトコル。この値は無視できます。

    Last Msg Sent

    マスターがサブスクライバに最後にメッセージを送信してから経過した時間（秒）。これには、データ・ストア間で送信されたハートビート・メッセージが含まれることに注意してください。

    Last Msg Recv

    このサブスクライバがマスターから最後のメッセージを受信してから経過した時間（秒）。

    Latency

    マスターがメッセージを送信してからサブスクライバから最後の確認応答を受信するまでの平均待機時間（秒）。（「注意」を参照。）

    TPS

    マスターでコミットされ、サブスクライバで処理される、1秒当たりの平均トランザクション数。（「注意」を参照。）

    RecordsPS

    1秒当たりに送信される平均レコード数。（「注意」を参照。）

    Logs

    マスター・データ・ストアがサブスクライバのために保持しているログ・ファイルの数。

注意: Latency、TPSおよびRecordsPSは、レコードのバッチのレプリケート中に検出された平均値をレポートします。これらの値は、ワークロードが比較的一定でない場合、不安定になる可能性があります。値が-1の場合は、マスターのレプリケーション・エージェントがそのサブスクライバ・レプリケーション・エージェントとの通信を確立していないか、またはデータをサブスクライバ・レプリケーション・エージェントに送信していないことを示します。