この章には、Oracle GoldenGateのLogdumpユーティリティを使用するための手順が含まれます。Logdumpを使用すると、証跡または抽出ファイルに格納されているデータの検索、フィルタ、表示および保存を行えます。
|
注意: 証跡内のデータまたはチェックポイントに有害な影響を及ぼさないようにするには、Oracleサポート・アナリストまたはOracle GoldenGateを熟知したユーザーの手引きの元でのみLogdumpを使用します。 |
この項の内容は次のとおりです。
この項では、基本的なタスクの中でも特にファイルのオープン、表示の制御、ファイル内の移動および特定の情報のフィルタを行う基本的なLogdumpコマンドを紹介します。レコードのコンポーネントについても説明します。
この項の手順では、Logdump環境の設定方法およびレコードの表示の開始方法について説明します。
Oracle GoldenGateのインストール場所からlogdumpプログラムを実行します。Logdumpのコマンドラインには、編集コマンドや履歴コマンドを使用できるよう番号が付けられています。
次のコマンドでは、Oracle GoldenGate証跡レコードの分析時に最も多く使用される情報を表示するLogdump環境を設定します。
データとともにレコード・ヘッダーを表示するには、次のようにします。
Logdump 1> GHDR ON
レコード・ヘッダーにはトランザクションに関する情報が含まれています。
列情報を追加するには、次のようにします。
Logdump 2> DETAIL ON
列情報には、番号および長さが16進およびASCIIで含まれています。
16進およびASCIIのデータ値を列情報に追加するには、次のようにします。
Logdump 3> DETAIL DATA
ユーザー・トークンを表示するには、次のようにします。
Logdump 4> USERTOKEN ON
ユーザー・トークンは、TABLEまたはFILEマッピング文で指定され、特定の目的のために証跡ファイルに格納されるカスタム・ユーザー定義情報です。
自動的に生成されるトークンを表示するには、次のようにします。
Logdump 4> GGSTOKEN ON
Oracle GoldenGateで自動的に生成されるトークンには、トランザクションID (XID)、DML操作の行ID、フェッチ・ステータス(該当する場合)およびタグ値が含まれます。
表示されるレコード・データの量を制御するには、次のようにします。
Logdump 5> RECLEN length
Logdumpで行える基本的なタスクをいくつか次に示します。コマンドと使用可能な他のオプションの詳細は、第2章「Logdumpコマンド」のアルファベット順のリファレンスを参照してください。
次の優良なレコード・ヘッダーを検索するには、次のコマンドを入力します。
Logdump 8> SCANFORHEADER
あるいは、単に「SFH」と入力します。
トランザクションの始まり、中間および終わりを検索するには、次の手順を実行します。
ヘッダーと詳細を表示します。
Logdump 9> GHDR ON Logdump 10> DETAIL ON
次のレコードに移動します。
Logdump 11> N
レコード・ヘッダーのTransIndフィールドを表示します。次の表で、レコードの位置についてトランザクションとの関係で説明します。
| トランザクション・インジケータ | 説明 |
|---|---|
TransInd : . (x00) |
トランザクションの最初の文 |
TransInd : . (x01) |
トランザクションの中間の文 |
TransInd : . (x02) |
トランザクションの最後の文 |
TransInd : . (x03) |
トランザクションの唯一の文 |
「N」を押して次のレコードに移動し、TransIndフィールドを参照して各レコードがトランザクション内のどこにあるかを確認します。TransIndがx02またはx03の場合、次のレコードのTransIndはx00で新しいトランザクションの始まりです。
トランザクションの終わりをスキャンして検索するには、次のコマンドを入力します。
Logdump 20> SCANFORENDTRANS
あるいは、単に「SFET」と入力します。
表示されるレコードは、次のトランザクションの最初のレコードです。TransIndフィールドがx00であることで確認できます。
ファイル内の特定のRBAに移動するには、次のいずれかを行います。
ファイル内の任意のRBAに移動するには、次のようにします。
Logdump 35> POS rba
Logdump 36> N
これによって、そのRBAにあるレコードが表示されます。
ファイル内の最初のレコードに移動するには、次のようにします。
Logdump 37> POS FIRST
あるいは、次のコマンドを入力します。
Logdump 37> POS 0
特定のNonStopデータ・ファイル名を含むレコード以外を除外するには、次のコマンドを入力します。
Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume.file
特定の表名を含むレコード以外を除外するには、次のようにします。
NonStopシステムの場合:
Logdump 60> FILTER INCLUDE ANSINAMEcatalog.schema.table
WindowsまたはUNIXシステムの場合:
Logdump 60> FILTER INCLUDE FILENAME [container|catalog]schema.table
ここでNコマンドを使用すると、このフィルタに合うレコードのみが表示されます。反対に、特定の表名またはファイル名を含むレコードを除外し、それ以外を表示するには、INCLUDEオプションのかわりにEXCLUDEオプションを使用します。
複数の条件でフィルタするには、次のいずれかのコマンドを入力します。
Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume...file..; FILTER RECTYPE record_type; FILTER MATCH ALL
Logdump 60> FILTER INCLUDE ANSINAME catalog.schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL
Logdump 65> FILTER INCLUDE FILENAME schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL
複数の条件を指定する場合、フィルタ条件のいずれかに一致するよう検索するか、すべてに一致するよう検索するかに応じて、それぞれMATCH ANYまたはMATCH ALLを使用します。前述の例では、名前およびレコード・タイプ(通常INSERTなどの操作タイプ)でフィルタします。
ファイル全体を保存するには、次のコマンドを入力します。ここで、fileは新しいファイルの名前です。
Logdump 68> SAVE file
レコードのサブセットを保存するには、次のコマンドを入力します。
Logdump 69> SAVEfilenRECORDS
ロギングを開始するには、次のコマンドを入力します。
Logdump 71> LOG TO filename.txt
テキストをログに書き込むには、次のようにします。
Logdump 72> WRITELOG "text"
ロギングを停止するには、次のようにします。
Logdump 73> LOG STOP
現在のLogdump環境を表示するには、次のコマンドを入力します。
Logdump 74> ENV
これによって、有効な機能(フィルタ、ヘッダーの表示など)が表示され、現在の証跡と位置などの環境情報が表示されます。
LogdumpのTRANSHISTコマンドを他のLogdumpコマンドと組み合せて使用して、アプリケーションで大規模なトランザクションが生成されるかどうかを調べ、その相対サイズを確認します。TRANSHISTを使用すると、Logdumpによって内部履歴表で証跡ファイルまたは抽出ファイルに含まれているトランザクションのサイズが追跡されます。トランザクションは、サイズ(バイト数)の降順に並べられます。履歴表がいっぱいになると、最も小さいトランザクションが削除され、それより大きいトランザクションがリストに追加されます。
TRANSHISTによって生成される統計を使用するには、Logdumpで次の一連のコマンドを発行します。
TRANSHISTを使用して、トランザクションのサイズを追跡する履歴表のサイズを設定します。最大サイズは200バイトです。値0は、追跡を無効にします。
TRANSHIST n
TRANSRECLIMITまたはTRANSBYTELIMITコマンドを使用して、標準サイズのトランザクションと見なす下限を設定します。これらのコマンドによって、標準サイズのトランザクションは追跡されなくなります。標準サイズのトランザクションを除外すると、確認の必要のあるデータの量が少なくなります。
{TRANSBYTELIMIT n bytes | TRANSRECLIMIT n records}
LogdumpのCOUNTコマンドを使用して、トランザクション・サイズの統計を表示します。これは出力の最後に表示され、次のような内容です。
Transactions with at least 100 records or 100000 bytes 2011/02/01 09:31:24.000.000 00:00:00.000, Seq 0, RBA 13101 Bytes/Trans ..... 1168167 Records/Trans ... 1001 Files/Trans ..... 1 2011/02/01 09:31:35.000.000 00:00:11.000, Seq 0, RBA 1205292 Bytes/Trans ..... 1168167 Records/Trans ... 1001 Files/Trans ..... 1
Logdumpでファイルをスキャンし、情報をレポートします。
LogdumpのPOSITION RBAコマンドを使用して、COUNTの出力にリストされた各RBAに移動し、トランザクションが生成された表の名前を確認します。これらの表を個別の処理グループにグループ化し、標準サイズのトランザクションを生成する他の表の処理が影響を受けないようにできます。
WindowsおよびUNIXシステムでは、コマンド履歴はlogdump.hstという名前のファイルに格納されます。NonStopシステムでは、コマンド履歴はlogduhstという名前のファイルに格納されます。ファイルは、Logdumpを最初に起動したユーザーのホームに作成されます。
Logdumpの起動時、プラットフォームに応じて次のいずれかの場所で履歴ファイルが検索されます。
USERPROFILE環境変数。
$HOME環境変数。
デフォルト$vol.subvol。
ファイルが存在する場合、Logdumpはコマンド履歴をバッファにロードします。コマンド履歴のバッファには、400コマンドが保持されます。Logdumpセッションの終了時、セッションの履歴がファイルに追加されます。
Logdumpコマンドの詳細は、第2章「Logdumpコマンド」のアルファベット順のリファレンスを参照してください。