ASMCMDファイル管理コマンド

このトピックでは、ASMCMDファイル管理コマンドの概要を示します。

表10-42に、ASMCMDファイル管理コマンドと簡単な説明を示します。

表10-42 ASMCMDファイル管理コマンドの概要

コマンド 説明

amdu_extract

ディスク・グループからファイルを抽出します。

cd

現行ディレクトリを指定したディレクトリに変更します。

cp

ディスク・グループ間およびディスク・グループとオペレーティング・システム間でファイルをコピーできます。

du

指定したOracle ASMディレクトリおよびすべてのサブディレクトリで、ファイルが占有するディスク領域の合計を再帰的に表示します。

find

指定したディレクトリ下で、指定した名前(ワイルドカードを使用)と一致するすべてのもののパスをリストします。

ls

Oracle ASMディレクトリの内容、指定したファイルの属性またはすべてのディスク・グループの名前および属性をリストします。

lsof

オープン・ファイルをリストします。

mkalias

システム生成のファイル名のエイリアスを作成します。

mkdir

Oracle ASMディレクトリを作成します。

pwd

Oracle ASMの現行ディレクトリのパスを表示します。

rm

指定したOracle ASMファイルまたはディレクトリを削除します。

rmalias

エイリアスが指すファイルは保持したまま、指定したエイリアスを削除します。

amdu_extract

目的

ディスク・グループからファイルを抽出します。

構文および説明

amdu_extract diskgroup [--sys_filename] file_name disk_string

表10-43 amdu_extractコマンドのオプション

オプション 説明

diskgroup

ファイルが配置されているディスク・グループの名前。

--sys_filename

このオプションを指定する場合、file_nameが、ファイルのエイリアスではなく、システムのOracle ASMファイル名を指す必要があります。

file_name

抽出するファイルの名前。

ファイル名は、次のいずれかである必要があります。

  • Oracle ASMエイリアス名

  • --sys_filenameオプションが指定されている場合のシステムOracle ASMファイル名

ファイル名は、絶対パスまたは相対パスとして指定できます。

disk_string

Oracle ASM検出ディスク文字列の値。

amdu_extractは、Oracle ASMメタデータ・ダンプ・ユーティリティ(AMDU)コマンドを呼び出し、Oracle ASMエイリアス名を使用してファイルを抽出します。

次に、データ・ディスク・グループからのファイルの抽出に使用するamdu_extractコマンドの例を示します。

例10-46 ASMCMD amdu_extractコマンドの使用方法

ASMCMD> amdu_extract data data/orcl/my_alias_filename /devices/disk*

cd

目的

現行ディレクトリを指定したディレクトリに変更します。

構文および説明

cd [dir]

表10-44に、cdコマンドのオプションを示します。

表10-44 cdコマンドのオプション

オプション 説明

dir

ディレクトリの名前。

dirは、絶対パスまたは相対パス(疑似ディレクトリ.および..を含む)のいずれでも指定できます。dirにはワイルドカード文字を使用できます。詳細は、ワイルドカード文字を参照してください。

次に、様々なディレクトリに変更する、cdコマンドの例を示します。

例10-47 ASMCMD cdコマンドの使用方法

ASMCMD [+data/hr] > cd +data/orcl

ASMCMD [+data/orcl] > cd DATAFILE

ASMCMD [+data/orcl/DATAFILE] >cd ..

cp

目的

Oracle ASMディスク・グループ間およびディスク・グループとオペレーティング・システム間でファイルをコピーできます。

構文および説明

cp src_file [--target target_type] [--service service_name] [--port port_num] [connect_str:]tgt_file

次の表に、cpコマンドの構文オプションを示します。

表10-45 cpコマンドのオプション

オプション 説明

--target target_type

コピー操作のためにASMCMDが接続しなければならないインスタンスのターゲット・タイプを指定します。有効なオプションはASMIOSまたはAPXです。

--service service_name

デフォルト+ASMではない場合、Oracle ASMインスタンス名を指定します。

--port port_num

リスナー・ポート番号を指定します。デフォルトは、1521です。

connect_str

リモート・インスタンスのための接続文字列を指定します。

