Windows環境用のOracle ACFSコマンドライン・ツール

このトピックでは、Windows用のOracle ACFSファイルシステム・コマンドの概要を示します。

表16-16に、Oracle ACFS Windowsファイルシステム・コマンドと簡単な説明を示します。これらのコマンドは、Oracle ACFSをサポートするために拡張されています。その他のWindowファイルシステム・コマンドはすべて、Oracle ACFS用の変更なしで動作します。

表16-16 Windows用のOracle ACFSファイルシステム・コマンドの概要

コマンド 説明

acfschkdsk

WindowsでOracle ACFSファイルシステムをチェックおよび修復します。

acfsdismount

WindowsでOracle ACFSをディスマウントします。

acfsformat

WindowsでOracle ACFSファイルシステムを作成します。

acfsmountvol

WindowsでOracle ACFSファイルシステムをマウントします。

acfsutil detach

WindowsでモジュールのアンロードのためにOracle ACFSドライバの準備をします。

表16-17に、Oracle ACFS以外のWindowsファイルシステム・コマンドと簡単な説明を示します。

表16-17 Windows用のOracle ACFS以外のファイルシステム・コマンドの概要

コマンド 説明

advmutil dismount

WindowsでOracle ACFS以外のファイルシステムのOracle ADVMボリューム・デバイスをディスマウントします。

advmutil list

WindowsでOracle ACFS以外のファイルシステムのOracle ADVMボリューム・デバイスをリストします。

advmutil mount

WindowsでOracle ACFS以外のファイルシステムのOracle ADVMボリューム・デバイスをマウントします。

acfschkdsk

目的

Oracle ACFSファイルシステムをチェックおよび修復します。

構文および説明

acfschkdsk /h
acfschkdsk [/a|/f] [/v] [/n|/y] volume_device

表16-18に、acfschkdskコマンドで使用可能なオプションを示します。

表16-18 acfschkdskコマンドのオプション

オプション 説明

/a

ファイルシステムを自動的に修正することを指定します。

/f

ファイルシステムのチェックまたは修正を完了せずに、ファイルシステムを強制的にマウント可能な状態にします。

/v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。verboseモードで実行すると、パフォーマンスに影響を及ぼす場合があります。

/h

使用方法のヘルプ・テキストを表示して終了します。

/n

すべてのプロンプトに対してnoと答えます。

/y

すべてのプロンプトに対してyesと答えます。

volume_device

Oracle ADVMボリューム・デバイスを指定します。

acfschkdskは、既存のOracle ACFSをチェックおよび修復します。このコマンドは、クラスタ全体でディスマウントされているファイルシステムでのみ実行できます。

acfschkdskを機能させるには、Oracle ACFSドライバをロードする必要があります。ドライバがロードされていない場合、管理者はこれが意図的であることを確認するように要求されます。ドライバのロードの詳細は、Oracle ACFSドライバ・リソース管理を参照してください。

Oracle ACFSドライバでは通常、acfschkdskがクラスタ全体で唯一のファイルシステムのユーザーです。極端な場合、ファイルシステムの自動マウントによりシステム障害が発生すると、ドライバをロードせずにファイルシステムを修正することが必要になる可能性があります。排他的アクセスのために通常ドライバによって行われる検証は、この場合は省略されます。

デフォルトでは、acfschkdskはエラーがないかチェックし、エラーを報告するのみです。/aフラグは、acfschkdskにファイルシステムでのエラーの修正を指示するために指定する必要があります。修復操作中にacfschkdskを中断しないでください。

acfschkdskでは、ファイルシステムのチェックに進む前に、質問に対する答えを要求されることがあります。たとえば、acfschkdskによって別のacfschkdskがファイルシステムで進行中であることが検出された場合、またはacfschkdskによってOracle ACFSドライバがロードされていないことが検出された場合、またはファイルシステムがOracle ACFSではないと思われる場合です。チェック・モードでは、acfschkdskは不完全な停止によって完全に処理されていないトランザクション・ログがある場合にも回答を要求します。非対話モードで実行するには、質問に対してyesまたはnoと回答するために/yまたは/nオプションを含めます。

