ヘッダーをスキップ
Oracle® GoldenGate Oracle GoldenGateの管理for Windows and UNIX
12c (12.1.2)
E49846-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

E チェックポイントについて

この付録では、チェックポイントに関する情報について説明します。Oracle GoldenGateで作業する場合、状況に応じて、プロセスで作成されるチェックポイントを参照する必要があります。チェックポイントは、リカバリの目的でプロセスの状態を保存します。ExtractおよびReplicatではチェックポイントを使用します。

この付録の内容は次のとおりです。

E.1 Extractチェックポイント

正確なチェックポイントの位置は、データ・ソースの読取りチェックポイントと証跡の書込みチェックポイントで構成されます。次に、SHOWCHオプションを指定したINFO EXTRACTコマンドで表示されるチェックポイント情報の例を示します。ここでは、データ・ソースはOracle RACデータベース・クラスタなので、出力にはスレッド情報も含まれています。過去のチェックポイントを表示するには、表示するチェックポイント番号をSHOWCH引数に続いて指定します。

例E-1 INFO EXTRACTとSHOWCH

EXTRACT    JC108XT Last Started 2011-01-01 14:15   Status ABENDED
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint  File /orarac/oradata/racq/redo01.log
            2011-01-01 14:16:45  Thread 1, Seqno 47, RBA 68748800
Log Read Checkpoint  File /orarac/oradata/racq/redo04.log
            2011-01-01 14:16:19  Thread 2, Seqno 24, RBA 65657408

Current Checkpoint Detail:

Read Checkpoint #1

    Oracle RAC Redo Log
    Startup Checkpoint (starting position in data source):
        Thread #: 1
        Sequence #: 47
        RBA: 68548112
        Timestamp: 2011-01-01 13:37:51.000000
        SCN: 0.8439720
        Redo File: /orarac/oradata/racq/redo01.log
    
Recovery Checkpoint (position of oldest unprocessed transaction in data source):
        Thread #: 1
        Sequence #: 47
        RBA: 68748304
        Timestamp: 2011-01-01 14:16:45.000000
        SCN: 0.8440969
        Redo File: /orarac/oradata/racq/redo01.log

    Current Checkpoint (position of last record read in the data source):
        Thread #: 1
        Sequence #: 47
        RBA: 68748800
        Timestamp: 2011-01-01 14:16:45.000000
        SCN: 0.8440969
        Redo File: /orarac/oradata/racq/redo01.log

Read Checkpoint #2

    Oracle RAC Redo Log

    Startup Checkpoint(starting position in data source):
        Sequence #: 24
        RBA: 60607504
        Timestamp: 2011-01-01 13:37:50.000000
        SCN: 0.8439719
        Redo File: /orarac/oradata/racq/redo04.log

Recovery Checkpoint (position of oldest unprocessed transaction in data source):
        Thread #: 2
        Sequence #: 24
        RBA: 65657408
        Timestamp: 2011-01-01 14:16:19.000000
        SCN: 0.8440613
        Redo File: /orarac/oradata/racq/redo04.log

    Current Checkpoint (position of last record read in the data source):
        Thread #: 2
        Sequence #: 24
        RBA: 65657408
        Timestamp: 2011-01-01 14:16:19.000000
        SCN: 0.8440613
        Redo File: /orarac/oradata/racq/redo04.log

Write Checkpoint #1

    GGS Log Trail

    Current Checkpoint (current write position):

        Sequence #: 2
        RBA: 2142224
        Timestamp: 2011-01-01 14:16:50.567638
        Extract Trail: ./dirdat/eh

    Header:
        Version = 2
        Record Source = A
        Type = 6
        # Input Checkpoints = 2
        # Output Checkpoints = 1

    File Information:
        Block Size = 2048
        Max Blocks = 100
        Record Length = 2048
        Current Offset = 0

    Configuration:
        Data Source = 3
        Transaction Integrity = 1
        Task Type = 0

    Status:
        Start Time = 2011-01-01 14:15:14
        Last Update Time = 2011-01-01 14:16:50
        Stop Status = A
        Last Result = 400

SHOWCH出力のHeaderエントリから始まる内部情報の詳細は、E.3項を参照してください。

E.1.1 Extract読取りチェックポイントについて

Extractは、データ・ソースに読取りチェックポイントを作成します。

E.1.1.1 開始チェックポイント

開始チェックポイントは、プロセスの起動時にデータ・ソースに作成される最初のチェックポイントです。この統計は、次のもので構成されます。

  • Thread #: Oracle GoldenGateがOracle RAC環境で実行されている場合は、このチェックポイントを作成したExtractスレッドの番号。それ以外の環境で実行されている場合、この統計は表示されません。

  • Sequence #: チェックポイントが作成されたトランザクション・ログの順序番号。

  • RBA: チェックポイントが作成されたレコードの相対バイト・アドレス。

  • Timestamp: チェックポイントの作成時のレコードのタイムスタンプ。

  • SCN: チェックポイントが作成されたレコードのシステム変更番号。

  • Redo File: チェックポイントが作成されたレコードを含むトランザクション・ログのパス名。