src_file

コピーするソース・ファイルの名前。

tgt_file

作成されたターゲット・ファイル名のユーザー・エイリアス、またはエイリアスのディレクトリ名。

cpでは、2つのリモート・インスタンス間でファイルをコピーできません。ローカルOracle ASMインスタンスが、操作のソースまたはターゲットのいずれかである必要があります。

cpコマンドを使用できるのは、次の場合です。

  • ディスク・グループからオペレーティング・システムへのファイルのコピー

  • ディスク・グループ間のファイルのコピー

  • オペレーティング・システムからディスク・グループへのファイルのコピー

一部のファイル・タイプは、cpコマンドのソースまたは宛先にできません。これらのファイル・タイプには、OCRおよびSPFILEファイル・タイプがあります。Oracle ASM SPFILEをバックアップ、コピーまたは移動するには、spbackupspcopyまたはspmoveの各コマンドを使用します。OCRバックアップ・ファイル・タイプをコピーするには、ディスク・グループからのソースである必要があります。

コピーしたファイルがOracle ASMディスク・グループ内に存在する場合、これらのファイルの形式はリトル・エンディアン・システムとビッグ・エンディアン・システム間で移植できます。この形式はファイルの書込み時にOracle ASMによって自動的に変換されます。Oracle ASM以外のファイルをOracle ASMディスク・グループにコピーしたりOracle ASMディスク・グループからコピーする場合、ファイルを別のエンディアン・プラットフォームにコピーしてから、一般的に使用されているユーティリティの1つを使用してこのファイルを変換できます。

ローカル・インスタンスのコピー(デフォルトの場合)には、connect_strは必要ありません。リモート・インスタンスのコピーの場合、接続文字列を指定する必要があり、Oracle ASMによりエコーしないプロンプトでパスワードを入力するように求められます。connect_strの書式は次のとおりです。

user@host.SID

connect_strパラメータではuserhostおよびSIDは必須です。デフォルト・ポート番号は1521であり、--portオプションを使用して変更できます。

接続権限(SYSASMまたはSYSDBA)は、ASMCMDの起動時に--privilegeオプションの使用によって決まります。

src_fileには、完全修飾ファイル名またはOracle ASMエイリアスのいずれかを指定する必要があります。

ASMCMDコピー・プロセス中に、Oracle ASMサーバーは、次の形式でOracle Managed File (OMF)ファイルを作成します。

diskgroup/db_unique_name/file_type/file_name.##

db_uniq_nameASMに設定し、#は一連の数字です。コピー・プロセスで、ASMCMD cpは、宛先のディレクトリ構造を作成し、その場所から、作成される実際のOMFファイルにユーザー・エイリアスを作成します。

次に、cpコマンドの例を示します。1つ目の例では、dataディスク・グループのファイルをオペレーティング・システム上にコピーします。2つ目の例では、オペレーティング・システム上のファイルをdataディスク・グループにコピーします。3つ目の例では、dataディスク・グループのファイルをリモート・サーバーにコピーする方法を示します。ユーザーはパスワードの入力を求められます。

例10-48 ASMCMD cpコマンドの使用方法

ASMCMD [+] > cp +data/orcl/datafile/EXAMPLE.265.691577295 /mybackups/example.bak
copying +data/orcl/datafile/EXAMPLE.265.691577295 -> /mybackups/example.bak

ASMCMD [+] >  cp /mybackups/examples.bak  +data/orcl/datafile/myexamples.bak
copying /mybackups/examples.bak -> +data/orcl/datafile/myexamples.bak

ASMCMD [+] > cp +data/orcl/datafile/EXAMPLE.265.691577295 sys@myserver.+ASM:/scratch/backup/myexamples.bak
Enter Password:

関連項目:

du

目的

指定したディレクトリおよびその下のディレクトリ・ツリー全体のファイルが使用する領域の合計を表示します。

構文および説明

du [--suppressheader] [dir]

表10-46に、duコマンドの構文オプションを示します。

表10-46 duコマンドのオプション

オプション 説明

dir

ディレクトリの名前。

--suppressheader

出力で列のヘッダーを非表示にします。

