プライマリ・コンテンツに移動
Oracle® Automatic Storage Management管理者ガイド
12cリリース1 (12.1)
B71290-10
目次へ移動
目次
索引へ移動
索引

前
次

非対話モードでのASMCMDの実行

非対話モードでは、ASMCMDの起動時にコマンドラインにコマンドおよびコマンド・オプションを含めることにより、単一のASMCMDコマンドを実行します。ASMCMDはコマンドを実行し、必要な場合は出力を生成し、終了します。非対話モードは、特にスクリプトの実行に便利です。

ほとんどのオペレーティング・システムでは、非対話モードでASMCMDコマンドを実行する場合、ワイルドカード文字を引用符で囲む必要があります。

非対話モードでASMCMDを実行するには、コマンド・プロンプトで次のように入力します。この場合、commandは任意の有効なASMCMDコマンドで、optionsはコマンド・オプションのリストです。

asmcmd command options

非対話モードでは、ASMCMDは表10-3に示すコードを戻します。

表10-3 ASMCMDのリターン・コード

タイプ リターン・コード 説明

一般

0

コマンドに問題はありません。

一般

1

内部エラーです。

一般

255または-1

コマンドにより戻された外部ユーザー・エラーです。

lsdsk

0

結果にはメンバー・ディスクのみが含まれます。

lsdsk

1

結果には候補ディスクのみが含まれます。

lsdsk

2

結果にはメンバー・ディスクおよび候補ディスクの両方が含まれます。

例10-2に、非対話モードでASMCMDを実行する方法を示します。1番目のコマンドでは、lsコマンドを実行してOracle ASMインスタンスのディスク・グループをリストします。2番目のコマンドでは、lsodコマンドの出力をmy_lsod_testファイルにリダイレクトします。3番目のコマンドでは、ワイルドカード文字のパターンを使用してlsdskを実行し、dataディスク・グループの特定のディスクをリストします。ほとんどのオペレーティング・システムでは、非対話モードでASMCMDコマンドを実行する場合、ワイルドカード文字を引用符で囲む必要があることに注意してください。

例10-3では、間違ったディスク・グループ名によりエラーが発生し、リターン・コード(255)が表示されます。

例10-4に、スクリプト内で非対話モードでASMCMDコマンドを実行する例を示します。

例10-2 非対話モードでのASMCMDコマンドの実行

$ asmcmd ls -l
State    Type    Rebal  Name
MOUNTED  NORMAL  N      DATA/
MOUNTED  NORMAL  N      FRA/

$ asmcmd lsod --suppressheader -G data > my_lsod_test

$ asmcmd lsdsk -G data '/devices/diska*'
Path
/devices/diska1
/devices/diska2
/devices/diska3

例10-3 非対話モードでのASMCMDの実行時のリターン・コードの表示

$ asmcmd ls -l dat
ASMCMD-08001: diskgroup 'dat' does not exist or is not mounted

$ echo $?
255

例10-4 スクリプト内でのASMCMDコマンドの実行

#!/bin/sh
for ((i = 1; i <=3; i++))
 do
   asmcmd lsdsk -G data '/devices/diska'$i
done

$ ./asmcmd_test_script
Path
/devices/diska1
Path
/devices/diska2
Path
/devices/diska3