Oracle ACFS診断コマンド

このトピックでは、診断に使用するOracle ACFSコマンドライン・ユーティリティの概要を示します。

Oracle ACFSでは、診断に使用する様々なacfsutilコマンドライン・ユーティリティを提供します。

ノート:

診断コマンドは、Oracleサポートが分析のために診断データを要求した場合にのみ実行します。

次の表に、Oracle ACFSユーティリティと簡単な説明を示します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

表6-84 Oracle ACFS診断コマンドの概要

コマンド 説明

acfsdbg

Oracle ACFSファイル・システムをデバッグします。

acfsutil blog

ブログ・ファイルにテキストを書込みます。

acfsutil dumpstate

Oracle ACFSの内部状態情報を収集します。

acfsutil info ftrace

オープン・ファイルのトレース・エントリを表示します。

acfsutil lockstats

ロック競合統計を表示します。

acfsutil log

メモリー診断ログ・ファイルおよびメッセージ・デバッグ設定を取得します。

acfsutil meta

Oracle ACFSファイル・システムから別の出力ファイルにメタデータをコピーします。

acfsutil plogconfig

Oracle ACFSの永続ロギング構成設定を管理します。

acfsutil tune

Oracle ACFSの調整可能パラメータを変更または表示します。

advmutil tune

Oracle ADVMパラメータを変更または表示します。

acfsdbg

目的

Oracle ACFSファイル・システムをデバッグします。

構文および説明

acfsdbg [-r] [-l] [-x] volume_device
acfsdbg -h

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsdbgコマンドで使用可能なオプションを示します。

表6-85 acfsdbgコマンドのオプション

オプション 説明

-h

使用方法のメッセージを出力して終了します。メッセージには、acfsdbgコマンドの起動時に使用できる各種オプションが表示されます。

-r

読取り専用モードで動作します。ファイル・システム上のデータは変更されません。また、すべての書込みコマンドを無効にします。デバイスがどこかにマウントされている場合、データはファイル・システム・マウントによってキャッシュされているものもあるため、acfsdbgで最新データが表示されない場合があります。

-l

カーネル・ログ・ファイルを処理します。デフォルトでは、ログ・ファイルを処理しません。

—x file_name

acfsutil metaで収集されたアクセラレータ・データに対して指定します。このタイプのデータに対してのみ使用します。

volume_device

ボリュームのデバイス名を指定します。

acfsdbgを実行するには、管理者またはOracle ASM管理者グループのメンバーであることが必要です。

サブコマンド

表6-86に、acfsdbgのサブコマンドを示します。

表6-86 acfsdbgのサブコマンド

オプション 説明 構文

calculate

単純な演算式を計算します。

有効な演算子: +、-、*、/、%、&、|、^、~、<<、>>

新しい式は、空白で始めます。

0-1は、マイナス1を表します

calculate [-v] expr […]

  • -v: verboseモード
  • expr: 単純な2+2式

cksum

ヘッダーでチェックサムを生成して置換します。

ヘッダー・オフセットは、calculateサブコマンドで使用されるような式でもかまいません。

新しいヘッダー・オフセットは、空白で始めます。

このコマンドは、読取り専用モードでは無効です。

cksum [-C | -CE] header_offset […]

  • -C: 通常の構造チェックサム用として再生成します。
  • -CE: エクステント構造チェックサム用として再生成します。
  • header_offset: ディスク構造ヘッダーのオフセット。この値は、calculateサブコマンドで使用されるような式でもかまいません。

close

デバイスへのオープン・ハンドルを閉じます。

close

echo

コマンドラインのテキストをstdoutにエコーします。

echo

fenum

指定されたファイル・エントリ表(FETA)エントリを表示します。

fenum [-f | -e | -d] FETA_entry_number

  • -f: この構造に関連するディスク構造上のすべてを表示します。
  • -e: この構造に関連するディスク・エクステント情報のすべてを表示します。
  • -d: 構造をディレクトリとしてキャストし、そのコンテンツを表示します。
  • FETA_entry_number: ファイル・システム上のファイルを識別するために使用されるファイル・エントリ表の番号。

help

ヘルプ・メッセージを表示します

help

offset

ディスク・オフセットでの構造を表示します。

offset [-c cast] [-f | -d] disk_offset

  • -f: この構造に関連するディスク構造上のすべてを表示します。
  • -d: 構造をディレクトリとしてキャストし、そのコンテンツを表示します。
  • disk_offset: 表示するディスク・オフセット。この値は、calculateサブコマンドで使用されるような式でもかまいません。

open

デバイスへのハンドルを開きます。デフォルトは、コマンドラインに入力されたボリューム・デバイス名です。

open [volume_device]

primary

コマンドのコンテキストにプライマリ・ファイル・システムを設定します。

primary

prompt

プロンプトに指定された文字列を設定します。

prompt "prompt_string"

quit

acfsdbgデバッガ・コマンドを終了します。

quit

read

オフセットから値を読み取ります。

読取りのデフォルト・サイズは、8バイトです。

読取りのデフォルト件数は、1です。

read [-1 | -2 | -4 | -8 | -s] [count] offset

  • -1: バイト値を読み取ります
  • -2: 2バイト(short)値を読み取ります。
  • -4: 4バイト(int)値を読み取ります。
  • -8: 8バイト(long)値を読み取ります。
  • -s nullで終了した文字列を読み取ります。
  • count: 読み取る値の数。指定しない場合、デフォルト値は1です。
  • offset: 読み取るディスク・オフセット。この値は、calculateサブコマンドで使用されるような式でもかまいません。

snapshot

コマンドのコンテキストに指定されたスナップショットを設定します。

snapshot snapshot_name

write

16進数、8進数または10進数の値をディスク・オフセットに書き込みます。値のサイズまたは前ゼロ付きの16進数値の桁数に基づいて書込みバイト数を見積ります。