dirを指定しない場合、現行ディレクトリに関する情報が表示されます。dirにはワイルドカード文字を使用できます。詳細は、ワイルドカード文字を参照してください。

次の2つの値が、いずれもMB単位で表示されます。

  • Used_MB: この値には、ミラーリングは含まれません。

  • Mirror_used_MB: この値には、ミラーリングが含まれます。

たとえば、標準冗長性のディスク・グループに100MBのデータが含まれ、ディスク・グループの各ファイルが双方向にミラー化されている場合、Used_MBは100MBで、Mirror_used_MBは約200MBです。

次に、duコマンドの例を示します。この例では、dataディスク・グループのorclディレクトリおよびorclディレクトリの下にあるすべてのディレクトリで使用されているディスク領域を表示します。

例10-49 ASMCMD duコマンドの使用方法

ASMCMD [+] > du data/orcl
Used_MB      Mirror_used_MB
   1756                3519

find

目的

指定したディレクトリおよびそのサブディレクトリ内で、指定した名前パターン(ワイルドカードを使用)と一致するすべてのものの絶対パスを表示します。

構文および説明

find [--type type] dir pattern

表10-47に、findコマンドの構文オプションを示します。

表10-47 findコマンドのオプション

オプション 説明

--type type

検索するターゲットのタイプ。

dir

検索を開始するディレクトリ名。

pattern

ターゲットまたはワイルドカード・パターンの名前。

このコマンドは、ディレクトリ・ツリー内の指定したディレクトリおよびその下のすべてのサブディレクトリで、指定したpatternを検索します。patternの値には、ディレクトリ名またはファイル名を指定し、ワイルドカード文字を使用できます。詳細は、ワイルドカード文字を参照してください。

ASMCMD findコマンドでは、大文字と小文字は区別されません。

コマンドの出力では、ディレクトリ名の末尾にスラッシュ(/)が付き、ファイル名とは区別されます。

特定のタイプ(typeとして指定)のすべてのファイルを検索するには、--typeフラグを使用します。たとえば、typeCONTROLFILEを指定して、制御ファイルを検索できます。typeの有効な値を表5-1に示します。これらは、V$ASM_FILEビューのtype列のタイプ値です。

次に、findコマンドの例を示します。1つ目の例では、dataディスク・グループのundoで始まるファイルを検索します。2つ目の例では、+data/orclディレクトリのすべての制御ファイル(--type CONTROLFILE)の絶対パスを戻します。

例10-50 ASMCMD findコマンドの使用方法

ASMCMD [+] > find +data undo*
+data/ORCL/DATAFILE/UNDOTBS1.258.691577151

ASMCMD [+] >  find --type CONTROLFILE +data/orcl *
+data/orcl/CONTROLFILE/Current.260.691577263

ls

目的

Oracle ASMディレクトリの内容、指定したファイルの属性またはすべてのディスク・グループの名前および属性をリストします。

構文および説明

ls [--suppressheader] [-lsdtLg][--absolutepath][--reverse]
    [--permission][pattern]

表10-48に、lsコマンドの構文オプションを示します。

表10-48 lsコマンドのオプション

オプション 説明

(なし)

ファイル名とディレクトリ名のみを表示します。

-l

ストライピング情報、冗長性情報、ファイルがシステム生成か(SYS列の下にYと表示)ユーザー作成か(エイリアスのように、SYS列の下にNと表示)など、ファイルの詳細な情報を表示します。「ls -l +」コマンドで使用した場合は、ディレクトリ情報が表示されます。

一部のファイル属性またはディスク・グループ属性は表示されません。ファイルまたはディスク・グループのすべての列の値を表示するには、V$ASM_FILEおよびV$ASM_DISKGROUPビューに問い合せます。

-s

ファイル領域情報を表示します。

-d

pattern引数の値がディレクトリの場合、ディレクトリの内容ではなく、lsディレクトリの情報が表示されます。通常は、-lフラグなどの別のフラグとともに使用します。

--reverse

リストのソート順を逆にします。

-t

名前ではなくタイムスタンプで新しいものを先頭にリストをソートします。

-L