E.1.1.2 リカバリ・チェックポイント

リカバリ・チェックポイントは、Extractによってまだ処理されていない最も古いトランザクションを含むレコードのデータ・ソース内の位置です。この統計のフィールドは、他のタイプの読取りチェックポイントに含まれるフィールドと同じです。

E.1.1.3 現在のチェックポイント

現在のチェックポイントは、Extractが読み取った最新レコードのデータ・ソース内の位置です。この値は、サマリー、およびオプションなしの基本のINFO EXTRACTコマンドで表示されるLog Read Checkpoint統計と同じになるはずです。この統計のフィールドは、他のタイプの読取りチェックポイントに含まれるフィールドと同じです。

E.1.2 Extract書込みチェックポイントについて

Extractは、証跡に、現在のチェックポイントと呼ばれる書込みチェックポイントを作成します。現在のチェックポイントは、Extractが現在書き込んでいる証跡内の位置です。この統計は、次のもので構成されます。

  • Sequence #: チェックポイントが書き込まれた証跡ファイルの順序番号。

  • RBA: チェックポイントが作成された証跡ファイル内レコードの相対バイト・アドレス。

  • Timestamp: チェックポイントの作成時のレコードのタイムスタンプ。

  • Extract trail: 証跡の相対パス名。

  • Trail Type: 証跡タイプを識別します。EXTTRAILでは、証跡をローカル証跡として識別します。これは、ホスト・ファイルシステム全体でOracle GoldenGateプロセスによって直接アクセス可能であることを意味します。RMTTRAILでは、証跡をリモート証跡として識別します。これは、ホスト・ファイルシステム全体でOracle GoldenGateプロセスによって直接アクセス不可であることを意味します。共有ネットワーク・デバイスに格納され、NFSのようなサービスを介してアクセス可能な証跡は、ホスト・ファイルシステム全体で透過的にアクセス可能であるため、ローカルとみなされます。

E.2 Replicatチェックポイント

Replicatは、最新の読取り位置をマーク付けするために、証跡ファイルにチェックポイントを作成します。プロセス・チェックポイントを表示するには、INFO REPLICATコマンドをSHOWCHオプションとともに使用します。基本コマンドでは、現在のチェックポイントを表示します。特定の番号の過去のチェックポイントを表示するには、番号の値をSHOWCH引数に続いて入力します。

例E-2 INFO REPLICAT、SHOWCH

REPLICAT   JC108RP   Last Started 2011-01-12 13:10   Status RUNNING
Checkpoint Lag       00:00:00 (updated 111:46:54 ago)
Log Read Checkpoint  File ./dirdat/eh000000
                     First Record  RBA 3702915
Current Checkpoint Detail:
    Read Checkpoint #1
    GGS Log Trail
    Startup Checkpoint(starting position in data source):
    Sequence #: 0
    RBA: 3702915
    Timestamp: Not Available
    Extract Trail: ./dirdat/eh
    Current Checkpoint (position of last record read in the data source):
    Sequence #: 0
    RBA: 3702915
    Timestamp: Not Available
    Extract Trail: ./dirdat/eh
    Header:
    Version = 2
    Record Source = A
    Type = 1
    # Input Checkpoints = 1
    # Output Checkpoints = 0
    File Information:
    Block Size = 2048
    Max Blocks = 100
    Record Length = 2048
    Current Offset = 0
    Configuration:
    Data Source = 0
    Transaction Integrity = -1
    Task Type = 0
    Status:
    Start Time = 2011-01-12 13:10:13
    Last Update Time = 2011-01-12 21:23:31
    Stop Status = A
    Last Result = 400

SHOWCH出力のHeaderエントリから始まる内部情報の詳細は、E.3項を参照してください。

E.2.1 Replicatチェックポイントについて

次に、証跡内のReplicatチェックポイントの詳細を説明します。

E.2.1.1 開始チェックポイント

開始チェックポイントは、プロセスの起動時に証跡に作成される最初のチェックポイントです。この統計は次の情報で構成されます。

  • Sequence #: チェックポイントが書き込まれた証跡ファイルの順序番号。

  • RBA: チェックポイントが作成されたレコードの相対バイト・アドレス。

  • Timestamp: チェックポイントの作成時のレコードのタイムスタンプ。

  • Extract Trail: 証跡の相対パス名。

E.2.1.2 現在のチェックポイント

現在のチェックポイントは、Replicatが読み取った最新レコードの証跡内の位置です。この値は、サマリー、およびオプションなしの基本のINFO REPLICATコマンドで表示されるLog Read Checkpoint統計と同じになるはずです。この統計のフィールドは、Startup Checkpointに含まれるフィールドと同じです。

E.3 内部チェックポイント情報