acfschkdskでは、ファイルシステムをチェックする前に、作業ファイルを作成します。これらの作業ファイルは、領域が使用可能な場合、tempディレクトリに作成されます。使用可能な領域が不十分な場合、acfschkdskでは、現在の作業ディレクトリに書込みを試みます。acfschkdskで作成するファイルは、およそチェック対象のファイルシステムを32Kで割ったサイズです。ファイルは多くても3つ割り当てられます。これらのファイルは、acfschkdskの終了時に削除されます。

acfschkdskでファイルシステムで(親ディレクトリ内の破損などにより)名前または目的の場所を特定できないファイルまたはディレクトリが検出された場合、acfschkdskを修正モードで実行していると、そのオブジェクトは\lost+foundディレクトリに配置されます。セキュリティ上の理由で、WindowsではAdministratorのみが\lost+found内のファイルを読み取ることができます。内容に基づいてファイルの元の名前および場所を管理者が後で特定できた場合は、そのファイルを目的の場所に移動またはコピーできます。

\lost+foundディレクトリ内のファイル名の書式は、次のとおりです。

parent.id.file.id.time-in-sec-since-1970
parent.id.dir.id.time-in-sec-since-1970

idフィールドは、ファイルシステムでのファイルおよびディレクトリそれぞれのOracle ACFSの内部数値識別子です。

acfsutil info id id mount_pointを使用すると、parent.idに関連付けられたディレクトリの特定を試みることができます。このディレクトリは、削除されたオブジェクトの元の場所とみなされます。acfsutil infoの詳細は、「acfsutil info file」を参照してください。

親ディレクトリが不明な場合は、親のidフィールドをUNKNOWNと設定します。

注意:

\lost+foundディレクトリの内容は、スナップショットから表示することはできません。

次の例は、WindowsでのOracle ACFSファイルシステムのチェック方法を示しています。

例16-15 acfschkdskコマンドの使用方法

C:\> acfschkdsk asm-volume1-311

acfsdismount

目的

Oracle ACFSファイルシステムをディスマウントし、マウント・ポイント(ネームスペースの添付)を削除します。

構文および説明

acfsdismount /h
acfsdismount [/v] {drive_letter | mount_point} 
acfsdismount [/v] /all

表16-19に、acfsdismountコマンドで使用可能なオプションを示します。

表16-19 acfsdismountコマンドのオプション

オプション 説明

/v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

/h

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

/all

このノードのすべてのOracle ACFSファイルシステムをディスマウントすることを指定します。

drive_letter

後ろにコロンを付けてドライブ文字を指定します。

mount_point

マウント・ポイントのフルパス(ドライブ文字を含む)を指定します。

acfsdismountは、現在のノードで指定されたファイルシステムのマウント・ポイント(ネーム・スペースの添付)を削除し、ファイルシステムがマウントされている場合はディスマウントします。ファイルシステムがディスマウント済の状態の場合、データはデバイスで保存され、ファイルシステムはacfsmountvolコマンドで再マウントできます。

ウイルス・スキャナ、Process Explorer、Oracle Enterprise Managerなどの様々なプログラムからのオープン・ファイル参照があるため、acfsdismountは、状況によっては失敗することがあります。

acfsdismountコマンドを使用するには、WindowsのAdministrator権限が必要です。

次の例は、Oracle ACFSファイルシステムのディスマウント方法を示しています。1つ目の例では、ドライブ文字のみを使用してファイルシステムをディスマウントします。2つ目の例では、フルパス名を使用してファイルシステムをディスマウントします。3つ目の例では、マウントされているすべてのファイルシステムをディスマウントします。どの例もverboseモードを有効にします。

例16-16 acfsdismountコマンドの使用方法

C:\> acfsdismount /v O:

C:\> acfsdismount /v O:\mnt\

