17 Oracle ACFSの高度なトピックの理解
Oracle ACFSの高度なトピックには、さらに複雑な管理の問題に関する説明が含まれています。
この付録では、Oracle Automatic Storage Management Cluster File System (Oracle ACFS)の制限事項、高度な管理およびトラブルシューティングなどの高度なトピックについて説明します。
関連項目:
Oracle ACFSおよびOracle ADVMの詳細は、My Oracle Support(https://support.oracle.com
)の記事を参照してください。
この付録の内容は次のとおりです。
Oracle ACFSの概要は、「Oracle ACFSおよびOracle ADVMの概要」を参照してください。
Oracle ACFSの制限事項
Oracle ACFSディスク領域使用量
Oracle ACFSは、32ビットシステム上の64個、および64ビットシステム上の256個のそれぞれマウントされたファイル・システムをサポートします。十分なメモリーがある場合はそれ以上のファイル・システムをマウントできます。
Oracle ACFSは、ファイル・システム内の2^40 (1兆)ファイルをサポートします。40億以上のファイルがテストされました。ファイル・システム内のディレクトリ数に絶対的な制限はありません。制限はハードウェア・リソースに基づきます。
Oracle ACFSでは、データを書き込む際、パフォーマンスを高めるために大規模なユーザー・ファイルを事前に割り当てます。この記憶域は、ファイルが閉じられても戻されませんが、ファイルを削除すると戻されます。ノードでファイル・システムが初めてマウントされるときには、Oracle ACFSによりローカル・メタデータ・ファイルも割り当てられます。その結果、領域不足エラーが原因でマウントが失敗する可能性があり、この記憶域の大部分は隣接している必要があります。この記憶域は、1ノード当たり約64から128MBです。
空き領域を探すときに、グローバル記憶域ビットマップ上での競合を減らすために、Oracle ACFSはローカル・ビットマップも使用できるようにしておきます。このディスク領域は、一部の領域が実際にまだ割り当てられていない場合でも、Linux df
コマンドなどのツールによってin
use
としてレポートされます。このローカルの記憶域プールは、ノードごとに128 MBと同じ大きさにでき、df
などのようなコマンドでもスペース割当てを可能にし、割り当てられているよりも少ない領域でレポートできます。
Oracle ACFSファイル・システムに割り当てることができる最大サイズを表17-1に示します。Oracle ACFSおよびOracle ASMに対するストレージ制限は、ディスク・グループ互換性属性によって決まります。
表17-1 Oracle ACFSファイル・システムまたはOracle ADVMボリュームの最大ファイル・サイズ
冗長性 | COMPATIBLE.ASM < 12.2.0.1のディスク・グループ | COMPATIBLE.ASM >= 12.2.0.1のディスク・グループ* |
---|---|---|
外部 |
128 TB |
128 TB |
標準 |
64 TB |
128 TB |
高 |
42.6 TB |
128 TB |
関連項目:
-
ファイル・サイズの制限とディスク・グループの互換性設定の詳細は、「ディスク・グループの互換性を設定する際の考慮事項」
-
Oracle ASMアイルおよびディスク・グループのストレージ制限の詳細は、「Oracle ASMストレージの制限」
-
Oracle ASMファイル・サイズの制限の詳細は、表4-5
Oracle ACFSのエラー処理
Oracle ACFSまたは別のファイル・システムがOracle ADVMボリュームを使用しているときにOracle ASMインスタンスに障害が発生したり強制終了となると、I/O障害が発生します。そのボリュームに再びアクセスするには、ボリュームを閉じてから、開きなおす必要があります。これには、ローカルOracle ASMインスタンスの障害発生時にマウントされていたすべてのファイル・システムをディスマウントします。インスタンスの再起動後に、対応するディスク・グループを有効なボリュームでマウントしてから、ファイル・システムを再マウントすることも必要です。「ボリュームおよびOracle ACFSファイル・システムの登録解除、ディスマウント、無効化」を参照してください。
ファイル・システムがOracle ADVMボリューム・ファイルに現在マウントされている場合は、それらのファイル・システムを先にディスマウントせずにOracle ASMインスタンスを終了するのに、SHUTDOWN
ABORT
コマンドを使用しないでください。使用すると、アプリケーションでI/Oエラーが発生し、Oracle ASMストレージの隔離前に、終了時点で書き込まれるOracle ACFSのユーザー・データおよびメタデータがストレージにフラッシュされない可能性があります。ファイル・システムをディスマウントする時間がない場合は、SHUTDOWN
ABORT
操作を発行する前に、2つのsync
(1)コマンドを実行してキャッシュ済のファイル・システム・データおよびメタデータを永続ストレージにフラッシュする必要があります。
メタデータの書込みが失敗した場合、その原因がOracle ASMインスタンスの障害であろうと記憶域の障害であろうと、Oracle ACFSはオペレーティング・システム環境を中断しません。かわりに、Oracle ACFSはエラーを特定のファイル・システムにまで隔離し、ファイル・システムをオフライン・エラー状態にします。それ以降、そのファイル・システムのそのノードで成功する唯一の操作は、ディスマウント操作です。もう1つのノードでは(記憶域にメタデータを書き込めると仮定して)、未処理のメタデータ・トランザクションがリカバリされます。I/Oの異常が解決したら、オフラインにしたノードにファイル・システムを再びマウントできます。
ファイル・システムのディレクトリがプロセスの現在の作業ディレクトリであるなど、ファイル・システムを参照するプロセスが存在する場合、管理者がオフライン・エラー状態にあるファイル・システムをディスマウントすることはできません。この場合、ファイル・システムをディスマウントするには、ファイル・システムのファイルおよびディレクトリを参照するそのノード上のすべてのプロセスを識別して、それらを終了させる必要があります。Linuxのfuser
またはlsof
コマンド、あるいはWindowsのhandle
コマンドは、プロセスおよびオープン・ファイルに関する情報を表示します。
Oracle ACFSは、チェックサムまたは想定されるタイプの比較に基づいて、読取り操作から戻されたファイル・メタデータで不整合を検出すると、適切な処理を実行して影響を受けるファイル・システム・コンポーネントを隔離し、fsck
またはacfschkdsk
をできるだけ早く実行する必要があることを示す通知を生成します。ファイル・システムがマウントされるたびに、fsck
またはacfschkdsk
が実行されるまで、システム・イベント・ログ出力メッセージにより通知が生成されます。
Oracle ACFSとNFS
Linux上のNFSを介してファイル・システムをエクスポートするときには、-fsid=num
エクスポート・オプションを使用します。このオプションは、NFSクライアントとの通信に使用されるファイル・ハンドルのファイル・システム識別子の部分を、ファイル・システムがマウントされているブロック・デバイスのメジャー番号およびマイナー番号から導出された数値のかわりに、強制的に指定した値にします。num
には32ビットの番号であれば使用できますが、エクスポートされたすべてのファイル・システムの間で一意であることが必要です。また、num
は、クラスタのメンバー間で一意であり、特定のファイル・システムのクラスタの各メンバーで同じnum
であることが必要です。これが必要なのは、Oracle ASM DVMブロック・デバイスのメジャー番号が、同じノードのすべての再起動で、またはクラスタ内の様々なノードで、同じであると保証されないためです。
Gridホーム・クラスタ用の高可用性NFS (HANFS)を使用している場合、HANFSでは、前の段落で記述されている状況を自動的に処理します。HANFSの詳細は、「Oracle Grid Infrastructure用の高可用性Network File Storage」を参照してください。
Oracle ADVMの制限事項
このトピックでは、Oracle ADVMの制限事項について説明します。
Oracle ADVMボリュームのデフォルトの構成は、8列、ストライプ幅が1MBです。デフォルトのボリューム・エクステント・サイズは64MBです。
Oracle ADVM動的ボリュームで列数を1
に設定すると、Oracle ADVMボリュームのストライプ化は事実上終了します。データベース・データ・ファイルおよびその他のファイルを使用して最適なパフォーマンスを実現するには、列を8(デフォルト)に設定することをお薦めします。
Linuxプラットフォームでは、Oracle ASM動的ボリューム・マネージャ(Oracle ADVM)ボリューム・デバイスは、Oracle ASMディスク・グループ内の基礎となるストレージの構成に関係なく、ブロック・デバイスとして作成されます。Oracle ADVMボリューム・ブロック・デバイスのRAWボリューム・デバイスへのマップにRAW
(8)
を使用しないでください。
Oracle ADVMボリュームを管理するASMCMDコマンドの詳細は、ASMCMDによるOracle ADVMの管理を参照してください。
ACFSスナップショットを使用したフル・データベース(非CDBまたはCDB)のクローニング方法
ACFSスナップショットは、ファイル・システムのスパースなPoint-in-Timeコピーであり、これを使用すると、DBがACFS上にある場合に、PDBスナップショット・クローニングを使用してPDBのクローンと同様にフルDBクローンも作成できます(PDBクローニングのユーザー・インタフェース)。ACFSスナップショットをテスト環境および開発環境で使用して、テスト・マスターの高速で領域効率の高いクローンを作成できます。この項では、ACFSスナップを使用してフルDBクローンを作成するために必要なステップを例とともに説明します。
テスト設定: クローニングされるSOURCE
という単一のテスト・マスターCDBがあります。このCDBにはsourcepdb[1-10]
という名前で10個のPDBがあり、それぞれOLTPスキーマとともにロードされます。これはReal Application Cluster (RAC)データベースで、インスタンスは両方のノードで実行されています。データファイル、REDOログおよび制御ファイルは、"/mnt/dbvol
"にマウントされたACFSに格納されます。このファイル・システムは、DATA
ディスク・グループに作成されます。リカバリ・ログおよびアーカイブ・ログは、RECO
ディスク・グループの最上位に作成される、"/mnt/rvol
"にマウントされたファイル・システムに格納されます。ACFSスナップはファイル・システム内に格納され、同じマウントポイントを介してアクセスできます。
問題が発生した場合のリカバリ方法を提供するために、テスト・マスター・データベースのバックアップを定期的に作成することをお薦めします。
ExadataでのACFSスナップショットの構成の詳細は、Oracle Exadataストレージ・スナップショットの設定を参照してください
様々なACFSスナップショットのユースケースの詳細は、ExadataでのOracle ACFSスナップショットのユースケースに関するMy Oracle Support (MOS)ノートを参照してください(ドキュメントID 2761360.1)。
Oracle ACFSループバックのサポート
Oracle ACFSでは、Linuxオペレーティング・システムでループバック機能がサポートされているため、Oracle ACFSファイルにデバイスとしてアクセスできます。
Oracle ACFSループバック・デバイスは、Oracle ACFSファイルにブロック・デバイスとしてアクセスできる、オペレーティング・システムの疑似デバイスです。この機能は、Oracle ACFSファイル・システムで作成され、Oracle ACFSループバック・デバイスによって提供されるOVMのイメージ、テンプレートおよび仮想ディスク(vdisk)をサポートするOracle Virtual Machines (OVM)とともに使用できます。
Oracle ACFSループバック機能により、NFS経由のパフォーマンスが向上します。ファイルは、疎ファイルでも非疎ファイルでもかまいません。
一般的なループバック・サポートに加えて、Oracle ACFSでは、疎イメージに対するループバック直接I/O (DIO)もサポートされています。
Oracle ACFSドライバ・リソース管理
Oracle ACFS、Oracle ADVMおよびOKSドライバは、Oracle Restart構成を除いて、Oracle Grid Infrastructureスタックの起動時にロードされます。システムが再起動されるまでドライバはロードされたままですが、その時点で、Oracle Grid Infrastructureスタックを再起動すると、ドライバは再びロードされます。
Oracle ACFS、Oracle ADVMおよびOKSドライバを管理するコマンドの詳細は、「Oracle ACFSドライバのコマンド」を参照してください。
Oracle ACFSレジストリ・リソース管理
Oracle ACFSレジストリ・リソースは、Oracle Grid Infrastructureクラスタ構成でのみサポートされます。Oracle Restart構成ではサポートされません。「Oracle ACFSとOracle Restart」を参照してください。
Oracle ASM 12cリリース1 (12.1)の場合、Oracle ACFSレジストリでは、SRVCTLファイル・システム・インタフェースを介して使用可能な、標準的で単一のファイル・システム・リソースを使用します。詳細は、「Oracle ACFSファイル・システム・リソース管理」を参照してください。SRVCTLを使用すると、アプリケーションを、登録済のファイルシステムに依存するようにできます(srvctl
filesystem
を使用して、登録済のファイルシステムを管理するなど)。デフォルトでは、acfsutil
registry
は、AUTO_START
属性がalways
に設定され、常にマウントするように設定されたファイル・システムのみを表示します。
Oracle ACFSレジストリは、ファイル・システムを登録および削除するroot権限が必要ですが、user
オプションを使用すると、他のユーザーに、ファイル・システムを起動および停止(マウントおよびアンマウント)する権限が付与されます。
Oracle ACFSファイル・システム・リソース管理
Oracle ACFSファイル・システム・リソースは、Oracle Grid Infrastructureクラスタ構成でのみサポートされます。Oracle Restart構成ではサポートされません。「Oracle ACFSとOracle Restart」を参照してください。
Oracle ASMコンフィギュレーション・アシスタント(ASMCA)により、Oracle ACFSファイル・システム・リソース(ora.
diskgroup
.
volume
.acfs
)の作成が容易になります。Database Configuration Assistant(DBCA)を使用したデータベースの作成中に、Oracle ACFSファイル・システム・リソースは、関連付けられたディスク・グループの依存性リストに加えられるため、ディスク・グループを停止すると、依存するOracle ACFSファイル・システムも停止されるようになります。
Oracle ACFSファイル・システム・リソースは通常、アプリケーション・リソースの依存性リストで使用するために作成されます。たとえば、Oracle Databaseホームとして使用するためにOracle ACFSファイル・システムが構成されている場合、ファイル・システム用に作成されたリソースは、Oracle Databaseアプリケーションのリソース依存性リストに含まれます。この依存性により、データベース・アプリケーションの起動アクションの結果、ファイル・システムとスタックは自動的にマウントされます。
Oracle ACFSファイル・システム・リソースの起動アクションは、ファイル・システムのマウントです。このOracle ACFSファイル・システム・リソース・アクションには、関連付けられたファイル・システム・ストレージ・スタックがアクティブであることの確認とディスク・グループのマウント、ボリューム・ファイルの有効化、マウント操作の完了に必要な場合のマウント・ポイントの作成が含まれます。ファイル・システムのマウントに成功した場合、リソースの状態はonline
に、失敗した場合はoffline
に設定されます。
Oracle ACFSファイル・システム・リソースのチェック・アクションでは、ファイル・システムがマウントされていることを検証します。マウントされていれば、リソースの状態をonline
ステータスに設定し、マウントされていなければ、offline
に設定します。
Oracle ACFSファイル・システム・リソースの停止アクションでは、ファイル・システムのディスマウントが試みられます。使用中の参照のためにファイル・システムをディスマウントできない場合、停止アクションは、参照を持つプロセスのプロセスIDを表示して記録します。
Oracle ACFSファイル・システム・リソースを管理するためにsrvctl
start
およびstop
アクションを使用すると、それらの正しいリソースの状態が維持されます。
Oracle ACFSとOracle Restart
このリリースでは、Oracle RestartはrootベースのOracle ACFSリソースをサポートしません。その結果、次の操作は自動的に実行されません。
-
Oracle ACFSドライバのロード
Linuxでは、システム起動時とシステム停止時に、ドライバが自動的にロードおよびアンロードされます。システムが実行中、またはシステムが他のオペレーティング・システム(OS)バージョンで実行中にアクションが必要な場合は、
acfsload
コマンドを使用して、ドライバを手動でロードまたはアンロードできます。ただし、ドライバを手動でロードする場合は、Oracle Restartスタックを起動する前にOracle ACFSドライバをロードする必要があります。詳細は、「acfsload」を参照してください。
-
Oracle ACFSマウント・レジストリにリストされたOracle ACFSファイル・システムのマウント
Oracle ACFSマウント・レジストリは、Oracle Restartでサポートされていません。ただし、有効なOracle ASMデバイスの
/etc/fstab
ファイル内のLinuxのエントリでは、関連付けられたボリュームが有効になっており、これらのエントリはシステム起動時に自動的にマウントされ、システム停止時にアンマウントされます。ファイル・システムがマウントされた後は高可用性(HA)リカバリが適用されないことに注意してください。この機能は1回のみのアクションです。有効な
fstab
エントリの形式は次のとおりです。device mount_point acfs noauto 0 0
次に例を示します。
/dev/asm/dev1-123 /mntpoint acfs noauto 0 0
前述の例の最後の3つのフィールドは、Linuxがデバイスを自動的にマウントしようとすること、およびデバイス上で他のシステム・ツールを実行しようとすることを防止ます。このアクションは、システム起動時にOracle ASMインスタンスが使用できない場合のエラーを防止します。ファイル・システム・マウントのための追加の標準
fstab
構文オプションを追加できます。他のOSバージョンで、またはシステムの起動後にマウントまたはアンマウント操作が必要な場合は、
mount
コマンドを使用して、Oracle ACFSファイル・システムを手動でマウントできます。詳細は、「コマンドライン・ツールによるOracle ACFSの管理」を参照してください。 -
リソースベースのOracle ACFSデータベース・ホーム・ファイル・システムのマウント
Oracle Restart構成の場合、これらのアクションに関連するOracle ACFSリソースは作成されません。Oracle Grid Infrastructure構成では、Oracle ACFSリソース管理が完全サポートされる一方、Oracle Restart構成では、Oracle ACFSリソースベースの管理アクションを代替操作(場合によっては手動)に置き換える必要があります。Oracle Restart構成にrootベースのリソースを登録する、
srvctl
などのコマンドを使用しようとすると、適切なエラーが表示されます。
Oracle ACFSドライバのコマンド
この項では、Oracle ACFS、Oracle ADVMおよびOracle Kernel Services Driver (OKS)ドライバを管理するためにインストール時に使用されるOracle ACFSドライバのコマンドについて説明します。これらのコマンドは、Oracle Grid Infrastructureホームの/bin
ディレクトリにあります。
acfsload
目的
acfsload
は、Oracle ACFS、Oracle ADVMおよびOracle Kernel Services Driver (OKS)ドライバをロードまたはアンロードします。
構文
acfsload { start | stop } [ -s ]
acfsload
—h
はヘルプ・テキストを表示して終了します。
表17-2に、acfsload
コマンドで使用可能なオプションを示します。
表17-2 acfsloadコマンドのオプション
オプション | 説明 |
---|---|
|
Oracle ACFS、Oracle ADVMおよびOKSドライバをロードします。 |
|
Oracle ACFS、Oracle ADVMおよびOKSドライバをアンロードします。 |
|
サイレント・モードで動作します。 |
説明
acfsload
を使用して、Oracle ACFS、Oracle ADVMおよびOKSドライバを手動でロードまたはアンロードできます。
stop
オプションでドライバをアンロードする前に、Oracle ACFSファイル・システムをディスマウントし、Oracle ASMを停止する必要があります。Oracle ACFSファイル・システムのディスマウントの詳細は、「ボリュームおよびOracle ACFSファイル・システムの登録解除、ディスマウント、無効化」を参照してください。
acfsload
を実行するには、root
または管理者権限が必要です。
例
次に、すべてのドライバを停止(アンロード)するacfsload
コマンドの使用例を示します。
# acfsload stop
acfsdriverstate
目的
acfsdriverstate
は、Oracle ACFS、Oracle ADVMおよびOracle Kernel Services Driver (OKS)ドライバの現在の状態に関する情報を提供します。
構文
acfsdriverstate [-orahome ORACLE_HOME ]
{ installed | loaded | version [-v] | supported [-v]} [-s]
acfsdriverstate
—h
はヘルプ・テキストを表示して終了します。
表17-3に、acfsdriverstate
コマンドで使用可能なオプションを示します。
表17-3 acfsdriverstateコマンドのオプション
オプション | 説明 |
---|---|
|
ユーザーが |
|
Oracle ACFSがシステムにインストールされているかどうかを決定します。 |
|
Oracle ADVM、Oracle ACFSおよびOKSドライバがメモリーにロードされているかどうかを決定します。 |
|
現在インストールされているOracle ACFSシステム・ソフトウェアのバージョンをレポートします。 |
|
システムがOracle ACFSでサポートされているカーネルであるかどうかをレポートします。 |
|
コマンドの実行時、サイレント・モードを指定します。 |
|
詳細は、冗長モードを指定してください。 |
説明
acfsdriverstate
を使用して、Oracle ACFS、Oracle ADVMおよびOKSドライバの現在の状態に関する詳細情報を表示できます。
例
次に、acfsdriverstate
コマンドの使用例を示します。
$ acfsdriverstate version ACFS-9325: Driver OS kernel version = 3.8.13-13.el6uek.x86_64. ACFS-9326: Driver build number = 171126. ACFS-9212: Driver build version = 18.1.0.0 ().. ACFS-9547: Driver available build number = 171126. ACFS-9548: Driver available build version = 18.1.0.0 ()..
Oracle ACFSプラグインの汎用アプリケーション・プログラミング・インタフェース
Oracle ACFSプラグイン操作は、共通で、オペレーティング・システム(OS)に依存しないファイル・プラグイン(Cライブラリ)のアプリケーション・プログラミング・インタフェース(API)によってサポートされます。
この項の内容は次のとおりです。
Oracle ACFSプラグインの詳細は、「Oracle ACFSプラグイン」を参照してください。
Oracle ACFSの事前定義済のメトリック・タイプ
Oracle ACFSでは、事前定義済メトリック・タイプのACFSMETRIC1_T
およびACFSMETRIC2_T
が用意されています。
ACFSMETRIC1_T
メトリック・セットは、ストレージ仮想化モデル用に定義されます。メトリックは、選択したタグ付けファイルのセットまたはファイル・システム内のすべてのファイルのいずれかのサマリー・レコードとして維持されます。Oracle ACFSファイル・メトリックには、読取り数、書込み数、平均読取りサイズ、平均書込みサイズ、最小および最大読取りサイズ、最小および最大書込みサイズ、読取りキャッシュ(VMページ・キャッシュ)のヒットおよびミスがあります。
例:
typedef struct _ACFS_METRIC1 { ub2 acfs_version; ub2 acfs_type; ub4 acfs_seqno; ub8 acfs_nreads; ub8 acfs_nwrites; ub8 acfs_rcachehits; ub4 acfs_avgrsize; ub4 acfs_avgwsize; ub4 acfs_minrsize; ub4 acfs_maxrsize; ub4 acfs_minwsize; ub4 acfs_maxwsize; ub4 acfs_rbytes_per_sec; ub4 acfs_wbytes_per_sec; ub8 acfs_timestamp; ub8 acfs_elapsed_secs; } ACFS_METRIC1;
ACFSMETRIC2_T
は、fileID
、開始オフセット、サイズおよび各書込みの順序番号が含まれるOracle ACFS書込み説明レコードのリストです。順序番号により、プラグイン・ドライバによって保持されたとおりにOracle ACFS書込みレコード順は維持されます。順序番号は、アプリケーションでAPIから戻された複数のメッセージ・バッファを順序付ける手段となります。アプリケーションでメッセージ・バッファをAPIを通じて十分な速度で空にできないために削除された書込みレコードを検出することもできます。
書込みレコードは、複数のインメモリー配列に格納されます。レコードの各配列は、バッファ・サイズが現在1 Mに設定されているAPIを使用してフェッチできます。フェッチされたioctl
バッファの先頭には、格納されているレコードの番号など、配列を表すstruct
があります。カーネル・バッファでは、バッファが十分な速度で読み込まれていないためにバッファが満杯である場合、最も古い書込みレコードが削除されます。
例:
typedef struct _ACFS_METRIC2 { ub2 acfs_version; ub2 acfs_type; ub4 acfs_num_recs; ub8 acfs_timestamp; ACFS_METRIC2_REC acfs_recs[1]; } ACFS_METRIC2; typedef struct _ACFS_FILE_ID { ub8 acfs_fenum; ub4 acfs_genum; ub4 acfs_reserved1; } typedef struct _ACFS_METRIC2_REC { ACFS_FILE_ID acfs_file_id; ub8 acfs_start_offset; ub8 acfs_size; ub8 acfs_seq_num; } ACFS_METRIC2_rec;
Oracle ACFSプラグインAPI
目的
Oracle ACFSプラグイン・アプリケーション・プログラミング・インタフェース(API)は、アプリケーション・プラグイン・モジュールのローカル・プラグイン対応のOracle ACFSドライバに対してメッセージを送受信します。
構文
sb8 acfsplugin_metrics(ub4 metric_type, ub1 *metrics, ub4 metric_buf_len, oratext *mountp );
sb8 acfsfileid_lookup(ACFS_FILEID file_id, oratext *full_path, oratext *mountp );
説明
acfsplugin_metrics
APIは、Oracle ACFSドライバからメトリックを受信するために、Oracle ACFSアプリケーション・プラグイン・モジュールによって使用されます。acfsutil
plugin
enable
コマンドを使用して、プラグイン通信のためにまずOracle ACFSドライバを有効にする必要があります。選択したアプリケーション・プラグイン・メトリック・タイプ・モデルは、Oracle ACFSのプラグイン有効化コマンドで定義されたプラグイン構成と一致する必要があります。acfsutil
plugin
enable
コマンドの詳細は、「acfsutil plugin enable」を参照してください。アプリケーションには、「Oracle ACFSの事前定義済のメトリック・タイプ」で説明しているメトリック構造を格納するのに十分なバッファのサイズが提供される必要があります。
指定されたバッファがNULL
で、metric_buf_len
=
0
の場合、戻り値は、現在収集されたすべてのメトリックを保持するために必要なサイズになります。アプリケーションは、まずOracle ACFSに問い合せて、必要なバッファの大きさを参照してから、Oracle ACFSに戻すのに必要なサイズのバッファを割り当てることができます。
参照するプラグインが有効なOracle ACFSファイル・システムを特定するには、マウント・パスをAPIに指定する必要があります。
成功すると、負ではない値が戻されます。収集するメトリックがない状態で成功した場合は0
、使用可能なメトリックがあることを示す場合は1
、間隔の間に収集された新しいメトリックがないことを示す場合は2
が戻されます。エラーの場合、負の値が戻され、Linux環境の場合はerrno
が設定され、WindowsではSetLastError
がコールされます。
メトリック・タイプ#2を使用すると、戻されたメトリックには、fenumとgenumのペアが含まれるACFS_FILE_ID
があります。fenumとgenumのペアからファイル・パスに変換するために、アプリケーションでacfsfileid_lookup
を使用できます。アプリケーションでは、パスを保持するために長さがACFS_FILEID_MAX_PATH_LEN
のバッファを指定する必要があります。1つのファイルに対して複数のハード・リンクがある場合、戻されるパスは最初のパスです。これは、acfsutil info id
の使用時と同じ動作です。
プラグインが有効なOracle ACFSファイル・システム・ドライバに対してメッセージを送受信するには、システム管理者またはOracle ASM管理者の権限が必要です。
アプリケーションの書込み
プラグインAPIを使用するには、APIファンクションおよび構造を定義するCヘッダー・ファイルacfslib.h
をアプリケーションに含める必要があります。
#include <acfslib.h>
アプリケーションの実行可能ファイルを作成する場合、アプリケーションは、acfs12
ライブラリにリンクされている必要があります。定義する必要がある環境変数の詳細は、プラットフォーム固有のドキュメントを参照してください。次に例を示します。
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$ {LD_LIBRARY_PATH}
リンクを行う場合、-lacfs12
フラグを追加します。
例
例17-1では、コマンドは、プラグイン・サービス用に/humanresources
にマウントされたOracle ACFSファイル・システムを有効にします。
例17-1 ストレージの可視性のためのアプリケーション・プラグイン: ポーリング・モデル
$ /sbin/acfsutil plugin enable -m acfsmetric1 -t HRDATA /humanresources
このコマンドの場合、アプリケーション・プラグインは、HRDATA
でタグ付けされたファイルに関連付けられたサマリー・メトリックの、Oracle ACFSプラグインが有効なドライバをポーリングします。アプリケーション・コードは次のようになります。
#include <acfslib.h> ... /* allocate message buffers */ ACFS_METRIC1 *metrics = malloc (sizeof(ACFS_METRIC1)); /* poll for metric1 data */ while (condition) { /* read next summary message from ACFS driver */ if ((rc = acfsplugin_metrics(ACFS_METRIC_TYPE1,(ub1*)metrics,sizeof(*metrics), mountp)) < 0) { perror("….Receive failure … "); break; } /* print message data */ printf ("reads %8llu ", metrics->acfs_nreads); printf("writes %8llu ", metrics->acfs_nwrites); printf("avg read size %8u ", metrics->acfs_avgrsize); printf("avg write size %8u ", metrics->acfs_avgwsize); printf("min read size %8u ", metrics->acfs_minrsize); printf("max read size %8u ", metrics->acfs_maxrsize); ... sleep (timebeforenextpoll); }
例17-2では、コマンドは、プラグイン・サービス用に/humanresources
にマウントされたOracle ACFSファイル・システムを有効にします。
例17-2 ファイル・コンテンツのためのアプリケーション・プラグイン: ポスト・モデル
$ /sbin/acfsutil plugin enable -m acfsmetric1 -t HRDATA -i 5m /humanresources
このコマンドの場合、5分ごとに、Oracle ACFSプラグインが有効なドライバは、HRDATA
でタグ付けされたファイルに関連付けられたファイル・コンテンツ・メトリックをポストします。アプリケーション・コードでは、メトリックがポストされるまで、acfsplugin_metrics()
へのコールはブロックされます。アプリケーション・コードは次のようになります。
#include <acfslib.h> ... ACFS_METRIC1 *metrics = malloc (sizeof(ACFS_METRIC1)); /* Wait for metric Data */ while (condition) { /* Wait for next file content posting from ACFS driver */ rc = ACFS_PLUGIN_MORE_AVAIL; /* A return code of 1 indicates that more metrics are available * in the current set of metrics. */ while( rc == ACFS_PLUGIN_MORE_AVAIL) { /* This call blocks until metrics are available. */ rc = acfsplugin_metrics(ACFS_METRIC_TYPE1,(ub1*)metrics,sizeof(*metrics), mountp); if (rc < 0) { perror("….Receive failure … "); break; } else if (rc == ACFS_PLUGIN_NO_NEW_METRICS) { printf("No new metrics available."); break; } if (last_seqno != metrics->acfs_seqno-1 ) { printf("Warning: Unable to keep up with metrics collection."); printf("Missed %d sets of posted metrics.", (metrics->acfs_seqno-1)-last_seqno); } /* print message data */ printf ("reads %8llu ", metrics->acfs_nreads); printf("writes %8llu ", metrics->acfs_nwrites); printf("avg read size %8u ", metrics->acfs_avgrsize); printf("avg write size %8u ", metrics->acfs_avgwsize); printf("min read size %8u ", metrics->acfs_minrsize); printf("max read size %8u ", metrics->acfs_maxrsize); ... last_seqno = metrics->acfs_seqno; } } free(metrics);
例17-3 FenumとGenumのペアからファイル・パスを解決するためのアプリケーション
次の例では、アプリケーションでOracle ACFSメトリック・タイプ2レコードのfenumとgenumのペアからファイル・パスを解決する方法を示します。
#include <acfslib.h> . . . ACFS_FILE_ID file_id; char path[ACFS_FILEID_MAX_PATH_LEN]; #ifdef WINDOWS file_id.acfs_fenum = atoi(argv[1]); file_id.acfs_genum = atoi(argv[2]); #else file_id.acfs_fenum = strtoull(argv[1], 0, 0); file_id.acfs_genum = strtoul(argv[2], 0, 0); #endif mount_point = argv[3]; sts = acfsfileid_lookup(file_id, path, ACFS_FILEID_MAX_PATH_LEN, mount_point, 0); if (sts < 0) { . . . } printf("%s\n", path)
Oracle ACFSタグ付けの汎用アプリケーション・プログラミング・インタフェース
Oracle ACFSタグ付け操作は、共通で、オペレーティング・システム(OS)に依存しないファイル・タグ(Cライブラリ)のアプリケーション・プログラミング・インタフェース(API)によってサポートされます。
Oracle ACFSタグ付けのAPIデモンストレーション・ユーティリティが提供されます。デモでは、サポートされたプラットフォームごとに、makefileを使用してユーティリティを作成する手順が示されます。
Solarisでは、Oracle ACFSタグ付けのAPIは、シンボリック・リンク・ファイルでタグ名を設定できますが、バックアップおよびリストア・ユーティリティは、シンボリック・リンク・ファイルで明示的に設定されるタグ名を保存しません。また、シンボリック・リンク・ファイルは、移動、コピー、tarの使用またはpaxの使用が行われると、明示的に設定されたタグ名が失われます。
次のファイルがあります。
-
$ORACLE_HOME/usm/public/acfslib.h
-
$ORACLE_HOME/usm/demo/acfstagsdemo.c
-
$ORACLE_HOME/usm/demo/Makefile
デモ・ユーティリティを作成するためのLinux、SolarisまたはAIXのmakefile。
-
$ORACLE_HOME/usm/demo/MAKEFILE
デモ・ユーティリティを作成するためのWindowsのデモ・ユーティリティMAKEFILE (
nmake
ユーティリティによって使用)
この項の内容は次のとおりです。
Oracle ACFSタグ付けのエラー値
次に、失敗した場合のLinux、SolarisまたはAIXのerrno
の値を示します。
-
EINVAL
- タグ名の構文が無効であるか、長すぎます。 -
ENODATA
- このファイルまたはディレクトリに対するタグ名が存在しません。 -
ERANGE
- 値のバッファは、戻り値を保持するには小さすぎます。 -
EACCES
- パスのパス接頭辞のディレクトリに対する検索権限が拒否されました。または、ファイル上でタグ名を読み取る権限がユーザーにありません。 -
ENAMETOOLONG
- ファイル名が長すぎます。 -
ENOENT
- パスのコンポーネントが存在しません。
次に、失敗した場合のWindowsのGetLastError()
が戻す値を示します。
-
ERROR_INVALID_PARAMETER
- このファイルまたはディレクトリに対するタグ名が存在しないか、タグ名の構文に誤りがあります。 -
ERROR_INSUFFICIENT_BUFFER
- 値のバッファは、戻り値を保持するには小さすぎます。 -
ERROR_ACCESS_DENIED
- パスのパス接頭辞のディレクトリに対する検索権限が拒否されました。または、ファイル上でタグ名を読み取る権限がユーザーにありません。 -
ERROR_INVALID_NAME
- ファイル名またはパス名が、長すぎるか不正です。 -
ERROR_FILE_NOT_FOUND
- 指定されたファイルが見つかりません。
acfsgettag
目的
Oracle ACFSファイルのタグ名に関連付けられた値を取得します。
構文
sb8 acfsgettag(const oratext *path, const oratext *tagname, oratext *value, size_t size, ub4 flags);
表17-4に、acfsgettag
コマンドで使用可能なオプションを示します。
表17-4 acfsgettagコマンドのオプション
オプション | 説明 |
---|---|
|
ファイルまたはディレクトリのパス名へのポインタを指定します。 |
|
通常のファイルまたはディレクトリに対する有効なタグ名の形式で、NULLで終了するOracle ACFSタグ名へのポインタを指定します。 |
|
Oracle ACFSタグ値を取得するためのメモリー・バッファを指定します。 |
|
戻されたOracle ACFSタグ値を保持するメモリー・バッファのバイト・サイズを指定します。 |
|
将来の使用のために予約されています。0に設定する必要があります。 |
説明
acfsgettag
ライブラリ・コールは、Oracle ACFSタグ名の値文字列を取得します。戻り値は、ゼロ以外のバイトの長さの出力で、成功した場合はvalue
文字列、失敗した場合はACFS_TAG_FAIL
です。ACFS_TAG_FAIL
が戻されたときに取得する、オペレーティング・システム固有の詳細なエラー情報の値の詳細は、「Oracle ACFSタグ付けのエラー値」を参照してください。
Oracle ACFSタグ名には、固定値文字列の0
(長さが1バイトの数字ゼロの文字)が現在使用されているため、valueは、Oracle ACFSタグ名のすべてのエントリで同じです。value
をNULL、size
を0
に設定してacfsgettag
をコールすることによって、value
バッファのサイズを決定できます。ライブラリ・コールは、タグ名の値文字列を保持するのに必要なバイト・サイズを戻します。タグ名がファイルで設定されていない場合、acfsgettag
は、ENODATA
エラーを戻します。
例
例17-4に、acfsgettag
ファンクション・コールの使用例を示します。
例17-4 ファイルのタグ値の取得
sb8 rc; size_t size; oratext value[2]; const oratext *path = "/mnt/dir1/dir2/file2"; const oratext *tagname = "patch_set_11_1"; size = 1; (byte) memset((void *)value, 0, 2*sizeof(oratext)); rc = acfsgettag (path, tagname, value, size, 0); If (rc == ACFS_TAG_FAIL) /* check errno or GetLastError() to process error returns /*
acfslisttags
目的
Oracle ACFSファイルに割り当てられたタグ名をリストします。詳細は、「acfsutil tag info」を参照してください。
構文
sb8 acfslisttags(const oratext *path, oratext *list, size_t size, ub4 flags);
表17-4に、acfslisttags
コマンドで使用可能なオプションを示します。
表17-5 acfslisttagsコマンドのオプション
オプション | 説明 |
---|---|
|
ファイルまたはディレクトリのパス名へのポインタを指定します。 |
|
Oracle ACFSタグ名のリストを含むメモリー・バッファへのポインタを指定します。 |
|
戻されたOracle ACFSタグ名リストを保持するメモリー・バッファのサイズ(バイト)を指定します。 |
|
将来の使用のために予約されています。0に設定する必要があります。 |
説明
acfslisttags
ライブラリ・コールは、Oracle ACFSファイルに割り当てられたすべてのタグ名を取得します。acfslisttags
は、list
メモリー・バッファにタグ名のリストを戻します。リスト内の各タグ名は、NULLで終了します。ファイルにタグ名がない場合、リフトは空になります。メモリー・バッファは、Oracle ACFSファイルに割り当てられたすべてのタグ名を保持するのに十分な大きさにする必要があります。
アプリケーションは、バッファを割り当て、Oracle ACFSファイルに割り当てられたすべてのタグ名を保持するのに十分なリスト・サイズの大きさを指定する必要があります。acfslisttags
を、バッファ・サイズをゼロ値、リスト・バッファをNULLで最初にコールすることによって、アプリケーションは、必要なリスト・バッファ・サイズを必要に応じて取得できます。アプリケーションは、ゼロ以外の正のリスト・サイズの戻り値をチェックして、リスト・バッファを割り当て、acfslisttags
をコールして、実際のタグ名リストを取得します。
成功すると、戻り値は、タグ名リストの正のバイト・サイズとなり、ファイルにタグ名がない場合は0
になります。失敗した場合、戻り値はACFS_TAG_FAIL
です。ACFS_TAG_FAIL
が戻されたときに取得する、オペレーティング・システム固有の詳細なエラー情報の値の詳細は、「Oracle ACFSタグ付けのエラー値」を参照してください。
例
例17-5に、acfslisttags
ファンクション・コールの使用例を示します。
例17-5 ファイルのタグのリスト
sb8 listsize; sb8 listsize2; const oratext *path = "/mnt/dir1/dir2/file2"; oratext *list; /* Determine size of buffer to store list */ listsize = acfslisttags (path, NULL, 0, 0); if (listsize == ACFS_TAG_FAIL) /* retrieve the error code and return */ if (listsize) { list = malloc(listsize) /* Retrieve list of tag names */ listsize2 = acfslisttags (path, list, listsize, 0); if (listsize2 == ACFS_TAG_FAIL) /* check errno or GetLastError() to process error returns */ if (listsize2 > 0) /* file has a list of tag names to process */ else /* file has no tag names. */ } else /* file has no tag names. */
acfsremovetag
目的
Oracle ACFSファイルのタグ名を削除します。
構文
sb8 acfsremovetag(const oratext *path, const oratext *tagname, ub4 flags);
表17-6に、acfsremovetag
コマンドで使用可能なオプションを示します。
表17-6 acfsremovetagコマンドのオプション
オプション | 説明 |
---|---|
|
ファイルまたはディレクトリのパス名へのポインタを指定します。 |
|
通常のファイルまたはディレクトリに対する有効なタグ名の形式で、NULLで終了するOracle ACFSタグ名へのポインタを指定します。 |
|
将来の使用のために予約されています。 |
説明
acfsremovetag
ライブラリ・コールは、Oracle ACFSファイルのタグ名を削除します。戻り値は、ACFS_TAG_SUCCESS
またはACFS_TAG_FAIL
です。ACFS_TAG_FAIL
が戻されたときに取得する、オペレーティング・システム固有の詳細なエラー情報の値の詳細は、「Oracle ACFSタグ付けのエラー値」を参照してください。
例
例17-6に、acfsremovetag
ファンクション・コールの使用例を示します。
例17-6 ファイルのタグの削除
sb8 rc; const oratext *path= "/mnt/dir1/dir2/file2"; const oratext *tagname = "patch_set_11_1"; rc = acfsremovetag (path, tagname, 0); If (rc == ACFS_TAG_FAIL) /* check errno or GetLastError() to process error returns */
acfssettag
目的
Oracle ACFSファイルのタグ名を設定します。詳細は、「acfsutil tag set」を参照してください。
構文
sb8 acfssettag(const oratext *path, const oratext *tagname, oratext *value, size_t size, ub4 flags);
表17-7に、acfssettag
コマンドで使用可能なオプションを示します。
表17-7 acfssettagコマンドのオプション
オプション | 説明 |
---|---|
|
ファイルまたはディレクトリのパス名へのポインタを指定します。 |
|
通常のファイルまたはディレクトリに対する有効なタグ名の形式で、NULLで終了するOracle ACFSタグ名へのポインタを指定します。 |
|
Oracle ACFSタグ値を設定するためのメモリー・バッファを指定します。 |
|
Oracle ACFSタグ値のバイト・サイズを指定します。 |
|
将来の使用のために予約されています。0に設定する必要があります。 |
説明
acfssettag
ライブラリ・コールは、Oracle ACFSファイルのタグ名を設定します。戻り値は、ACFS_TAG_SUCCESS
またはACFS_TAG_FAIL
です。ACFS_TAG_FAIL
が戻されたときに取得する、オペレーティング・システム固有の詳細なエラー情報の値の詳細は、「Oracle ACFSタグ付けのエラー値」を参照してください。
Oracle ACFSタグ名には、固定値文字列の0
(長さが1バイトの数字ゼロの文字)が現在使用されているため、value
は、Oracle ACFSタグ名のすべてのエントリで同じです。
例
例17-7に、acfssettag
ファンクション・コールの使用例を示します。
例17-7 ファイルのタグの設定
sb8 rc; size_t size; const oratext *value ; const oratext *path= "/mnt/dir1/dir2/file2"; const oratext *tagname = "patch_set_11_1"; value = "0"; /* zero */ size = 1; (byte) rc = acfssettag (path, tagname, (oratext *)value, size, 0); If (rc == ACFS_TAG_FAIL) /* check errno and GetLastError() to process error returns */
Oracle ACFS診断コマンド
このトピックでは、診断に使用するOracle ACFSコマンドライン・ユーティリティの概要を示します。
Oracle ACFSでは、診断に使用する様々なacfsutil
コマンドライン・ユーティリティを提供します。
ノート:
診断コマンドは、Oracleサポートが分析のために診断データを要求した場合にのみ実行します。
次の表に、Oracle ACFSユーティリティと簡単な説明を示します。
Oracle ACFS acfsutil
コマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。
表17-8 Oracle ACFS診断コマンドの概要
コマンド | 説明 |
---|---|
Oracle ACFSファイル・システムをデバッグします。 |
|
ブログ・ファイルにテキストを書込みます。 |
|
Oracle ACFSの内部状態情報を収集します。 |
|
オープン・ファイルのトレース・エントリを表示します。 |
|
ロック競合統計を表示します。 |
|
メモリー診断ログ・ファイルおよびメッセージ・デバッグ設定を取得します。 |
|
Oracle ACFSファイル・システムから別の出力ファイルにメタデータをコピーします。 |
|
Oracle ACFSの永続ロギング構成設定を管理します。 |
|
Oracle ACFSの調整可能パラメータを変更または表示します。 |
|
Oracle ADVMパラメータを変更または表示します。 |
acfsdbg
目的
Oracle ACFSファイル・システムをデバッグします。
構文および説明
acfsdbg [-r] [-l] [-x] volume_device
acfsdbg -h
Oracle ACFS acfsutil
コマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。
次の表に、acfsdbg
コマンドで使用可能なオプションを示します。
表17-9 acfsdbgコマンドのオプション
オプション | 説明 |
---|---|
|
使用方法のメッセージを出力して終了します。メッセージには、 |
|
読取り専用モードで動作します。ファイル・システム上のデータは変更されません。また、すべての書込みコマンドを無効にします。デバイスがどこかにマウントされている場合、データはファイル・システム・マウントによってキャッシュされているものもあるため、 |
|
カーネル・ログ・ファイルを処理します。デフォルトでは、ログ・ファイルを処理しません。 |
|
|
|
ボリュームのデバイス名を指定します。 |
acfsdbg
を実行するには、管理者またはOracle ASM管理者グループのメンバーであることが必要です。
サブコマンド
表17-10に、acfsdbg
のサブコマンドを示します。
表17-10 acfsdbgのサブコマンド
オプション | 説明 | 構文 |
---|---|---|
|
単純な演算式を計算します。 有効な演算子: +、-、*、/、%、&、|、^、~、<<、>> 新しい式は、空白で始めます。 0-1は、マイナス1を表します。 |
|
|
ヘッダーでチェックサムを生成して置換します。 ヘッダー・オフセットは、 新しいヘッダー・オフセットは、空白で始めます。 このコマンドは、読取り専用モードでは無効です。 |
|
|
デバイスへのオープン・ハンドルを閉じます。 |
|
|
コマンドラインのテキストをstdoutにエコーします。 |
|
|
指定されたファイル・エントリ表(FETA)エントリを表示します。 |
|
|
ヘルプ・メッセージを表示します。 |
|
|
ディスク・オフセットでの構造を表示します。 |
|
|
デバイスへのハンドルを開きます。デフォルトは、コマンドラインに入力されたボリューム・デバイス名です。 |
|
|
コマンドのコンテキストにプライマリ・ファイル・システムを設定します。 |
|
|
プロンプトに指定された文字列を設定します。 |
|
|
|
|
|
オフセットから値を読み取ります。 読取りのデフォルト・サイズは、8バイトです。 読取りのデフォルト件数は、1です。 |
|
|
コマンドのコンテキストに指定されたスナップショットを設定します。 |
|
|
16進数、8進数または10進数の値をディスク・オフセットに書き込みます。値のサイズまたは前ゼロ付きの16進数値の桁数に基づいて書込みバイト数を見積ります。 ディスク・オフセットは、 数値は、 このコマンドは、読取り専用モードでは無効です。 |
|
例
例17-8に、acfsdbg
サブコマンドの使用を示します。
例17-8 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
コマンドで使用可能なオプションを示します。
表17-11 acfsutil blogコマンドのオプション
オプション | 説明 |
---|---|
|
指定されたマウント・ポイントでブログ・ファイルにテキストを書込みます。 |
|
|
|
マウント・ポイントを指定します。 |
acfsutil
blog
コマンドを使用すると、ブログ・ファイルにテキストを書き込むことができます。
.
例
次の例では、acfsutil
blog
コマンドの実行方法を示します。—h
オプションを指定してacfsutil
blog
を実行すると、ヘルプが表示されます。
例17-9 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] [-z] [acfs_path]}
acfsutil
-h
dumpstate
は、ヘルプ・テキストを表示して終了します。
Oracle ACFS acfsutil
コマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。
次の表に、acfsutil
dumpstate
コマンドで使用可能なオプションを示します。
表17-12 acfsutil dumpstateコマンドのオプション
オプション | 説明 |
---|---|
|
Oracle ACFSファイル・システムへのディレクトリ・パスを指定します。 |
|
現在のディレクトリ内の |
|
現在のすべての統計をクリアします。 |
acfsutil
dumpstate
コマンドは、指定されたファイル・システムについてOracle ACFSの内部状態情報を収集します。状態情報は、ロギング・ディレクトリのバイナリ・インシデント・ファイルに書き込まれます。バイナリ・ログ・インシデント・ファイルは、指定したパスでマウントされたファイル・システムに固有です。acfs.dumpstats
統計ファイルには、Oracle ACFSカーネル・モジュール全体の統計が含まれています。
ノート:
acfsutil
dumpstate
コマンドは、Oracleサポートが分析のために診断データおよびデバッグ・データを要求した場合にのみ実行します。
例
次に、acfsutil
dumpstate
コマンドの使用例を示します。
例17-10 acfsutil dumpstateコマンドの使用方法
次のコマンド実行は、指定したファイル・システムのバイナリ・インシデント・ファイルを作成します。
$ /sbin/acfsutil dumpstate /acfsmounts/acfs1/
次のコマンド実行は、ファイル・システム統計をダンプし、指定したファイル・システムのバイナリ・インシデント・ファイルを作成します。
$ /sbin/acfsutil dumpstate -d /acfsmounts/acfs1/
次のコマンド実行は、すべてのファイル・システムの統計をクリアします。
$ /sbin/acfsutil dumpstate -z
次のコマンド実行は、ファイル・システム統計をダンプし、バイナリ・インシデント・ファイルを作成し、指定したファイル・システムのすべてのファイル・システム統計をクリアします。
$ /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
コマンドで使用可能なオプションを示します。
表17-13 acfsutil info ftraceコマンドのオプション
オプション | 説明 |
---|---|
|
オープン・ファイルのファイルIDのみを表示します。 |
|
このファイル・システムがマウントされるディレクトリを指定します。 |
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
コマンドを示しています。
例17-11 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 lh -h acfsutil lockstats lh [-b] [-e] [-z] [-t top_n] [-s sort_column]
acfsutil lockstats lh —h
は、ヘルプ・テキストを表示して終了します。
Oracle ACFS acfsutil
コマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。
次の表に、acfsutil lockstats
コマンドで使用可能なオプションを示します。
表17-14 acfsutil lockstatsコマンドのオプション
オプション | 説明 |
---|---|
|
ロック統計の収集を開始(有効化)します。 |
|
ロック統計の収集を停止(無効化)します。 |
|
収集された現在のロック統計をゼロアウト(クリア)します。 |
|
上位n個のロック統計を表示します。 |
|
指定したソート列のロック統計をソートします。 有効なソート列の値は、 デフォルトでは、統計は |
-
最初の列は、ロック階層グループ名です。
-
2番目の列は、その特定のグループで取得されたロックの数です。
-
3番目の列は、取得したすべてのロックの最大待機時間です。
-
4番目の列は、取得したすべてのロックの累積待機時間です。
例
次の例では、acfsutil
lockstats
コマンドの複数の使用方法を示します。
例17-12 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 all of the lock statistics, sorted on the total wait column. $ acfutil lockstats lh +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_MetabufLock | 608763 | 1 | 176 | | LH_FcbMCBLock | 605578 | 1 | 83 | | LH_IgnoreCompletely | 7002105 | 1 | 41 | | LH_SnapDIOCowLock | 295 | 6 | 6 | | LH_DLM_hash_chain_lock | 312581 | 1 | 5 | | LH_OFSBUFHashChain | 610118 | 1 | 5 | | LH_SnapMapLockDLMLock | 297 | 1 | 1 | | LH_RemapTableDLMLock | 3 | 1 | 1 | | LH_TrackOnly | 348954 | 0 | 0 | | LH_KS_feature_lock | 12 | 0 | 0 | | LH_DLM_rbld_stall_lock | 199 | 0 | 0 | | LH_DLM_rsb_incarn_lock | 68 | 0 | 0 | | LH_DLM_rsb_lock | 81 | 0 | 0 | | LH_DLM_lkb_lock | 83 | 0 | 0 | | LH_DLM_lkid_lock | 194 | 0 | 0 | | LH_KCSS_comm_lock | 11 | 0 | 0 | | LH_KSS_asm_exit_lock | 10 | 0 | 0 | | LH_KCSS_rac_mode_lock | 21 | 0 | 0 | | LH_ADVM_hd_lock | 1 | 0 | 0 | | LH_ADVM_rootSpin | 90 | 0 | 0 | | LH_ADVM_root_stateLock | 1 | 0 | 0 | . . . | LH_GlobalMntResource | 4 | 0 | 0 | | LH_KS_PlogConfigLock | 587 | 0 | 0 | +-------------------------------------+--------------+------------+------------+ # Displays only the top 10 lock statistics. $ acfsutil lockstats lh -t 10 +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_MetabufLock | 802244 | 1 | 230 | | LH_FcbMCBLock | 798135 | 1 | 113 | | LH_IgnoreCompletely | 9214061 | 1 | 54 | | LH_OFSBUFHashChain | 803599 | 1 | 7 | | LH_SnapDIOCowLock | 389 | 6 | 6 | +-------------------------------------+--------------+------------+------------+ # Displays all of the lock statistics, sorted on the ‘Acquires’ column. $ acfsutil lockstats -s acquires +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_IgnoreCompletely | 9263483 | 1 | 54 | | LH_OFSBUFHashChain | 807734 | 1 | 7 | | LH_MetabufLock | 806379 | 1 | 231 | | LH_FcbMCBLock | 802234 | 1 | 114 | | LH_TrackOnly | 461656 | 0 | 0 | | LH_DLM_hash_chain_lock | 312581 | 1 | 5 | | LH_DLMSpinLock | 15982 | 0 | 0 | | LH_AutoResizeLock | 3880 | 0 | 0 | | LH_SnapMapMetaDataLock | 2725 | 0 | 0 | | LH_RecoverySpinLock | 2722 | 0 | 0 | | LH_clean_ofsBufl_lock | 2580 | 0 | 0 | | LH_ResizeVOPsLock | 2333 | 0 | 0 | | LH_SBMetaDataLock | 2145 | 0 | 0 | | LH_SBDLMLock | 2145 | 0 | 0 | | LH_FcbListLock | 1980 | 0 | 0 | | LH_VcbDIOSpinLock | 1940 | 0 | 0 | | LH_McbLock | 1863 | 0 | 0 | | LH_UnmountFCBRefLock | 1552 | 0 | 0 | | LH_AuditThreadResource | 783 | 0 | 0 | | LH_KS_PlogConfigLock | 779 | 0 | 0 | . . . | LH_ShrinkAccelLock1 | 1 | 0 | 0 | | LH_ShrinkLock1 | 1 | 0 | 0 | | LH_VolResizeLock | 1 | 0 | 0 | +-------------------------------------+--------------+------------+------------+ # Displays all of the lock statistics, sorted on the ‘Max Wait’ column. $ acfsutil lockstats -s maxwait +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_SnapDIOCowLock | 397 | 6 | 6 | | LH_IgnoreCompletely | 9405112 | 1 | 55 | | LH_DLM_hash_chain_lock | 312581 | 1 | 5 | | LH_OFSBUFHashChain | 820083 | 1 | 7 | | LH_FcbMCBLock | 814524 | 1 | 116 | | LH_MetabufLock | 818728 | 1 | 234 | | LH_SnapMapLockDLMLock | 399 | 1 | 1 | | LH_RemapTableDLMLock | 3 | 1 | 1 | | LH_TrackOnly | 468690 | 0 | 0 | | LH_KS_feature_lock | 12 | 0 | 0 | | LH_DLM_rbld_stall_lock | 199 | 0 | 0 | | LH_DLM_rsb_incarn_lock | 68 | 0 | 0 | | LH_DLM_rsb_lock | 81 | 0 | 0 | | LH_DLM_lkb_lock | 83 | 0 | 0 | | LH_DLM_lkid_lock | 194 | 0 | 0 | | LH_KCSS_comm_lock | 11 | 0 | 0 | . . . | LH_GlobalMntResource | 4 | 0 | 0 | | LH_KS_PlogConfigLock | 790 | 0 | 0 | +-------------------------------------+--------------+------------+------------+ # Displays all of the lock statistics, sorted on the ’Total Wait’ column. $ acfsutil lockstats -s total wait +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_MetabufLock | 608763 | 1 | 176 | | LH_FcbMCBLock | 605578 | 1 | 83 | | LH_IgnoreCompletely | 7002105 | 1 | 41 | | LH_SnapDIOCowLock | 295 | 6 | 6 | | LH_DLM_hash_chain_lock | 312581 | 1 | 5 | | LH_OFSBUFHashChain | 610118 | 1 | 5 | | LH_SnapMapLockDLMLock | 297 | 1 | 1 | | LH_RemapTableDLMLock | 3 | 1 | 1 | | LH_TrackOnly | 348954 | 0 | 0 | | LH_KS_feature_lock | 12 | 0 | 0 | | LH_DLM_rbld_stall_lock | 199 | 0 | 0 | | LH_DLM_rsb_incarn_lock | 68 | 0 | 0 | | LH_DLM_rsb_lock | 81 | 0 | 0 | | LH_DLM_lkb_lock | 83 | 0 | 0 | | LH_DLM_lkid_lock | 194 | 0 | 0 | | LH_KCSS_comm_lock | 11 | 0 | 0 | | LH_KSS_asm_exit_lock | 10 | 0 | 0 | | LH_KCSS_rac_mode_lock | 21 | 0 | 0 | | LH_ADVM_hd_lock | 1 | 0 | 0 | | LH_ADVM_rootSpin | 90 | 0 | 0 | | LH_ADVM_root_stateLock | 1 | 0 | 0 | . . . | LH_GlobalMntResource | 4 | 0 | 0 | | LH_KS_PlogConfigLock | 587 | 0 | 0 | +-------------------------------------+--------------+------------+------------+ # Displays the top 10 lock statistics, sorted on the ’Acquires’ column. $ acfsutil lockstats lh -s acquires -t 10 +-------------------------------------+--------------+------------+------------+ | Lock Type | Acquires | Max Wait | Total Wait | +-------------------------------------+--------------+------------+------------+ | LH_IgnoreCompletely | 9874904 | 1 | 58 | | LH_OFSBUFHashChain | 861237 | 1 | 8 | | LH_MetabufLock | 859882 | 1 | 248 | | LH_FcbMCBLock | 855493 | 1 | 127 | | LH_TrackOnly | 491920 | 0 | 0 | | LH_DLM_hash_chain_lock | 312581 | 1 | 5 | | LH_DLMSpinLock | 16870 | 0 | 0 | | LH_AutoResizeLock | 4122 | 0 | 0 | | LH_SnapMapMetaDataLock | 2898 | 0 | 0 | | LH_RecoverySpinLock | 2884 | 0 | 0 | +-------------------------------------+--------------+------------+------------+
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
コマンドで使用可能なオプションを示します。
表17-15 acfsutil logコマンドのオプション
オプション | 説明 |
---|---|
|
指定されたファイルにインメモリー・ログを書き込みます。デフォルト・ファイルは、現行ディレクトリの |
|
インメモリー・ログ・ファイルのサイズを表示します。 |
|
インメモリー・ログ・ファイルのサイズを設定します。 |
|
レベルまたは問合せの設定を設定する製品を指定します。デフォルトはすべての製品、つまりOracle ADVM ( |
|
インメモリー・デバッグ・レベルを設定します。デフォルトのデバッグ・レベルは |
|
永続ロギングのデバッグ・レベルを設定します。その他の永続ログ構成設定は、 |
|
ログ・サイズ、デバッグ・レベルおよび製品値をすべてのノードに設定し、wait_timeで指定された秒数の間待機し、すべてのノードのメモリー・ログにダンプを出力した後、デバッグ・レベルおよびログ・サイズをリセットします。 |
|
指定された製品のデバッグ設定を問い合せます。 例: |
|
デバッグ・コンテキストを設定します(内部のみ)。 |
|
デバッグ・ファイル・タイプを設定します(内部のみ)。 |
|
指定されたマウント・ポイントでファイル・システムのみをデバッグすることを指定します。 |
|
すべてのファイル・システムについてログに記録するように、デバッグ・ロギングをリセットします。 |
|
すべてのクラスタ・ノードでメモリー・ログをダンプします。また、 |
|
すべてのハング・マネージャ・スレッド情報をインメモリー・ログおよび永続ログにダンプします。 |
acfsutil
log
コマンドを使用すると、メモリー診断ログ・ファイルを管理できます。オプションをなにも指定しないと、acfsutil
log
コマンドは、デフォルトで./oks.log
メモリー・ログに対して取得および書込みを実行します。
-o
オプションは、次を実行します。
-
すべてのノードのインメモリー・ログに対してログ・サイズを
500M
、ログ・レベルを5
、製品をofs
(acfs)にそれぞれ設定します。 -
「180秒間ブロック中で、現在問題が再現しています」などの情報メッセージを表示します。
-
指定された秒数の間待機した後、「すべてのノードでログをダンプしています」と表示します。
-
クラスタ規模のログのダンプを開始します。
-
ログ・レベルを
2
にリセットし、ログ・サイズをデフォルトにリセットします。
-o
オプションは、デフォルトの製品、デバッグ・レベルまたはログ・サイズの設定を変更する必要がある場合、-p
、-l
および-r
の各オプションと組み合せることができます。
このコマンドを実行するには、root
ユーザーまたはOracle ASM管理者ユーザーである必要があります。
例
次の例は、acfsutil
log
コマンドを実行する様々な方法を示しています。
例17-13 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 $ acfsutil log -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形式(およびAIX形式とSolaris形式)で表示されます。Windowsで実行されるコマンドは、オプションの前にハイフン(-
)ではなくスラッシュ(/
)を使用します。たとえば、Linuxの場合は—f
、Windowsの場合は/f
を使用します。
表17-16 acfsutil metaコマンドのオプション
オプション | 説明 |
---|---|
|
メタデータのコピー先となる出力ファイルのパス名を指定します。 |
|
ブロック・スキャンは、ボリューム全体で失われたメタデータを検索するためには実行しないでください。かわりに、既知のメタデータ・ブロックのみを読み取ってください。このオプションが推奨されるのは、良好な状態のファイル・システムのみです。 |
|
Oracle ACFSオンライン・チェッカ(Linuxでは |
|
Oracle ACFSオンライン・チェッカ(Linuxでは |
|
Oracle ACFSオンライン・チェッカのCopy-On-Write(COW)ファイルへのパスを指定します。パスは別のOracle ACFSファイル・システム上にある必要があります。 |
|
Oracle ACFSオンライン・チェッカのCopy-On-Write(COW)ファイルのサイズを指定します。サイズは、ファイル・システムの変更時に元のブロックを維持できる規模の十分な大きさが必要です。 |
|
コピーされるファイル・システムのボリューム・デバイス名を指定します。 |
|
verboseモードを指定して追加の診断メッセージを生成します。 |
|
クイック・スキャン・モードでメタデータ・コレクタを起動します。ボリュームのスキャンは、指定されたサイズで停止します。指定する数字は正の整数でなければならず、値は、少なくとも200Mでなければなりません。 単位は、K (KB)、M (MB)、G (GB)、またはT (TB)です。単位インジケータを指定する場合は、整数の後に付ける必要があります。省略した場合、デフォルトの単位はバイトです。 |
|
ログ・ファイルのパスを指定します。指定しない場合、ログ・ファイルは現行ディレクトリにデフォルト名の |
|
メタ・コレクタがデータを追加でコピーする元となるカンマ区切りのファイル・オフセットのリストを指定します。 |
|
ファイル・システムがアンマウントできない場合に使用される、関連付けられたアクセラレータ・デバイスの場所を指定します。 |
|
指定されたレコード指向メタデータ・ファイルを、 |
|
-iオプションを |
|
|
acfsutil
meta
コマンドは、メタデータ・コレクタとして動作し、Oracle ACFSファイル・システムを別の指定されたレコード指向出力ファイルに部分的にコピーします。メタデータ・コレクタは、Oracle ACFSファイル・システムのボリュームデバイス名で指定されたファイル・システムのコンテンツを読み取ります。この入力ファイル・システムでOracle ACFSメタデータが検索され、見つかったメタデータはすべて指定のレコード指向出力ファイルに書き込まれます。生成されたレコード指向出力ファイルは、容易に別のシステムに転送できます。そこで、顧客サイトにある元のファイル・システムに影響を与えることなく、診断および分析のために展開できます。
-g
オプションは、既知の良好なメタデータのみを収集します。破損したファイル・システムを指定して-g
オプションは使用しないでください。-g
オプションは、失われたメタデータを検索しないためです。失われたメタデータは、ファイル・システムの破損の診断に重要な場合があります。ファイル・システムが良好な状態の場合、-g
オプションは、物理ボリューム全体をスキャンして失われたメタデータ・ブロックを検索する必要がないため、より高速にメタデータを収集できます。
Linuxでacfsutil
meta
-g
コマンドを実行すると、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
-
AIXでは、次の書式でコマンドを実行します。
/sbin/helpers/acfs/fsck filesystem_meta_file
-
Windowsでは、次の書式でコマンドを実行します。
acfschkdsk filesystem_meta_file
例
例17-14は、メタデータをコピーして出力ファイルへと展開するためのacfsutil meta
コマンドの使用方法を示しています。
例17-14 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]
acfsutil
-h
plogconfig
は、ヘルプを表示して終了します。
Oracle ACFS acfsutil
コマンドの実行の詳細は、「Oracle ACFSコマンドライン・ツールの使用について」を参照してください。
次の表に、acfsutil
plogconfig
コマンドで使用可能なオプションを示します。
表17-17 acfsutil plogconfigコマンドのオプション
オプション | 説明 |
---|---|
|
代替ロギング・ディレクトリを指定します。指定しない場合、デフォルト・ディレクトリは |
|
ロギングを終了します。 |
|
永続ロギング構成設定を問い合せて、表示します。 |
|
間隔タイマーの秒数を指定します。 |
|
ログ・バッファ・サイズ(KB)を設定します。 |
|
ファイル書込みトリガーをパーセンテージで設定します。 |
|
ファイル書込みスロットルをパーセンテージで設定します。 |
|
ログ・ファイルの最大サイズ(MB)を設定します。 |
|
ログ・ファイルの最大数を設定します。 |
acfsutil
plogconfig
コマンドは、永続ロギングの構成設定を管理するための診断ツールとなります。
コマンド引数はすべてオプションですが、少なくとも1つ指定する必要があります。
ノート:
acfsutil
plogconfig
コマンドは、Oracleサポートが永続ロギング設定の構成を要求した場合にのみ実行します。
このコマンドを実行するには、root
ユーザーまたはOracle ASM管理者ユーザーである必要があります。
例
次に、現在の構成設定を表示するacfsutil
plogconfig
コマンドの使用例を示します。
例17-15 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
コマンドで使用可能なオプションを示します。
表17-18 acfsutil tuneコマンドのオプション
オプション | 説明 |
---|---|
|
調整可能パラメータの名前を指定します。 |
|
調整可能パラメータの値を指定します。 |
調整可能パラメータと値が指定されている場合、acfsutil
tune
コマンドは、特定のノードに永続的な方法で調整可能パラメータの値を設定します。
調整可能パラメータが値なしで指定されている場合、acfsutil
tune
コマンドは、指定された調整可能パラメータに現在割り当てられている値を表示します。
オプションが指定されていない場合、acfsutil
tune
コマンドは、現在割り当てられている調整可能パラメータの値を表示します。
Oracle ACFS調整可能パラメータAcfsMaxOpenFiles
により、WindowsおよびAIX上で開かれているOracle ACFSファイルの数が制限されます。通常、この調整可能パラメータの値を変更する必要はありませんが、Oracle ACFSファイル・システムで大きな作業ファイルを扱う場合、値を増やすことがあります。
Oracle ACFS調整可能パラメータAcfsMaxCachedFiles
により、WindowsおよびAIXのメモリーにキャッシュされているクローズ済ファイルの最大数が設定されます。通常、この調整可能パラメータの値を変更する必要はありませんが、パフォーマンスの向上のために値を変更することがあります。
調整可能パラメータを変更すると、ただちに有効になり、再起動されても効力は持続します。
調整可能パラメータの値を変更するには、rootユーザーまたはWindowsのAdministrator
であることが必要です。
例
最初のコマンドは、Oracle ACFSの調整可能パラメータとその値を表示します。2つ目のコマンドでは、AcfsHMTimeOutIntervalSecs
パラメータの値を変更します。
例17-16 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
コマンドで使用可能なオプションを示します。
表17-19 advmutil tuneコマンドのオプション
オプション | 説明 |
---|---|
|
値を設定または表示するパラメータを指定します。 |
|
指定したパラメータの値を指定します。 |
オプションが指定されていない場合、advmutil
tune
コマンドは、現在割り当てられている値を表示します。
パラメータに値が指定されていない場合、advmutil
tune
コマンドは指定されたパラメータに現在割り当てられている値を表示します。
パラメータを設定するには、権限を持つユーザーである必要があります。
ノート:
パラメータの設定は注意して行う必要があり、通常はOracleサポート・サービスのみが行います。
例
advmutil
tune
で指定できるパラメータは、デッドロック・タイマー(deadlock_timer
)の最大時間(分)です。この例の1つ目のコマンドは、deadlock_timer
パラメータの最大時間(分)を変更します。2番目のコマンドは、Oracle ADVMパラメータの現在の設定を表示します。
例17-17 advmutil tuneの使用方法
$ /sbin/advmutil tune deadlock_timer=20 $ /sbin/advmutil tune deadlock_timer = 20 (0x14) resilver_power = 8 (0x8) resilver_regio = 32 (0x20)
Oracle ACFS I/O障害コンソール・メッセージの理解
Oracle ACFSでは、オペレーティング・システム固有のシステム・イベント・ログにI/O障害の情報を記録します。
コンソール・メッセージの書式は次のとおりです。
[Oracle ACFS]: I/O failure (error_code) with device device_name during a operation_name op_type. file_entry_num Starting offset: offset. Length of data transfer: io_length bytes. Impact: acfs_type Object: object_type Oper.Context: operation_context Snapshot?: yes_or_no AcfsObjectID: acfs_object_id . Internal ACFS Location: code_location.
コンソール・メッセージ構文のイタリック体の変数は、次のものに対応しています。
-
I/O障害
Oracle ACFSによって見つかったI/O障害に対するオペレーティング・システム固有のエラー・コード(16進法)。これはハードウェアの問題を示す場合もあれば、他のなんらかの理由によるI/O開始の失敗を示す場合もあります。
-
デバイス
関連するデバイス(通常はADVMデバイス・ファイル)。しかし、場合によっては、デバイスのマイナー番号を示す文字列である可能性もあります。
-
操作名
関連する操作の種類。
user
data
、metadata
またはpaging
-
操作タイプ
関連する操作のタイプ。
synch
read
、synch
write
、asynch
read
またはasynch
write
-
ファイル・エントリ番号
関連するファイル・システム・オブジェクトのOracle ACFSファイル・エントリ番号(10進数)。
acfsutil
info
fileid
ツールにより対応するファイル名を見つけます。 -
オフセット
I/Oのディスク・オフセット(10進数)。
-
I/Oの長さ
I/Oの長さ(バイト単位、10進数)。
-
影響を受けるファイル・システム・オブジェクト
関連するファイル・システム・オブジェクトがノードローカルか、クラスタ全体でアクセスされるリソースのいずれであるかの表示。次に例を示します。
Node
orCluster
-
影響を受けるオブジェクトのタイプ
関連するファイル・システム・オブジェクトの種類を示す文字列(可能な場合)。次に例を示します。
Unknown
、User
Dir.
、User
Symlink
、User
File
、Sys.Dir
、Sys.File
またはMetaData
-
Sys.Dir.
表示可能なネームスペース内でOracle ACFSによって管理されるディレクトリ
-
sys.File
表示可能なネームスペース内でOracle ACFSによって管理されるファイル
-
MetaData
表示可能なネームスペース外でOracle ACFSに管理されるリソース
-
-
操作のコンテキスト
I/Oを発行しているコード・コンテキストを示すよりレベルの高いビュー。これはOracleサポート・サービスで使用されます。次に例を示します。
Unknown
、Read
、Write
、Grow
、Shrink
、Commit
またはRecovery
-
スナップショット
判断できる場合は、関連するデータがスナップショットのものであったかどうかの表示。次に例を示します。
Yes
、No
または?
-
ファイル・システムのオブジェクト・タイプ
ファイル・システム・オブジェクトのタイプの内部識別子。Oracleサポート・サービスで使用。
-
コードの場所
このメッセージを発行している場所のコードの内部識別子。Oracleサポート・サービスで使用。
次に、Linux環境での/var/log/messages
の例を示します。
[Oracle ACFS]: I/O failure (0xc0000001) with device /dev/sdb during a metadata synch write . Fenum Unknown. Starting offset: 67113984. Length of data transfer: 2560 bytes. Impact: Node Object: MetaData Oper.Context: Write Snapshot?: ? AcfsObjectID: 8 . Internal ACFS Location: 5 .
Oracleパッチ適用とOracle ACFS
この項では、グリッド・インフラストラクチャ環境でのOracle ACFSを使用したパッチ適用について説明します。
Oracle ACFSパッチ適用の概要
Oracle ACFSは、Oracle Grid Infrastructureの一部としてインストールされます。ただし、Oracle ACFSは、Linux上の/lib/modules
や/sbin
などの様々なシステムの場所から実行されます。
Oracle ACFSは、Oracle Grid Infrastructureの配信およびパッチ・メカニズム(OUIおよびOPatch)と統合されます。配信メカニズム(Oracleリリース、Oracleパッチセット、Oracleリリース更新またはOracle個別パッチ)に関係なく、Oracle ACFSコンテンツはパッチで配信されます。
Oracleゼロ・ダウンタイムのグリッド・インフラストラクチャ・パッチ適用を使用せずにOracle Grid Infrastructureを更新すると、Oracle ACFSもシステムの場所で更新され、Oracle Gridソフトウェアのシームレスな操作が保証されます。更新時(リリース、リリース更新、パッチセットまたは個別パッチに関係なく)、Oracle Clusterwareスタックはローカル・ノードで停止され、サービスは他のノードに移行されます。その後、Oracle Gridソフトウェアにパッチが適用され、サービスがローカル・ノードで再起動されます。
Oracleゼロ・ダウンタイムのOracle Grid Infrastructureパッチ適用を使用しないパッチ適用
パッチ操作中、まずOracle ACFSソフトウェアはOPatchまたはOUIファイル配置操作によってGridホームで更新され、その後Oracle Clusterwareの停止中に適切なシステムの場所に移動されてメモリーにロードされます。Oracle Clusterwareの再起動には、オペレーティング・システム(OS)カーネルでOracle ACFSを更新できるように、OSカーネル参照を解放するという副作用があります。
ゼロ・ダウンタイムのOracle Grid Infrastructureを使用したパッチ適用
ゼロ・ダウンタイムのOracle Grid Infrastructureパッチ適用を使用すると、Oracle Gridホーム内のOracle Grid Infrastructureユーザー領域バイナリのみにパッチが適用されます。Oracle Gridホームから実行されるコマンドは、すぐに最新バージョンを使用します。ACFS、AFD、OLFS、OKA OSシステム・ソフトウェア(OSカーネル・モジュールおよびシステム・ツール)など、Oracle Gridホーム外にインストールされるOracle Grid Infrastructureコンポーネントは、Gridホームで更新されますが、システムの場所にはインストールされません。パッチ・バージョンより前のバージョンが引き続き実行されます。パッチが適用されると、OPatchインベントリにOPatchインベントリの新しいパッチ番号が表示されます。ただし、実行中のソフトウェアにはこれらの変更は含まれず、Gridホームで使用可能なソフトウェアのみが含まれます。新しく使用可能になったソフトウェアがメモリーにロードされ、付属するユーザー・ツールがシステムの場所にコピーされるまで、Oracle Grid Infrastructureホームにある使用可能な修正は利用されません。
実行およびインストールされているOracle ACFSシステム・ソフトウェアを確認するには、次のコマンドを使用できます。
-
crsctl
query
driver
activeversion
-all
このコマンドは、クラスタのすべてのノード上のOracle ACFSのアクティブ・バージョンを表示します。アクティブ・バージョンは、システムに現在ロードされて実行されているOracle ACFSドライバのバージョンです。これは、ACFSシステム・ツールのバージョンも暗黙的に示します。18c以降で使用可能な
crsctl
query
コマンドは、クラスタのすべてのノードのデータを表示します。次の例では、19.4がOracleホームで使用可能ですが、19.2が現在実行中のバージョンです。OPatch
lsinventory
により、19.4がパッチ適用済バージョンとしてレポートされます。Oracle Grid Infrastructure OSドライバは19.2のみを実行しています。crsctl query driver activeversion -all Node Name : node1 Driver Name : ACFS BuildNumber : 200114 BuildVersion : 19.0.0.0.0 (19.2.0.0.0)
-
crsctl
query
driver
softwareversion
-all
このコマンドは、Oracle Gridホームに現在インストールされているOracle Grid Infrastructureソフトウェアの使用可能なソフトウェア・バージョン(および拡張機能別にOracle ACFSソフトウェアの使用可能なソフトウェア・バージョン)を表示します。18c以降で使用可能な
crsctl
query
コマンドは、クラスタのすべてのノードのデータを表示します。crsctl query driver softwareversion -all Node Name : node1 Driver Name : ACFS BuildNumber : 200628 BuildVersion : 19.0.0.0.0 (19.4.0.0.0)
-
acfsdriverstate
version
-v
このコマンドは、ローカル・ノードで実行中のOracle ACFSモジュールに関する全情報を表示します。ACFS-9548およびACFS-9547メッセージには、Oracle Grid Infrastructureホームで使用可能なOracle ACFSソフトウェアのバージョンが表示されます。
acfsdriverstate
は、ローカル・ノードについてのみをレポートします。バグ番号は、個別パッチの実行時にのみ使用可能です。acfsdriverstate version -v ACFS-9325: Driver OS kernel version = 4.1.12-112.16.4.el7uek.x86_64. ACFS-9326: Driver build number = 200114. ACFS-9212: Driver build version = 19.0.0.0.0 (19.2.0.0.0). ACFS-9547: Driver available build number = 200628. ACFS-9548: Driver available build version = 19.0.0.0.0 (19.2.0.0.0) ACFS-9549: Kernel and command versions. Kernel: Build version: 19.0.0.0.0 Build full version: 19.2.0.0.0 Build hash: 9256567290 Bug numbers: NoTransactionInformation Commands: Build version: 19.0.0.0.0 Build full version: 19.2.0.0.0 Build hash: 9256567290 Bug numbers: NoTransactionInformation
Oracle Grid Infrastructureファイルの更新
Oracle Clusterwareスタックが停止し、Oracle ACFSドライバ・モジュールが更新されるまで、Oracle ACFSの修正はメモリーにロードされません。Oracle ACFSの修正をシステム・メモリーにロードするプロセスにより、Oracle ACFS操作に必要なツールもシステムの場所にインストールされます。
次の手順のいずれかを実行できます。
-
Oracle ACFSの修正をメモリーおよびシステムの場所にロードするには、ノードごとに次のコマンドを発行する必要があります。
crsctl
stop
crs
-f
ローカル・ノード上のCRSスタックおよびすべてのアプリケーションを停止します
root.sh
-updateosfiles
システム上のOracle ACFSおよびその他のOracle Grid Infrastructureカーネル・モジュールを最新バージョンに更新します
crsctl
start
crs
-wait
ノードでCRSを再起動します
-
あるいは、カーネル・バージョンを変更してノードを再起動すると、新しいドライバが自動的にロードされ、新しいシステム・ツールがシステム・ディレクトリにインストールされます。クラスタ内のすべてのノードがカーネル・バージョンを同時に変更するものとします。
これらのイベントのいずれかが発生すると、crsctl
query
activeversion
およびcrsctl
query
softwareversion
コマンドによって同じ情報がレポートされます。ロード済で実行中のオペレーティング・システム(OS)ソフトウェアは、Oracle Grid Infrastructureホームで使用可能な最新のものと同じです。Oracle ACFSパッチ適用の検証の説明に従って、他のOracle ACFSバージョンのコマンドを実行できます。
Oracle ACFSパッチ適用の検証
標準のOPatchパッチを使用してOracleリリース更新およびOracleパッチを適用する場合、インベントリにはGrid Infrastructureホームおよびシステムにインストールされている内容が正確に反映されます。次に例を示します。
[grid@racnode1]$ opatch lsinventory ... .. Oracle Grid Infrastructure 19c 19.0.0.0.0 There are 1 products installed in this Oracle Home. Interim patches (5) : Patch 30501910: applied on Sat Mar 07 15:42:08 AEDT 2020 Unique Patch ID: 23299902 Patch description: "Grid Infrastructure Jan 2020 Release Update : 19.4.0.0.200628 (30501910)" Created on 28 Dec 2019, 10:44:46 hrs PST8PDT Bugs fixed:
lsinventory
の出力例では、OPatch RUおよび適用されるその他のパッチと、バグ番号およびその他の情報をリストしています。これらのパッチはGrid Infrastructureホームに適用されます。通常のパッチ適用操作では、オペレーティング・システム(OS)の場所にも適用され、メモリーにロードされるため、Oracle Grid InfrastructureのOSシステム・ソフトウェアの修正がGrid Infrastructureホームと同期されます。ただし、ゼロ・ダウンタイムのグリッド・インフラストラクチャ・パッチ適用を使用する場合、システムにインストールされているOracle Grid Infrastructureシステム・ソフトウェアの内容(Oracle ACFSなど)は同時に更新されません。
crsctl
query
driver
およびacfsdriverstate
コマンドを使用して、インストールされているOracle Grid Infrastructureシステム・ソフトウェア・レベルがGrid Infrastructureホームのソフトウェア・レベルと同じかどうかを検証できます。Oracle ACFSパッチ適用の概要のゼロ・ダウンタイムのOracle Grid Infrastructureパッチ適用に関する説明を参照してください。
ゼロ・ダウンタイムのOracle Grid Infrastructureパッチ適用を使用せずに適用されたパッチ適用および更新操作の場合、アクティブ・バージョンとソフトウェア・バージョンは常に同じである必要があります。
更新されたOracle Grid Infrastructure OSシステム・ソフトウェアのインストールが必要な場合は、Oracle Grid Infrastructureファイルの更新の手順を参照してください。
すべてのOracle Grid Infrastructure OSシステム・ソフトウェアが更新された後のバージョンは、Grid Infrastructureホームへのパッチまたは更新について表示されるOpatch lsinventory
の出力と同じ(この場合は19.4.0.0.0)である必要があります。また、使用可能でアクティブなOracle Grid Infrastructure OSシステム・ソフトウェアには、同じバージョン番号が表示されている必要があります。次に例を示します。
Output from the lsinventory command: Patch description: "Grid Infrastructure Jan 2020 Release Update : 19.4.0.0.0.200628 (30501910)" crsctl query driver activeversion -all Node Name : node1 Driver Name : ACFS BuildNumber : 200628 BuildVersion : 19.0.0.0.0 (19.4.0.0.0) crsctl query driver softwareversion -all Node Name : node1 Driver Name : ACFS BuildNumber : 200628 BuildVersion : 19.0.0.0.0 (19.4.0.0.0)
acfsdriverstate
version
コマンドを実行すると、コマンドやユーティリティに関する情報など、ローカル・ノード上のOracle ACFSの追加情報を取得できます。次に例を示します。
acfsdriverstate version ACFS-9325: Driver OS kernel version = 4.1.12-112.16.4.el7uek.x86_64. ACFS-9326: Driver build number = 200628. ACFS-9212: Driver build version = 19.0.0.0.0 (19.4.0.0.0) ACFS-9547: Driver available build number = 200628. ACFS-9548: Driver available build version = 19.0.0.0.0 (19.4.0.0.0).