pattern引数の値がエイリアスの場合は、ASMCMDにより参照するファイルの情報が表示されます。通常は、-lフラグなどの別のフラグとともに使用します。

--absolutepath

リストされたファイルごとに、そのファイルを参照するエイリアスの絶対パス(ある場合)が表示されます。

-g

出力には、GV$ASM_DISKGROUP.INST_IDが含まれます。

--suppressheader

列ヘッダーを非表示にします。

--permission

ファイルの権限を表示します(V$ASM_FILE.permissionV$ASM_FILE.ownerV$ASM_FILE.usergroupV$ASM_ALIAS.name)。

pattern

ファイル、ディレクトリまたはパターンの名前。

コマンドのオプションを使用して、コマンドの出力を変更およびカスタマイズできます。表10-48に、オプションとその説明を示します。ディスク・グループ情報の場合、このコマンドはデフォルトでV$ASM_DISKGROUP_STATビューに問い合せます。すべてのオプションを指定すると、属性が結合されて表示され、重複するものは削除されます。ls +と入力すると、最上位レベルのディレクトリ構造が表示されます。

patternには、ワイルドカード文字を含むファイル名、ディレクトリ名、またはパターンを指定できます。詳細は、ワイルドカード文字を参照してください。

  • patternがディレクトリ名の場合、lsはフラグ設定に応じてディレクトリの内容を表示し、lsは各ディレクトリ・メンバーの情報も表示します。ディレクトリ名の末尾にはスラッシュ(/)が付き、ファイル名とは区別して示されます。

  • patternに入力する値がファイル名である場合、lsはフラグ設定に応じてファイルを表示し、lsはファイルの情報も表示します。ファイル名が相対パスで指定されている場合、ファイルは現行ディレクトリ内に格納されている必要があります。

次に、lsコマンド例を示します。この例では、ディレクトリに関する様々な情報とディレクトリの内容を表示します。

例10-51 ASMCMD lsコマンドの使用方法

ASMCMD [+] > ls +data/orcl/datafile
EXAMPLE.265.691577295
SYSAUX.257.691577149
SYSTEM.256.691577149
UNDOTBS1.258.691577151
USERS.259.691577151

ASMCMD [+] > ls -lt +data/orcl/datafile
Type      Redund  Striped  Time             Sys  Name
DATAFILE  MIRROR  COARSE   JUL 13 08:00:00  Y    EXAMPLE.265.691577295
DATAFILE  MIRROR  COARSE   JUL 13 05:00:00  Y    SYSAUX.257.691577149
DATAFILE  MIRROR  COARSE   JUL 13 02:00:00  Y    USERS.259.691577151
DATAFILE  MIRROR  COARSE   JUL 13 02:00:00  Y    UNDOTBS1.258.691577151
DATAFILE  MIRROR  COARSE   JUL 13 02:00:00  Y    SYSTEM.256.691577149

ASMCMD [+] > ls -l +data/orcl/datafile/sy*
Type      Redund  Striped  Time             Sys  Name
DATAFILE  MIRROR  COARSE   JUL 13 05:00:00  Y    SYSAUX.257.691577149
DATAFILE  MIRROR  COARSE   JUL 13 02:00:00  Y    SYSTEM.256.691577149

ASMCMD [+] > ls -s  +data/orcl/datafile
Block_Size  Blocks      Bytes       Space  Name
      8192   12801  104865792   214958080  EXAMPLE.265.691577295
      8192   88321  723525632  1452277760  SYSAUX.257.691577149
      8192   88321  723525632  1452277760  SYSTEM.256.691577149
      8192    7681   62922752   131072000  UNDOTBS1.258.691577151
      8192     641    5251072    12582912  USERS.259.691577151

ASMCMD [+] > ls --permission  +data/orcl/datafile
User  Group  Permission  Name
              rw-rw-rw-  EXAMPLE.265.691577295
              rw-rw-rw-  SYSAUX.257.691577149
              rw-rw-rw-  SYSTEM.256.691577149
              rw-rw-rw-  UNDOTBS1.258.691577151
              rw-rw-rw-  USERS.259.691577151

lsof

目的