C:\oracle>acfsdismount /v /all
acfsdismount: valid path name: C:\oracle\acfsmounts\acfs1\
acfsdismount: opening handle to volume C:\oracle\acfsmounts\acfs1
acfsdismount: locking volume C:\oracle\acfsmounts\acfs1
acfsdismount: dismounting volume C:\oracle\acfsmounts\acfs1
acfsdismount: removing volume mount point on C:\oracle\acfsmounts\acfs1\
acfsdismount: closing handle to volume C:\oracle\acfsmounts\acfs1 and exiting cleanly

acfsformat

目的

Oracle ACFSファイルシステムを作成します。

構文および説明

acfsformat /h
acfsformat [/v] [/i {512 | 4096}] [/f] [/n name] volume_device 
           [/c release_version][blocks]

表16-20に、acfsformatコマンドで使用可能なオプションを示します。

表16-20 acfsformatコマンドのオプション

オプション 説明

/v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

/i {512 | 4096}

512バイトまたは4096バイトのメタデータ・ブロック・サイズでファイルシステムを指定します。

/n name

ファイルシステムの名前を指定します。これは、ボリューム・ラベルともいいます。acfsutil info fsは、指定されていれば名前を戻します。また、V$ASM_ACFSVOLUMESビューのVOL_LABEL列から表示することもできます。

/f

forceオプションを指定します。このアクションで、デバイスに既存のOracle ACFSがあっても、ファイルシステムが作成されます。ただし、フィアル・システムがディスマウントされている場合にかぎります。このオプションは、元のファイルシステム上の構造を上書きします。慎重に使用してください。

/h

使用方法のヘルプ・テキストを表示します。

volume_device

フォーマットするOracle ADVMデバイス・ファイルを指定します。

/c release_version

release_versionの値に設定されたOracle ACFSリリースの互換性でOracle ACFSファイルシステムを作成します。

blocks

指定したデバイスでファイルシステムが消費するブロック数を指定します。量は、K(KB)、M(MB)、G(GB)またはT(TB)の単位で指定できます。単位が指定されていない場合、デフォルトはバイトです。このオプションを指定しない場合、デバイス全体が消費されます。

acfsformatは、Oracle ACFSのマウントに必要なディスク上の構造を作成します。acfsformatは、ターゲット・ボリュームでクイック・フォーマットを実行します。acfsformatの実行に成功すると、V$ASM_VOLUMEビューのUSAGE列にはACFSが表示されます。

/c release_versionオプションで指定する値は、ディスク・グループのCOMPATIBLE.ADVM値以上にする必要があり、実行中のOracle Grid Infrastructureリリースのバージョン以下にする必要があります。/c release_versionを指定しないと、COMPATIBLE.ADVM値が使用されます。互換性は、設定するとダウングレードできません。/c release_versionオプションは、ディスク・グループのCOMPATIBLE.ADVMおよびCOMPATIBLE.ASMの更新ができない、または望ましくない状況で、互換性の向上が必要なOracle ACFS機能を使用する場合に使用できます。Oracle ACFSの互換性を更新すると、以前のOracle Grid Infrastructureリリースを使用してファイルシステムをマウントできなくなります。既存のファイルシステムの互換性を変更するには、「acfsutil compat set」を参照してください。Oracle ASMディスク・グループの互換性属性の詳細は、ディスク・グループの互換性を参照してください。

最小ファイルシステム・サイズは、512バイトのメタデータ・ブロック・サイズ・フォーマットの場合は200 MB、4 KBのメタデータ・ブロック・サイズ・フォーマットの場合は512 MBです。

acfsformatを機能させるには、Oracle ACFSドライバをロードする必要があります。

このコマンドを使用するには、WindowsのAdministrator権限が必要です。

4 KBのセクター/メタデータ

次に、COMPATIBLE.ADVMディスク・グループ属性値に基づいた/iオプションおよびメタデータ・ブロック・サイズの使用についてまとめます。

  • COMPATIBLE.ADVM12.2以上に設定されている場合、メタデータ・ブロック・サイズはデフォルトで4096バイトです。

  • COMPATIBLE.ADVM12.2未満に設定されている場合、ブロック・サイズは512バイトに設定されます。

  • COMPATIBLE.ADVM12.2未満に設定されているのに、論理セクター・サイズが512バイトでない場合、コマンドは失敗します。