ディスク・オフセットは、calculateサブコマンドで使用されるような式でもかまいません。

数値は、calculateサブコマンドで使用されるような式でもかまいません。

このコマンドは、読取り専用モードでは無効です。

write [-1 | -2 | -4 | -8 | -c | -s] [-C | -CE] offset value

  • -1: バイト値を書き込みます
  • -2: 2バイト(short)値を書き込みます。
  • -4: 4バイト(int)値を書き込みます。
  • -8: 8バイト(long)値を書き込みます。
  • -c テキスト(null終了なし)を書き込みます。文字列を一重引用符(')で囲みます。
  • -s : nullで終了した文字列を書き込みます。文字列を引用符(")で囲みます。
  • -C: 通常の構造チェックサムを再生成します。
  • -CE: エクステント構造チェックサムを再生成します。
  • offset: 書き込むディスク・オフセット。この値は、calculateサブコマンドで使用されるような式でもかまいません。
  • value: 書き込む値。数値の場合、この値は、calculateサブコマンドで使用されるような式でもかまいません。

例6-76に、acfsdbgサブコマンドの使用を示します。

例6-76 acfsdbgコマンドの使用

$ /sbin/acfsdbg /dev/asm/voume1-123
acfsdbg: version                   = 11.2.0.3.0
Oracle ASM Cluster File System (ACFS) On-Disk Structure Version: 39.0
The ACFS volume was created at  Mon Mar  2 14:57:45 2011
acfsdbg> 

acfsbdg> calculate 60*1024
    61,440
    61440
    61440
    0xf000
    0170000
    1111:0000:0000:0000

acfsdbg> prompt "acfsdbg test>"
acfsdbg test>

echo "offset 64*1024" | acfsdbg /dev/asm/volume1-123

acfsutil blog

目的

ブログ・ファイルにテキストを書込みます。

構文および説明

acfsutil [-h] blog

acfsutil blog {-t text | -u} mount_point

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil blogコマンドで使用可能なオプションを示します。

表6-87 acfsutil blogコマンドのオプション

オプション 説明

-t text

指定されたマウント・ポイントでブログ・ファイルにテキストを書込みます。

-u

dbgファイルからブログ・デバッグ・レベルを更新します。

mount_point

マウント・ポイントを指定します。

acfsutil blogコマンドを使用すると、ブログ・ファイルにテキストを書き込むことができます。

.

次の例では、acfsutil blogコマンドの実行方法を示します。—hオプションを指定してacfsutil blogを実行すると、ヘルプが表示されます。

例6-77 acfsutil blogの使用

$ /sbin/acfsutil -h

$ /sbin/acfsutil -t "this is a blog test" blog my_mount_point

$ /sbin/acfsutil -u blog my_mount_point

acfsutil dumpstate

目的

Oracleサポートによる診断のためにOracle ACFSの内部状態情報を収集します。

構文および説明

acfsutil [-h] dumpstate 
acfsutil dumpstate {acfs_path | [-d [-p {file_name | -}]] [-z] [acfs_path]}

acfsutil -h dumpstateは、ヘルプ・テキストを表示して終了します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil dumpstateコマンドで使用可能なオプションを示します。

表6-88 acfsutil dumpstateコマンドのオプション

オプション 説明

acfs_path

Oracle ACFSファイル・システムへのディレクトリ・パスを指定します。

-d

現在のディレクトリのacfs.dumpstatsまたは-pオプションで指定された出力に統計をダンプします。

-p { file_name | - }

acfs.dumpstatsではなくファイル名を指定するように-dオプションを変更します。ファイル名のかわりに-を指定して、ファイルに書き込むかわりに出力を表示することもできます。

-z

現在のすべての統計をクリアします。

acfsutil dumpstateコマンドは、指定されたファイル・システムについてOracle ACFSの内部状態情報を収集します。状態情報は、ロギング・ディレクトリのバイナリ・インシデント・ファイルに書き込まれます。バイナリ・ログ・インシデント・ファイルは、指定したパスでマウントされたファイル・システムに固有です。acfs.dumpstats統計ファイル、または指定された代替出力には、Oracle ACFSカーネル・モジュール全体の統計が含まれています。

ノート:

acfsutil dumpstateコマンドは、Oracleサポートが分析のために診断データおよびデバッグ・データを要求した場合にのみ実行します。

次に、acfsutil dumpstateコマンドの使用例を示します。

例6-78 acfsutil dumpstateコマンドの使用

次のコマンド実行は、指定したファイル・システムのバイナリ・インシデント・ファイルを作成します。

$ /sbin/acfsutil dumpstate /acfsmounts/acfs1/

次のコマンド実行は、ファイル・システム統計をacfs.dumpstatsにダンプし、指定したファイル・システムのバイナリ・インシデント・ファイルを作成します。

$ /sbin/acfsutil dumpstate -d /acfsmounts/acfs1/

次のコマンド実行は、すべてのファイル・システムの統計をクリアします。

$ /sbin/acfsutil dumpstate -z

次のコマンド実行は、ファイル・システム統計をacfs.dumpstatsにダンプし、バイナリ・インシデント・ファイルを作成し、指定したファイル・システムのすべてのファイル・システム統計をクリアします。

$ /sbin/acfsutil dumpstate -d -z /acfsmounts/acfs1/

acfsutil info ftrace

目的

マウント・ポイントで指定されたOracle ACFSファイル・システムに関連付けられているオープン・ファイルのトレース・エントリを表示します。

構文および説明

acfsutil info ftrace -h
acfsutil info ftrace [-s] mount_point

acfsutil info ftrace —hは、ヘルプ・テキストを表示して終了します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil info ftraceコマンドで使用可能なオプションを示します。

表6-89 acfsutil info ftraceコマンドのオプション

オプション 説明

—s

オープン・ファイルのファイルIDのみを表示します。

mount_point

このファイル・システムがマウントされるディレクトリを指定します。

acfsutil info ftraceコマンドは、マウントされているOracle ACFSファイル・システムのオープン・ファイルのリストを表示します。

Oracle ACFSカーネル・ドライバは、メモリーにロードされるファイルを追跡します。これらのファイルにはアクティブなオープンがなく、キャッシュされるだけの場合があります。オープン・ファイル・トレースでは、キャッシュされたどのファイル・コントロール・ブロック(FCB)にアクティブなオープンまたは参照があるかを判断できます。このコマンドの目的は、ファイル・システムのアンマウントを阻止する、まだ参照されているファイルがあるかどうかを確認することです。

acfsutil info ftraceコマンドは、初回実行時、参照されなくなったキャッシュ済ファイルをパージしようとします。この操作では、各ファイルの変更済メタデータとユーザー・データをディスクにフラッシュする必要があるため、完了までに時間がかかる場合があります。

次に、acfsutil info ftraceコマンドの出力について説明します。ファイルは、通常のファイルまたはディレクトリを参照できます。

出力の基本的な形式は次のとおりです。

Fileid: %ID%, Pathname: %PATH%
          [%OP%] Pid:  %PID% Ppid:   %PPID% Elapsed time: %TIME% Cmd: %CMD%
          ...

フィールドについては、次の一覧で説明します。

  • %ID%: 数値ファイル識別子。これは、acfsutil info idで使用されるものと同じ番号です。この値は、Linuxではinode番号とも呼ばれます。

  • %PATH%: %ID%に基づく、生成されたファイルのパス名。使用できない場合、N/Aと表示される場合があります。

  • %OP%: ファイルにアクセスした操作のタイプ。値は次のとおりです。

    • LOOKUP: 指定したプロセスが、パス名を介してこのファイルをルックアップしました。

    • CREATE: 指定したプロセスがファイルを作成しました。

    • NFS: NFSプロセスが、クライアントにかわってファイルにアクセスしました。

    • OPEN: 指定したプロセスがファイルを開きました。

    • MAP: 指定したプロセスが、ファイルをメモリーにマップしました。

  • %PID%: プロセスID。%PPID%: 親プロセスID。この出力アイテムは使用できません。

  • %TIME%: 操作が発生した時点からの経過時間。形式: d(日), h(時間), m(分), s(秒)

  • %CMD%: 操作を実行したプロセスの名前。

リストされる各ファイルには、システムのワークロードに応じて複数の操作がリストされます。メモリーを節約するため、表示される操作の数は制限されます。Oracle ACFSドライバは、各操作のローテーション・ログを保持し、操作エントリはラップされる場合があります。そのため、最も古い操作が最初に表示されるとはかぎりません。

次の例は、/mntマウント・ポイントで実行されるacfsutil info ftraceコマンドを示しています。

例6-79 acfsutil info ftraceコマンドの使用

$ acfsutil info ftrace /mnt
Fileid: 42, Pathname: /mnt/yum.conf
        [LOOKUP] Pid:  27009 Ppid:  14999 Elapsed time: 0d 00h 00m 03s Cmd: tail
        [OPEN  ] Pid:  27009 Ppid:  14999 Elapsed time: 0d 00h 00m 03s Cmd: tail

Fileid: 155, Pathname: /mnt/bash
        [LOOKUP] Pid:   9731 Ppid:  19588 Elapsed time: 0d 00h 00m 08s Cmd: cp
        [OPEN  ] Pid:   9731 Ppid:  19588 Elapsed time: 0d 00h 00m 08s Cmd: cp
        [OPEN  ] Pid:   9735 Ppid:  19588 Elapsed time: 0d 00h 00m 05s Cmd: bash
        [MAP   ] Pid:   9735 Ppid:  19588 Elapsed time: 0d 00h 00m 05s Cmd: bash
        [MAP   ] Pid:   9735 Ppid:  19588 Elapsed time: 0d 00h 00m 05s Cmd: bash
        [MAP   ] Pid:   9735 Ppid:  19588 Elapsed time: 0d 00h 00m 05s Cmd: bash

Fileid: 43, Pathname: /mnt/dir1
        [LOOKUP] Pid:  14485 Ppid:   7829 Elapsed time: 0d 12h 20m 13s Cmd: mkdir
        [LOOKUP] Pid:   7829 Ppid:   7828 Elapsed time: 0d 12h 20m 06s Cmd: bash
        [LOOKUP] Pid:   7829 Ppid:   7828 Elapsed time: 0d 12h 20m 06s Cmd: bash

acfsutil lockstats

目的

ロック競合統計を表示します。

構文および説明

acfsutil lockstats [-h] 

       Command Subcmd             Arguments
-------------- ------------------ ----------------------------------------------
     lockstats lh                 [-b] [-e] [-z] [-t <top>] [-s <sort column>]
     lockstats lh                 -b                 - Begin collecting lock statistics
     lockstats lh                 -e                 - End   collecting lock statistics
     lockstats lh                 -z                 - Zero out the lock statistics collected so far
     lockstats lh                 -t <n>             - Print only the top 'n' lock statistics
     lockstats lh                 -s < acquires      - Sort the data on the specified column
     lockstats lh                     |totalwait
     lockstats lh                     |maxwait
     lockstats lh                     |totalheld
     lockstats lh                     |maxheld

acfsutil lockstats lh —hは、ヘルプ・テキストを表示して終了します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil lockstatsコマンドで使用可能なオプションを示します。

表6-90 acfsutil lockstatsコマンドのオプション

オプション 説明

—b

ロック統計の収集を開始(有効化)します。

—e

ロック統計の収集を停止(無効化)します。

—z

収集された現在のロック統計をゼロアウト(クリア)します。

—t top_n

上位n個のロック統計を表示します。

—s sort_column

指定したソート列のロック統計をソートします。

有効なソート列の値は、acquirestotalwaitmaxwaittotalheldmaxheldです。

デフォルトでは、統計は待機合計でソートされます。

コマンドの出力は、8列の表形式で表示されます。
  • 最初の列は、ロック階層グループ名です。

  • 2番目の列は、その特定のグループで取得されたロックの数です。

  • 3番目の列は、取得したすべてのロックの最大待機時間です。

  • 4番目と7番目の列は、ファイル/行番号参照です。
  • 5番目の列は、取得したすべてのロックの累積待機時間です。

  • 6列目は、指定した期間中にタイプごとに保持されるロックの最大数です。

次の例では、acfsutil lockstatsコマンドの複数の使用方法を示します。

例6-80 acfsutil lockstatsコマンドの使用

# Enable lock statistics collection in the kernel. No data is displayed.
$ acfsutil lockstats lh -b

# Zero out any and all the lock statistics collected. No data is displayed.
$ acfsutil lockstats lh -z

# Disable lock statistics collection in the kernel. No data is displayed.
$ acfsutil lockstats lh -e

# Displays lock statistics.
$ acfsutil lockstats lh
 Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:25:50 2024 (129 sec)
+--------------------------+---- ----+----------+--------------------+------------+----------+--------------------+------------+
|         Lock Type        | Acquires| Max Wait |    @ File/Line     | Total Wait | Max Held |     @ File/Line    | Total Held |
+--------------------------+---------+----------+--------------------+------------+----------+--------------------+------------+
| LH_RangeDLMLock          |  458752 |        1 | ofsgensnap.c/14091 |       4507 |        9 | ofsgensnap.c/25847 |      23972 |
| LH_FileDLMLock           |  131091 |       16 | ofslinfops.c/9812  |       1440 |      487 | ofslinfops.c/9812  |     121508 |
| LH_SnapCowBufferLock     |       9 |      283 | ofsgensnap.c/31458 |       1275 |       63 | ofsgensnap.c/31458 |        358 |
| LH_MetabufLock           | 2715309 |        1 | ofsgenmeta.c/8364  |         98 |      158 | ofsgenmeta.c/8364  |      19880 |
| LH_SnapMasksLock         |  399725 |        6 | ofsgensnap.c/27393 |         31 |        7 | ofsgensnap.c/3161  |       2643 |
| LH_IgnoreCompletely      |94075009 |        0 |            */*     |          0 |        * |            */*     |          * |
...
| LH_GlobalVCBListResource |      18 |         0 | ofslinmisc.c/2164  |          0 |        0 | ofslinmisc.c/2164 |          0 |\
+--------------------------+---------+-----------+--------------------+------------+----------+-------------------+------------+

# Displays lock statistics, sorted on the ‘Acquires’ column.
$ acfsutil lockstats 1h -s acquires
Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:28:31 2024 (290 sec)
+---------------------+----------+----------+---------------------+------------+----------+---------------------+------------+
|      Lock Type      | Acquires | Max Wait |    @ File/Line      | Total Wait | Max Held |      @ File/Line    | Total Held |
+---------------------+----------+----------+---------------------+------------+----------+---------------------+------------+
| LH_IgnoreCompletely | 94405610 |        0 |           */*       |          0 |        * |           */*       |          * |
| LH_OFSBUFHashChain  |  2748263 |        0 |           */*       |          0 |        * |           */*       |          * |
| LH_MetabufLock      |  2734918 |        1 |ofsgenmeta.c/8364    |         98 |      158 |ofsgenmeta.c/8364    |      19941 |
| LH_DLMSpinLock      |  2512603 |        0 |           */*       |          0 |        * |           */*       |          * |
| LH_FCBSpinLock      |   963192 |        0 |           */*       |          0 |        * |           */*       |          * |
| LH_TrackOnly        |   820099 |        0 | ofsgensnapops.c/626 |          0 |        7 | ofsgensnapops.c/626 |         57 |

# Displays all of the lock statistics, sorted on the ‘Max Wait’ column.
$ acfsutil lockstats 1h -s maxwait
Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:29:25 2024 (344 sec)
+----------------------+----------+----------+--------------------+------------+----------+----------------------+------------+
|      Lock Type       | Acquires | Max Wait |       @ File/Line  | Total Wait | Max Held |       @ File/Line    | Total Held |
+----------------------+----------+----------+--------------------+------------+----------+----------------------+------------+
| LH_SnapCowBufferLock |        9 |      283 | ofsgensnap.c/31458 |       1275 |       63 |   ofsgensnap.c/31458 |        358 |
| LH_DRSLScan_lock     |        7 |       27 | ofsgendrsl.c/2427  |         27 |       27 | ofsgensnapops.c/5217 |         42 |
| LH_FileDLMLock       |   131092 |       16 | ofslinfops.c/9812  |       1440 |      487 |    ofslinfops.c/9812 |     121508 |
| LH_RangeMetaDataLock |   458752 |        9 | ofsgendlm.c/12260  |         26 |        9 |    ofsgendlm.c/12255 |      21869 |
| LH_SnapMasksLock     |   399738 |        6 | ofsgensnap.c/27393 |         31 |        7 |   ofsgensnap.c/-3161 |       2716 |
+----------------------+----------+----------+--------------------+------------+----------+----------------------+------------+

# Displays lock statistics, sorted on the ’Total Wait’ column.
$ acfsutil lockstats 1h -s totalwait
Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:29:03 2024 (322 sec)
+---------------------+----------+----------+---------------------+------------+------------+--------------------+------------+
|      Lock Type      | Acquires | Max Wait |     @File/Line      | Total Wait |  Max Held  |     @ File/Line    | Total Held |
+---------------------+----------+----------+---------------------+------------+------------+--------------------+------------+
| LH_RangeDLMLock     |   458752 |        1 |  ofsgensnap.c/14091 |       4507 |          9 | ofsgensnap.c/25847 |      23972 |
| LH_FileDLMLock      |   131092 |       16 |   ofslinfops.c/9812 |       1440 |        487 |  ofslinfops.c/9812 |     121508 |
| LH_SnapCowBufferLock|        9 |      283 |  ofsgensnap.c/31458 |       1275 |         63 | ofsgensnap.c/31458 |        358 |
| LH_MetabufLock      |  2741093 |        1 |   ofsgenmeta.c/8364 |         98 |        158 |  ofsgenmeta.c/8364 |      19962 |
| LH_SnapMasksLock    |   399737 |        6 |  ofsgensnap.c/27393 |         31 |          7 |  ofsgensnap.c/3161 |       2711 |

# Displays lock statistics, sorted on the ’Total Held’ column.
$ util lockstats lh -s totalheld
 Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:29:48 2024 (367 sec)
+-------------------------------------+--------------+-----------+------------------------------+------------+------------+------------------------------+------------+
|              Lock Type              |   Acquires   |  Max Wait |               @ File/Line    | Total Wait |  Max Held  |               @ File/Line    | Total Held |
+-------------------------------------+--------------+-----------+------------------------------+------------+------------+------------------------------+------------+
| LH_FileDLMLock                      |       131092 |        16 |         ofslinfops.c/9812    |       1440 |        487 |         ofslinfops.c/9812    |     121508 |
| LH_SnapsModifyingVOPsLock           |       131076 |         1 |         ofsgenmisc.c/25924   |          4 |        490 |         ofsgenmisc.c/25924   |     121487 |
| LH_FileMetaDataLock                 |       131139 |         1 |         ofslinfops.c/9812    |          4 |        487 |         ofslinfops.c/9812    |     116919 |
| LH_SnapSyncDIOCowLock               |        65536 |         0 |         ofslinfops.c/10484   |          0 |         15 |         ofslinfops.c/10484   |      60020 |
| LH_RangeDLMLock                     |       458752 |         1 |         ofsgensnap.c/14091   |       4507 |          9 |         ofsgensnap.c/25847   |      23972 |

# Displays lock statistics, sorted on the ’Max Held’ column.
$ util lockstats lh -s maxheld
 Stats time period: Mon Apr  8 14:23:41 2024 -> Mon Apr  8 14:30:02 2024 (381 sec)
+-------------------------------------+--------------+-----------+------------------------------+------------+------------+------------------------------+------------+
|              Lock Type              |   Acquires   |  Max Wait |               @ File/Line    | Total Wait |  Max Held  |               @ File/Line    | Total Held |
+-------------------------------------+--------------+-----------+------------------------------+------------+------------+------------------------------+------------+
| LH_SnapsModifyingVOPsLock           |       131076 |         1 |         ofsgenmisc.c/25924   |          4 |        490 |         ofsgenmisc.c/25924   |     121487 |
| LH_FileMetaDataLock                 |       131139 |         1 |         ofslinfops.c/9812    |          4 |        487 |         ofslinfops.c/9812    |     116919 |
| LH_FileDLMLock                      |       131092 |        16 |         ofslinfops.c/9812    |       1440 |        487 |         ofslinfops.c/9812    |     121508 |
| LH_ResizeDeferLock                  |          259 |         0 |       ofsgenfshare.c/13101   |          0 |        204 |       ofsgenfshare.c/13101   |       6777 |
| LH_SnapMapMarkerSerializeDLMLock    |          125 |         0 |      ofsgensnapops.c/626     |          0 |        204 |      ofsgensnapops.c/626     |       6726 |

acfsutil log

目的

メモリー診断ログ・ファイルおよびメッセージ・デバッグ設定を取得します。

構文および説明

acfsutil [-h] log

acfsutil log [-f filename] [-s] [-r n{K|M|G|T|P}] [-p {avd|ofs|oks}] [-l debuglevel] 
         [-n consolelevel] [-o wait_time] [-q] [-c debugcontext] [-T file_type] 
         [-m mount_point] [-a] [-C] [-t]

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil logコマンドで使用可能なオプションを示します。

表6-91 acfsutil logコマンドのオプション

オプション 説明

-f filename

指定されたファイルにインメモリー・ログを書き込みます。デフォルト・ファイルは、現行ディレクトリのoks.logです。

-s

インメモリー・ログ・ファイルのサイズを表示します。

-r n{K|M|G|T|P}

インメモリー・ログ・ファイルのサイズを設定します。

-p {avd|ofs|oks}

レベルまたは問合せの設定を設定する製品を指定します。デフォルトはすべての製品、つまりOracle ADVM (avd)、Oracle ACFS (ofs)およびOracle Kernel Services (oks)です。

-l debuglevel

インメモリー・デバッグ・レベルを設定します。デフォルトのデバッグ・レベルは2です。有効値は、0-6です。

-n consolelevel

永続ロギングのデバッグ・レベルを設定します。その他の永続ログ構成設定は、acfsutil plogconfigコマンドで管理されます。

-o wait_time

ログ・サイズ、デバッグ・レベルおよび製品値をすべてのノードに設定し、wait_timeで指定された秒数の間待機し、すべてのノードのメモリー・ログにダンプを出力した後、デバッグ・レベルおよびログ・サイズをリセットします。

-q

指定された製品のデバッグ設定を問い合せます。

たとえば: acfsutil log —p avd —q

-c debugcontext

デバッグ・コンテキストを設定します(内部のみ)。

-T file_type

デバッグ・ファイル・タイプを設定します(内部のみ)。

—m mount_point

指定されたマウント・ポイントでファイル・システムのみをデバッグすることを指定します。

-a

すべてのファイル・システムについてログに記録するように、デバッグ・ロギングをリセットします。

-C

すべてのクラスタ・ノードでメモリー・ログをダンプします。また、-tオプションに追加することもできます。

-t

すべてのハング・マネージャ・スレッド情報をインメモリー・ログおよび永続ログにダンプします。

acfsutil logコマンドを使用すると、メモリー診断ログ・ファイルを管理できます。オプションをなにも指定しないと、acfsutil logコマンドは、デフォルトで./oks.logメモリー・ログに対して取得および書込みを実行します。

-oオプションは、次を実行します。

  1. すべてのノードのインメモリー・ログに対してログ・サイズを500M、ログ・レベルを5、製品をofs (acfs)にそれぞれ設定します。

  2. 「180秒間ブロック中で、現在問題が再現しています」などの情報メッセージを表示します。

  3. 指定された秒数の間待機した後、「すべてのノードでログをダンプしています」と表示します。

  4. クラスタ規模のログのダンプを開始します。

  5. ログ・レベルを2にリセットし、ログ・サイズをデフォルトにリセットします。

-oオプションは、デフォルトの製品、デバッグ・レベルまたはログ・サイズの設定を変更する必要がある場合、-p-lおよび-rの各オプションと組み合せることができます。

このコマンドを実行するには、rootユーザーまたはOracle ASM管理者ユーザーである必要があります。

次の例は、acfsutil logコマンドを実行する様々な方法を示しています。

例6-81 acfsutil logの使用

#increase internal log size to 100Mb
$ acfsutil log -r 100M

#increase log level for acfs to 5
$ acfsutil log -l 5 -p ofs

#increase log level for oks to 5
$ acfsutil log -l 5 -p oks

#collect in memory log and place it into /tmp/logfile
$ acfsutil log -f /tmp/logfile

#put trace level back to default, level 2
$ acfsutil log -l 2 -p ofs
$ acfsutil log -l 2 -p oks

# increase log level to 5, wait 3 seconds, and then automatically dump a log on all nodes, 
# log will be in a dated file in directory specified by acfsutil plog -q
$ acfsutil log -l 5 -o 3
Blocking for 3 seconds, reproduce problem now
Dumping log on all nodes

# dump out the stacks of all acfs threads running on the system on all nodes into log files 
# in the directory specified by acfsutil plog -q
$ acfsutil log -t -C

acfsutil meta

目的

Oracle ACFSファイル・システムから別の出力ファイルにメタデータをコピーします。

構文および説明

acfsutil meta -h
acfsutil meta  [-v] 
               [-g] 
               [-g -O -C -S]
               [-O]
               [-C COW_filepath]
               [-S COW_size]
               [-q nn[K|M|G|T]]  
               [-l log_file_path] 
               [-o acfs_extent_offsets]      
               {-f record_oriented_metadata_output_file} [-a accel_device] volume_device

acfsutil meta  {-e record_oriented_metadata_input_file [-i]}
               {-f output_filesystem_meta_file_prefix_name}

acfsutil meta -hは、ヘルプ・テキストを表示して終了します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil metaコマンドで使用可能なオプションを示します。オプションはLinux形式(およびSolaris形式)で表示されます。

表6-92 acfsutil metaコマンドのオプション

オプション 説明

—f record_oriented_metadata_output_file

メタデータのコピー先となる出力ファイルのパス名を指定します。

—g

ブロック・スキャンは、ボリューム全体で失われたメタデータを検索するためには実行しないでください。かわりに、既知のメタデータ・ブロックのみを読み取ってください。このオプションが推奨されるのは、良好な状態のファイル・システムのみです。

—g -O -C -S

Oracle ACFSオンライン・チェッカ(Linuxではfsck)も実行する点以外は、-gオプションと同じです。

-O

Oracle ACFSオンライン・チェッカ(Linuxではfsck)を実行することを指定します。

-C COW_filepath

Oracle ACFSオンライン・チェッカのCopy-On-Write(COW)ファイルへのパスを指定します。パスは別のOracle ACFSファイル・システム上にある必要があります。

-S COW_size

Oracle ACFSオンライン・チェッカのCopy-On-Write(COW)ファイルのサイズを指定します。サイズは、ファイル・システムの変更時に元のブロックを維持できる規模の十分な大きさが必要です。

volume_device

コピーされるファイル・システムのボリューム・デバイス名を指定します。

—v

verboseモードを指定して追加の診断メッセージを生成します。

—q nn[K|M|G|T]

クイック・スキャン・モードでメタデータ・コレクタを起動します。ボリュームのスキャンは、指定されたサイズで停止します。指定する数字は正の整数でなければならず、値は、少なくとも200Mでなければなりません。

単位は、K (KB)、M (MB)、G (GB)、またはT (TB)です。単位インジケータを指定する場合は、整数の後に付ける必要があります。省略した場合、デフォルトの単位はバイトです。

-l log_file_path

ログ・ファイルのパスを指定します。指定しない場合、ログ・ファイルは現行ディレクトリにデフォルト名のacfs.meta.logで生成されます。

—o acfs_extent_offsets

メタ・コレクタがデータを追加でコピーする元となるカンマ区切りのファイル・オフセットのリストを指定します。

—a accel_device

ファイル・システムがアンマウントできない場合に使用される、関連付けられたアクセラレータ・デバイスの場所を指定します。

—e record_oriented_metadata_input_file

指定されたレコード指向メタデータ・ファイルを、fsckまたはacfschkdskで使用できるファイルに展開します。

—i

-iオプションを-eオプションとともに使用すると、各レコード指向メタデータ・ファイルのメタデータ・レコード・ヘッダー(フラグ、ボリューム、オフセット、サイズ)がリストされます。

—f output_filesystem_meta_file_prefix_name

—eオプション操作の出力ファイルのパス名を指定します。

acfsutil metaコマンドは、メタデータ・コレクタとして動作し、Oracle ACFSファイル・システムを別の指定されたレコード指向出力ファイルに部分的にコピーします。メタデータ・コレクタは、Oracle ACFSファイル・システムのボリュームデバイス名で指定されたファイル・システムのコンテンツを読み取ります。この入力ファイル・システムでOracle ACFSメタデータが検索され、見つかったメタデータはすべて指定のレコード指向出力ファイルに書き込まれます。生成されたレコード指向出力ファイルは、容易に別のシステムに転送できます。そこで、顧客サイトにある元のファイル・システムに影響を与えることなく、診断および分析のために展開できます。

-gオプションは、既知の良好なメタデータのみを収集します。破損したファイル・システムを指定して-gオプションは使用しないでください。-gオプションは、失われたメタデータを検索しないためです。失われたメタデータは、ファイル・システムの破損の診断に重要な場合があります。ファイル・システムが良好な状態の場合、-gオプションは、物理ボリューム全体をスキャンして失われたメタデータ・ブロックを検索する必要がないため、より高速にメタデータを収集できます。

Linuxでacfsutil meta -g -O -C -Sコマンドを実行すると、Oracle ACFSオンライン・チェッカ(fsck)が自動的に実行されます。acfsutil meta -gのかわりに実行されるOracle ACFSオンライン・チェッカは、メタデータ・オンディスク・ポインタを使用してOracle ACFSファイル・システム・メタデータをトラバースし、acfsutil meta-gメタデータ・コレクション・ファイルに読み込まれたメタデータを書き込みます。Linuxでのオンラインfsckコマンドの詳細は、Linux環境用のOracle ACFSコマンドライン・ツールを参照してください。

acfsutil metaでファイル・システムの最適なコピーを取得するには、ファイル・システムをディスマウントしてからacfsutil metaを実行します。ファイル・システムをディスマウントできない場合は、acfsutil metaを実行している間にコンテンツ変更やボリュームのサイズ変更操作を実行しないようにします。

元のファイル・システムが非常に大規模な場合、出力ファイルも非常に大きくなる可能性があります。ストレージ領域および転送時間を削減できる場合は、出力ファイルを圧縮します。

ファイル・システムにアクセラレータ・デバイスが関連付けられている場合、acfsutil metaは、アクセラレータ・デバイス・データもレコード指向出力ファイルにコピーします。この動作は自動的に発生します。

ほとんどの状況で、acfsutil metaは、アクセラレータ・デバイスをレコード指向出力ファイルに自動的にコピーします。しかし、メタ・コレクタが自力でアクセラレータ・デバイスを検出できないと考えられる場合、コマンドラインに-aオプションを使用して名前を指定できます。たとえば、ファイル・システムが破損した場合にこのような状況が発生します。-aオプションを使用すると、メタ・コレクタの自動的な動作がオーバーライドされるため、-aは慎重に使用する必要があります。

メタデータ・コマンドが出力ファイルも処理する可能性があるため、出力ファイルは入力デバイスとして指定されるOracle ACFSデバイスには配置しないでください。出力ファイルは、Oracle ACFS入力ボリューム・デバイスのサイズである出力ファイルをサポートできるファイル・システムに配置する必要があります。ファイル・システムがいっぱいで、すべてのメタデータを含み、ユーザー・データをほとんど含んでいない場合(このような状態が起こる可能性は低いですが、あり得ないことではありません)を除き、出力ファイルにはそれほどのストレージは必要ないはずです。

-qフラグは慎重に使用する必要があります。-qを指定すると、メタ・コレクタは入力ファイル・システム全体のスキャンおよびコピーを実行しません。そのかわりに、事前決定されたバイト数および重要と見なされる特定のデータ構造のみをスキャンしてコピーします。-qフラグは主に、メタデータ・コレクタのフルバージョンを実行する十分な時間がない状況で使用します。-qフラグは、問題を調査しているサポート担当者が推奨しないかぎり使用しないでください。

レコード指向出力ファイルの展開は、診断および分析を実行するシステムで行う必要があります。たとえば、次のコマンドは、十分なストレージ領域がある別のファイル・システム上でレコード指向メタデータ・ファイルを展開します。

acfsutil meta -e record_oriented_metadata_input_file -f output_filesystem_meta_file_prefix_name

コマンドの出力は、fsckまたはacfschkdskでの使用に適したスパース・ファイルを提供します。レコード指向メタデータ入力ファイルにアクセラレータ・ボリュームが含まれている場合は、.acc接尾辞が付加された同じ出力ファイル名接頭辞を使用して、2番目のスパース出力ファイルが作成されます。展開されたファイルに使用されるファイル・システムは、スパース・ファイルをサポートしている必要があります。そうでない場合、結果として展開されたファイルは、無用のゼロを含む非常に大きなサイズになる可能性があります。これは、スパースのホールによって領域を節約できる部分です。

ほとんどの場合、acfsutil metaで展開された出力ファイルは、fsckコマンドで読み取ることができます。ただし、一部のOSプラットフォームでOracle ACFS固有のfsckコマンドを使用すると、出力ファイルに正しくアクセスできないか、指定したフラグで機能しないことがあります。このような場合、fsckコマンドの書式を少し変更して使用します。たとえば:

  • Linuxでは、—xフラグを使用している場合、次の書式でコマンドを実行します。

    /sbin/fsck.acfs -x filesystem_meta_file.acc filesystem_meta_file
  • Solarisでは、—o xフラグを使用している場合、次の書式でコマンドを実行します。

    /usr/lib/fs/acfs/fsck -o x=filesystem_meta_file.acc filesystem_meta_file

例6-82は、メタデータをコピーして出力ファイルへと展開するためのacfsutil metaコマンドの使用方法を示しています。

例6-82 acfsutil metaコマンドの使用

$ /sbin/acfsutil meta -f /acfsmounts/critical_apps/record_oriented_metadata_file /dev/asm/volume1-123

次に、診断および分析が実行されるシステムで出力ファイルを展開できます。

$ /sbin/acfsutil meta -e record_oriented_metadata_file -f filesystem_meta_file

acfsutil plogconfig

目的

Oracle ACFSの永続ロギング構成設定を管理します。

構文および説明

acfsutil plogconfig [-h] [-d persistent_log_directory] [-t] [-q ] [-i seconds] 
                    [-s buffer_size] [-l low_water_percent] [-u high_water_percent] 
                    [-m max_logfile_size] [-n max_logfile_number] [-w]

acfsutil -h plogconfigは、ヘルプを表示して終了します。

Oracle ACFS acfsutilコマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。

次の表に、acfsutil plogconfigコマンドで使用可能なオプションを示します。

表6-93 acfsutil plogconfigコマンドのオプション

オプション 説明

-d persistent_log_directory

代替ロギング・ディレクトリを指定します。指定しない場合、デフォルト・ディレクトリは$ORACLE_BASE/crsdata/hostname/acfsです。

-t

ロギングを終了します。

-q

永続ロギング構成設定を問い合せて、表示します。

-i seconds

間隔タイマーの秒数を指定します。

-s buffer_size

ログ・バッファ・サイズ(KB)を設定します。

-l low_water_pecent

ファイル書込みトリガーをパーセンテージで設定します。

-u high_water_pecent

ファイル書込みスロットルをパーセンテージで設定します。

-m max_logfile_size

ログ・ファイルの最大サイズ(MB)を設定します。

-n max_logfile_number

ログ・ファイルの最大数を設定します。

-w

ACFS永続ログがラップされているかどうかをレポートします。

acfsutil plogconfigコマンドは、永続ロギングの構成設定を管理するための診断ツールとなります。

コマンド引数はすべてオプションですが、少なくとも1つ指定する必要があります。

ノート:

acfsutil plogconfigコマンドは、Oracleサポートが永続ロギング設定の構成を要求した場合にのみ実行します。

このコマンドを実行するには、rootユーザーまたはOracle ASM管理者ユーザーである必要があります。

次に、現在の構成設定を表示するacfsutil plogconfigコマンドの使用例を示します。

例6-83 Oracle ACFS acfsutil plogconfigコマンドの使用

# /sbin/acfsutil plogconfig -q

Log Directory Name : /oracle/crsdata/my_host/acfs 
Buffer Size (KB) : 64
Low Water Level (percent) : 50
High Water Level (percent) : 75
Timer Interval (Seconds) : 5
Maximum Number of Log Files : 10
Maximum Log File Size (MB) : 100

acfsutil tune

目的

acfsutil tuneコマンドは、Oracle ACFSの調整可能パラメータの値を表示または設定します。

構文および説明

acfsutil tune -h
acfsutil tune [tunable_name]
acfsutil tune tunable_name=value

acfsutil tune -hは、ヘルプ・テキストを表示して終了します。

次の表に、acfsutil tuneコマンドで使用可能なオプションを示します。

表6-94 acfsutil tuneコマンドのオプション

オプション 説明

tunable_name

調整可能パラメータの名前を指定します。

value

調整可能パラメータの値を指定します。

調整可能パラメータと値が指定されている場合、acfsutil tuneコマンドは、特定のノードに永続的な方法で調整可能パラメータの値を設定します。

調整可能パラメータが値なしで指定されている場合、acfsutil tuneコマンドは、指定された調整可能パラメータに現在割り当てられている値を表示します。

オプションが指定されていない場合、acfsutil tuneコマンドは、現在割り当てられている調整可能パラメータの値を表示します。

調整可能パラメータを変更すると、ただちに有効になり、再起動されても効力は持続します。

調整可能パラメータの値を変更するには、rootユーザーである必要があります。

最初のコマンドは、Oracle ACFSの調整可能パラメータとその値を表示します。2つ目のコマンドでは、AcfsHMTimeOutIntervalSecsパラメータの値を変更します。

例6-84 acfsutil tuneコマンドの使用

$ /sbin/acfsutil tune
AcfsHMTimeOutIntervalSecs   = 60 (0x3c)
AcfsHMSilenceIntervalMins   = 240 (0xf0)

# /sbin/acfsutil tune AcfsHMTimeOutIntervalSecs=120

advmutil tune

目的

advmutil tuneは、Oracle ADVMのパラメータの値を表示または設定します。

構文および説明

advmutil -h
advmutil tune [parameter]
advmutil tune parameter=value

advmutil -hはヘルプ・テキストを表示して終了します。

次の表に、advmutil tuneコマンドで使用可能なオプションを示します。

表6-95 advmutil tuneコマンドのオプション

オプション 説明

parameter

値を設定または表示するパラメータを指定します。

value

指定したパラメータの値を指定します。

オプションが指定されていない場合、advmutil tuneコマンドは、現在割り当てられている値を表示します。

パラメータに値が指定されていない場合、advmutil tuneコマンドは指定されたパラメータに現在割り当てられている値を表示します。

パラメータを設定するには、権限を持つユーザーである必要があります。

ノート:

パラメータの設定は注意して行う必要があり、通常はOracleサポート・サービスのみが行います。

advmutil tuneで指定できるパラメータは、デッドロック・タイマー(deadlock_timer)の最大時間(分)です。この例の1つ目のコマンドは、deadlock_timerパラメータの最大時間(分)を変更します。2番目のコマンドは、Oracle ADVMパラメータの現在の設定を表示します。

例6-85 advmutil tuneの使用

$ /sbin/advmutil tune deadlock_timer=20

$ /sbin/advmutil tune
deadlock_timer        = 20 (0x14)
resilver_power        = 8 (0x8)
resilver_regio        = 32 (0x20)