ローカル・クライアントのオープン・ファイルをリストします。

構文および説明

lsof [--suppressheader] {-G diskgroup|--dbname db| -C instance}

表10-49に、lsofコマンドの構文オプションを示します。

表10-49 lsofコマンドのオプション

オプション 説明

--suppressheader

列ヘッダーを非表示にします。

-G diskgroup

指定されたディスク・グループからのみファイルをリストします。

--dbname db

指定されたデータベースからのみファイルをリストします。

-C instance

指定されたインスタンスからのみファイルをリストします。

次に、lsofコマンドの例を示します。1つ目の例では、dataディスク・グループのオープン・ファイルをリストします。2つ目の例では、Oracle ASMインスタンスのオープン・ファイルをリストします。

例10-52 ASMCMD lsopコマンドの使用方法

ASMCMD [+] > lsof -G data
DB_Name  Instance_Name  Path                                          
orcl     orcl           +data/orcl/controlfile/current.260.691577263  
orcl     orcl           +data/orcl/datafile/example.265.691577295     
orcl     orcl           +data/orcl/datafile/sysaux.257.691577149      
orcl     orcl           +data/orcl/datafile/system.256.691577149      
orcl     orcl           +data/orcl/datafile/undotbs1.258.691577151    
orcl     orcl           +data/orcl/datafile/users.259.691577151       
orcl     orcl           +data/orcl/onlinelog/group_1.261.691577267    
orcl     orcl           +data/orcl/onlinelog/group_2.262.691577271    
orcl     orcl           +data/orcl/onlinelog/group_3.263.691577275    
orcl     orcl           +data/orcl/tempfile/temp.264.691577287 

ASMCMD [+] > lsof -C +ASM 
DB_Name  Instance_Name  Path
asmvol   +ASM           +data/VOLUME1.271.679226013
asmvol   +ASM           +data/VOLUME2.272.679227351

mkalias

目的

指定したシステム生成のファイル名のエイリアスを作成します。

構文および説明

mkalias file alias

表10-50に、mkaliasコマンドの構文オプションを示します。

表10-50 mkaliasコマンドのオプション

オプション 説明

file

システム生成のファイル名。

alias

ファイル名のエイリアス。

aliasは、システム生成のファイルと同じディスク・グループに存在する必要があります。Oracle ASMファイルごとに作成できるエイリアスは、1つのみです。

次の例では、完全修飾ファイル名+data/orcl/DATAFILE/SYSAUX.257.721811945に対してsysaux.fエイリアスを作成します。mkaliasコマンドに続いてls --absolutepathを実行し、結果をチェックします。

例10-53 ASMCMD mkaliasコマンドの使用方法

ASMCMD [+data/orcl/datafile] > mkalias SYSAUX.257.721811945 sysaux.f

ASMCMD [+data/orcl/datafile] > ls --absolutepath
none => EXAMPLE.265.721812093
+DATA/ORCL/DATAFILE/sysaux.f => SYSAUX.257.721811945
none => SYSTEM.256.721811945
none => UNDOTBS1.258.721811945
none => USERS.259.721811947
sysaux.f

mkdir

目的

現行ディレクトリにOracle ASMディレクトリを作成します。

構文および説明

mkdir dir [dir . . .]

表10-51に、mkdirコマンドの構文オプションを示します。

表10-51 mkdirコマンドのオプション

オプション 説明

dir

作成するディレクトリ名。

mkdirが実行するディレクトリは、システムで作成されるか、またはユーザーによって作成できます。ルート(+)・レベルのディレクトリは作成できません。

次に、mkdirコマンドの例を示します。この例では、ディスク・グループdataに、ディスク・グループ・レベルのディレクトリsubdir1およびsubdir2を作成します。

例10-54 ASMCMD mkdirコマンドの使用方法

ASMCMD [+data] > mkdir subdir1 subdir2

ASMCMD [+data] > ls
ASM/
ORCL/
subdir1/
subdir2/

pwd

目的

現行ディレクトリの絶対パスを表示します。

構文および説明

pwd

次に、pwdコマンドの例を示します。この例では、現行ディレクトリを表示します。