ユーザー・データIOでは、標準ユーザーIOリクエストに対して512バイトの小規模な転送が引き続きサポートされます。ファイルシステムのOracle ADVMボリュームの論理ディスク・セクター・サイズが4 Kの場合、最良のパフォーマンスを得るには、ユーザー直接IOリクエストを4 Kファイル・オフセットに揃えて、4 KBの倍数の長さにする必要があります。4 Kメタデータ・ブロック・サイズ・フォーマットでのみ、論理ディスク・セクターが4 KのADVMボリュームがサポートされます。

論理ディスク・サイズが4096のOracle ADVMボリュームをフォーマットしたり、/i 4096オプションを使用して論理ディスク・セクター・サイズが512バイトのOracle ADVMボリュームをフォーマットするには、COMPATIBLE.ADVM値を12.2以上に設定する必要があります。

この例は、Oracle ACFSファイルシステムの作成方法を示しています。この例ではverboseオプションが指定されています。

例16-17 acfsformatコマンドの使用方法

C:\> acfsformat /v asm-volume1-311

acfsmountvol

目的

Oracle ACFSファイルシステムをマウントします。

構文および説明

acfsmountvol /h
acfsmountvol
acfsmountvol [/v]  /all 
acfsmountvol [/v] { drive_letter |dir } volume_device

表16-21に、acfsmountvolコマンドで使用可能なオプションを示します。

表16-21 acfsmountvolコマンドのオプション

オプション 説明

/v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

/h

使用方法のヘルプ・テキストを表示して終了します。

/all

acfsutil registryを使用して作成されたACFSマウント・レジストリを読み取り、リストされているファイルシステムをこのノードにマウントします。

drive_letter

Oracle ADVMボリューム・デバイスにリンクするWindowsドライブ文字。

dir

マウント・ポイントの完全ディレクトリ(ドライブ文字を含む)を指定します。

volume_device

acfsformatでフォーマットされたOracle ADVMボリューム・デバイス・ファイルを指定します。

acfsmountvolは、指定したパス名またはドライブ名にあるファイルシステム階層にOracle ACFSをアタッチします。dirは、空のディレクトリである必要があります。Oracle ACFSマウント・ポイントは、任意の空のディレクトリに作成でき、階層化(ネスト化)できます。

acfsmountvolが正常に実行されると、V$ASM_VOLUMEビューのMOUNTPATH列に、ファイルシステムがマウントされた完全パスまたはドライブ名が表示されます。引数を指定しない場合、このノードにマウント済のOracle ACFSファイルシステムがすべてリストされます。

マウント失敗の原因をacfsmountvolコマンドに戻すことは、いつでもできるわけではありません。これが起こると、Oracle ACFSは失敗の原因をWindowsシステム・イベント・ログ出力に書き込みます。

Oracle ACFSファイルシステムは1つのマウント・ポイントにのみマウントされます。同じマウント・ポイント名をすべてのクラスタ・メンバーで使用する必要があります。

Oracle ACFSをマウントするには、WindowsのAdministrator権限が必要です。

1つ目の例は、F:ドライブとして識別されるマウント・ポイントにasm-volume1-311をマウントする方法を示しています。2つ目の例は、c:\oracle\acfsmounts\acfs1\で指定したマウント・ポイントにasm-volume1-215をマウントする方法を示しています。最初の2つの例はverboseモードを有効にします。3つ目の例では、ノードでマウントされているすべてのファイルシステムをディスマウントします。

例16-18 acfsmountvolコマンドの使用方法

C:\> acfsmountvol  /v  F:  asm-volume1-215

C:\> acfsmountvol /v  c:\oracle\acfsmounts\acfs1  asm-volume1-311

C:\oracle>acfsmountvol
   asm-volume1-311
       C:\oracle\acfsmounts\acfs1 

acfsutil detach

目的