SHOWCHオプションを使用したINFOコマンドでは、現在のチェックポイント・エントリだけでなく、レコード自体に関するメタデータ情報も表示されます。この情報は記載されておらず、サポート・ケースの解決時にOracle GoldenGateプロセスおよびサポート担当者が使用するためのものです。メタデータは、SHOWCH出力内の次のエントリに含まれています。

    Header:
    Version = 2
    Record Source = A
    Type = 1
    # Input Checkpoints = 1
    # Output Checkpoints = 0
    File Information:
    Block Size = 2048
    Max Blocks = 100
    Record Length = 2048
    Current Offset = 0
    Configuration:
    Data Source = 0
    Transaction Integrity = -1
    Task Type = 0
    Status:
    Start Time = 2011-01-12 13:10:13
    Last Update Time = 2011-01-12 21:23:31
    Stop Status = A
    Last Result = 400

E.4 Oracle GoldenGateチェックポイント表

データベース・チェックポイントを使用する場合、ADD CHECKPOINTTABLEコマンドを実行すると、Oracle GoldenGateによりユーザー定義名を使用してデータベースにチェックポイント表が作成されます。または、ユーザーがchkpt_db_create.sqlスクリプトを使用して表を作成することもできます。ここでdbはデータベースのタイプです。

2つの表があります: メイン・チェックポイント表と、自動的に作成される補助チェックポイント表です。補助表はトランザクション表と呼ばれ、_loxが付加されたプライマリ・チェックポイント表の名前が含まれています。各Replicatまたは調整されたReplicatの各スレッドでは、進捗情報を格納するためにチェックポイント表の1行を使用します。

チェックポイント時には、通常、適用された(合計nトランザクション間の)いくつかのトランザクションがあり、残りは進行中です。たとえば、Replicatが、CSN1からCSN3までの範囲のnトランザクションのグループを処理している場合を考えてみます。CSN1は高基準値で、CSN3は低基準値です。高基準値より高いCSNを持つトランザクションは処理されず、低基準値より低いCSNを持つトランザクションはすでに処理されています。完了したトランザクションは、チェックポイント表のLOG_CMPLT_XID列に格納されます。これらのトランザクションのオーバーフローは、トランザクション表(補助チェックポイント表)のLOG_CMPLT_XID列に格納されます。

現在、Replicat (または調整Replicatの各Replicatスレッド)では、トランザクションを(並列ではなく)順次適用します。そのため、高基準値(表のLOG_CSN値)は、低基準値(表のLOG_CMPLT_CSN値)と常に同じで、通常、LOG_CMPLT_XID列のトランザクションIDが1つのみ存在します。同じCSNを共有している複数のトランザクションが存在する場合のみ、例外です。

これらの表の列の名前または属性は、変更しないでください。表記憶域属性は必要に応じて変更できます。

表E-1 チェックポイント表の定義

説明

GROUP_NAME (主キー)

チェックポイントにこの表を使用するReplicatグループの名前。複数のReplicatグループで同じ表を使用できます。この列は主キーの一部です。

GROUP_KEY (主キー)

同じ表に書き込むReplicatグループの数にかかわらず、GROUPNAMEとともにチェックポイントを一意に識別する、一意の識別子。この列は主キーの一部です。

SEQNO

Replicatがチェックポイント時に読み取っていた入力証跡の順序番号。

RBA

SEQNOで識別される証跡でReplicatが到達した相対バイト・アドレス。RBASEQNOを合せて、チェックポイント時のReplicatの進捗を識別する証跡内の絶対位置を示します。

AUDIT_TS

ソース・トランザクションのコミットのタイムスタンプ。

CREATE_TS

チェックポイント表の作成日時。

LAST_UPDATE_TS

チェックポイント表の最終更新日時。

CURRENT_DIR

現在のOracle GoldenGateのホーム・ディレクトリまたはフォルダ。

LOG_CSN

CSNの高基準値(上限)を格納します。この値より高いCSNを持つトランザクションは処理されません。

LOG_XID

使用されません。下位互換性のために保持されます。

LOG_CMPLT_CSN

CSNの低基準値(下限)を格納します。この値より低いCSNを持つトランザクションはすでに処理されています。

LOG_CMPLT_XIDS

すでに適用されている高基準値と低基準値の間のトランザクションを格納します。

VERSION

チェックポイント表形式のバージョン。表のバージョン番号として識別するための将来の拡張を有効にします。


表E-2 トランザクション表の定義

説明

GROUP_NAME

チェックポイントにこの表を使用するReplicatグループの名前。複数のReplicatグループで同じ表を使用できます。この列はトランザクション表の主キーの一部です。

GROUP_KEY

同じ表に書き込むReplicatグループの数にかかわらず、GROUPNAMEとともにチェックポイントを一意に識別する、一意の識別子。この列はトランザクション表の主キーの一部です。

LOG_CMPLT_CSN

チェックポイント表を参照する外部キー。この列はトランザクション表の主キーの一部です。

LOG_CMPLT_XIDS_SEQ

多くのオーバーフロー・トランザクションがあるため、それらすべてを格納するために複数の行が必要な場合に、一意の行を作成します。この列はトランザクション表の主キーの一部です。

LOG_CMPLT_XIDS

すでに適用されている高基準値と低基準値の間のトランザクションのオーバーフローを格納します。