例10-55 ASMCMD pwdコマンドの使用方法

ASMCMD [+data/orcl/datafile] > pwd
+data/orcl/datafile

rm

目的

指定したOracle ASMファイルおよびディレクトリを削除します。

構文および説明

rm [-f|-r] pattern [pattern...]

表10-52に、rmコマンドの構文オプションを示します。

表10-52 rmコマンドのオプション

オプション 説明

-r

ファイルおよびサブディレクトリを再帰的に削除します。

-f

確認を求めずにファイルおよびサブディレクトリを削除します。

pattern

ファイル、ディレクトリまたはワイルドカード・パターンの名前。

patternがファイルまたはエイリアスの場合は、これらが現在使用中でない場合のみrmコマンドで削除できます。patternがディレクトリの場合は、(-rフラグを使用していなければ)そのディレクトリが空であり、システム生成のディレクトリではない場合のみrmコマンドで削除できます。patternがエイリアスの場合は、エイリアスおよびエイリアスが参照するファイルの両方がrmによって削除されます。エイリアスのみ削除し、エイリアスが参照するファイルを保持する場合は、rmaliasコマンドを使用します。

注意:

システム生成ディレクトリ内のファイルをすべて削除すると、そのディレクトリは削除されます。親ディレクトリが空の場合、親ディレクトリもすべて削除されます。

patternには、ワイルドカード文字を指定できます。詳細は、ワイルドカード文字を参照してください。

ワイルドカードを使用する場合、rmコマンドでは、(-rフラグを使用していなければ)空ではないディレクトリを除き、一致するものをすべて削除します。再帰的に削除するには、-rフラグを使用します。-rオプションにより、空ではないディレクトリと、そのディレクトリとその下のディレクトリ・ツリー全体の中にあるすべてのファイルとディレクトリを削除できます。-rフラグまたはワイルドカード文字を使用すると、-fフラグを指定した場合を除き、rmコマンドを続行する前に削除を確認するプロンプトが表示されます。ワイルドカード文字がエイリアスまたはエイリアスを持つシステム生成のファイルと一致する場合は、エイリアスおよびエイリアスが参照するシステム生成のファイルの両方が削除されます。-rフラグを使用してワイルドカード・パターンと一致するエイリアスを削除する場合は、エイリアスまたはエイリアスを含むシステム生成のファイルは、rmコマンドを実行するディレクトリ内に存在している必要があります。

たとえば、+data/orcl/DATAFILE/System.256.146589651を指し示すユーザーのエイリアス+data/dir1/file.aliasがある場合、rm -r +data/dir1コマンドを実行すると、+data/dir1/file.aliasおよび+data/orcl/DATAFILE/System.256.146589651が削除されます。

次に、rmコマンドの例を示します。1つ目の例では、myexamples.bakファイルを削除します。2つ目の例では、subdir2ディレクトリおよびその内容を削除します。

例10-56 ASMCMD rmコマンドの使用方法

ASMCMD [+data/orcl/datafile] > rm myexamples.bak

ASMCMD [+data] > rm -r subdir2
You may delete multiple files and/or directories. 
Are you sure? (y/n) y

rmalias

目的

エイリアスが参照するファイルは保持したまま、指定したエイリアスを削除します。

構文および説明

rmalias [-r] alias [alias...]

表10-53に、rmaliasコマンドの構文オプションを示します。

表10-53 rmaliasコマンドのオプション

オプション 説明

-r

エイリアスを再帰的に削除します。

alias

ファイル名またはディレクトリのエイリアス。

-rフラグにより、現行ディレクトリおよびその下のディレクトリ・ツリー全体のすべてのエイリアスを削除できます。エイリアスを削除するとユーザー作成のディレクトリが空になる場合は、それらのディレクトリも削除されます。システム生成のファイルおよびディレクトリは削除されません。

次に、rmaliasコマンドの例を示します。この例では、エイリアスsysaux.fを削除しますが、そのエイリアスが参照するデータファイルは保持します。

例10-57 ASMCMD rmaliasコマンドの使用方法

ASMCMD [+data/orcl/datafile] > rmalias sysaux.f