モジュールのアンロードのためにOracle ACFSドライバの準備をします。

構文および説明

acfsutil detach

acfsutil detachは、ドライバをアンロードできるようにOracle ACFSを準備します。Oracle ACFSは、ドライバのロード時に基本のファイルシステムとして登録されます。Windowsサービス制御マネージャからドライバに停止コマンドを送信するには、ドライバに関連付けられたすべてのデバイス・オブジェクトの削除に加えて、Oracle ACFSの基本ファイルシステムとしての登録を解除する必要があります。

acfsutil detachが正常に完了し、すべてのボリュームがディスマウントされると、管理者はWindowsサービス制御マネージャの停止コマンドをOracle ACFSドライバに実行できます。acfsutil detachコマンドが使用されない場合、stopコマンドでOracle ACFSドライバのアンロード・ルーティンはコールされません。このコマンドは、WindowsのAdministratorのみが実行できます。これはOracle ACFS停止スクリプトによって自動的にコールされます。

次の例は、Oracle ACFSファイルシステムをすべてデタッチしてWindows上のドライバをアンロードする方法を示しています。1つ目の例では、すべてのOracle ACFSファイルシステム・ボリューム・デバイスをディスマウントします。2つ目の例では、ボリューム・デバイスをデタッチします。

例16-19 acfsutil detachコマンドの使用方法

C:\> acfsdismount /all

C:\> acfsutil detach

advmutil dismount

目的

advmutil dismountコマンドは、Oracle ACFSではないファイルシステムのOracle ADVMボリューム・デバイスをディスマウントします。

構文および説明

advmutil dismount [/unregister] {drive_letter | dir}
advmutil dismount [/unregister] [/all | /dg=disk_group]

表16-22に、Windowsのadvmutil dismountコマンドで使用可能なオプションを示します。

表16-22 advmutil dismountコマンドのオプション

オプション 説明

drive_letter

ディスマウントするドライブ文字を指定します。

dir

マウント・ポイントのディレクトリ(ドライブ文字を含む)を指定します。

/all

このノード上のすべてのファイルシステムをディスマウントすることを指定します。

/unregister

必要に応じて、システム・レジストリからOracle ADVMボリューム・デバイスとそのドライブ文字を登録解除します。Oracle ASMインスタンスおよびOracle ACFSの起動時に、登録解除されたドライブ文字およびOracle ADVMボリューム・シンボリック・リンクは作成されません。

/dg=disk_group

ドライブ文字を作成し、場合によってはファイルシステムをマウントまたはディスマウントするための、登録済Oracle ADVMボリューム・デバイスを含むディスク・グループの任意の名前。

注意:

NTFSでOracle ADVMボリューム・デバイスをフォーマットするには、ドライブ文字にマウントする必要があります。フォーマット後、NTFSではOracle ADVMボリューム・デバイスをドライブ文字またはディレクトリのいずれにもマウントできます。

このコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、このコマンドに必要なディスク・グループがそのOracle ASMインスタンスに作成され、マウントされており、ボリュームが有効であることが必要です。

advmutil dismountコマンドは、ファイルシステムが完全にアンマウントされるまで、オペレーティング・システム・プロンプトに制御を戻しません。

次の例は、Oracle ACFSではないファイルシステムをディスマウントする方法を示しています。

  1. 1つ目の例は、Oracle ADVMボリューム・デバイスのドライブ文字を削除してファイルシステムにアクセスできないようにする方法を示しています。

  2. 2つ目の例は、Oracle ADVMボリューム・デバイスのドライブ文字を削除してファイルシステムにアクセスできないようにし、レジストリから削除する方法を示しています。

  3. 3つ目の例は、すべての登録済Oracle ADVMボリューム・デバイスのドライブ文字を削除して、すべてのファイルシステムにアクセスできないようにする方法を示しています。

  4. 4つ目の例は、特定のOracle ASMディスク・グループにあるすべての登録済Oracle ADVMボリューム・デバイスのドライブ文字を削除して、すべての関連ファイルシステムにアクセスできないようにする方法を示しています。

例16-20 advmutil dismountコマンドの使用方法

C:\> advmutil dismount H:

C:\> advmutil dismount H: /unregister

C:\> advmutil dismount /all

C:\> advmutil dismount /dg=data

advmutil list

目的

advmutil listコマンドは、advmutil mount /registerを使用して登録されたOracle ADVMボリューム・デバイスをリストします。

構文および説明

advmutil list /registry

表16-23に、Windowsのadvmutil listコマンドで使用可能なオプションを示します。

表16-23 advmutil listコマンドのオプション

オプション 説明

list /registry

Windowsレジストリに含まれる、ドライブ文字および対応するOracle ADVMボリューム・デバイス名をリストします。

このコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、このコマンドに必要なディスク・グループがそのOracle ASMインスタンスに作成され、マウントされており、ボリュームが有効であることが必要です。

Oracle ACFSのOracle ADVMボリューム・デバイスの表示の詳細は、acfsutil info fileを参照します。

次の例は、システム・レジストリ内のすべてのエントリをリストする方法を示しています。

例16-21 advmutil listコマンドの使用方法

C:\> advmutil list /registry

  Drive Letter     Asm Volume
  ===================================
  H:               asm-volume1-123
  K:               asm-volume2-245

advmutil mount

目的

advmutil mountコマンドは、Oracle ACFSではないファイルシステムのOracle ADVMボリューム・デバイスをマウントします。

構文および説明

advmutil mount [/register] {drive_letter | dir} volume_device
advmutil mount /all

表16-24に、Windowsのadvmutil mountコマンドで使用可能なオプションを示します。

表16-24 advmutil mountコマンドのオプション

オプション 説明

drive_letter

マウントするドライブ文字を指定します。

dir

マウント・ポイントのディレクトリ(ドライブ文字を含む)を指定します。

volume_device

Oracle ADVMボリューム・デバイスを指定します。

/all

このノードのすべてのOracle ACFSではないファイルシステムをマウントすることを指定します。

/register

必要に応じて、Windowsシステム・レジストリにOracle ADVMボリューム・デバイスとそのドライブ文字を登録します。Oracle ASMインスタンスおよびOracle ACFSの起動後に、登録されたすべてのドライブ文字およびOracle ADVMボリューム・シンボリック・リンクが作成されます。これにより、Oracle ACFSファイルシステムの場合と同様に、Windowsではファイルシステムの自動マウントが可能になります。

注意:

NTFSでOracle ADVMボリューム・デバイスをフォーマットするには、ドライブ文字にマウントする必要があります。フォーマット後、NTFSではOracle ADVMボリューム・デバイスをドライブ文字またはディレクトリのいずれにもマウントできます。

このコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、このコマンドに必要なディスク・グループがそのOracle ASMインスタンスに作成され、マウントされており、ボリュームが有効であることが必要です。

Oracle ACFSのOracle ADVMボリューム・デバイスの登録の詳細は、acfsutil registryを参照します。

次の例は、Oracle ACFSではないファイルシステムをマウントする方法を示しています。

  1. 1つ目の例は、非Oracle ACFSのアクセスとして使用されるOracle ADVMボリューム・デバイスのドライブ文字を作成し、ボリュームをNTFSで使用できるようにフォーマットするのに使用できるようにする方法を示しています。

  2. 2つ目の例は、非Oracle ACFSのアクセスとして使用されるOracle ADVMボリューム・デバイスのドライブ文字を作成し、ボリュームをNTFSで使用できるようにフォーマットしてWindowsシステム・レジストリに保存するのに使用できるようにする方法を示しています。

  3. 3つ目の例は、システム・レジストリに保存されているすべてのOracle ADVMボリューム・デバイスのドライブ文字を作成し、ファイルシステムへのアクセスも可能にする方法を示しています。

例16-22 advmutil mountコマンドの使用方法

C:\> advmutil mount H: asm-volume1-123

C:\> advmutil mount H: asm-volume1-123 /register

C:\> advmutil mount /all