exadcliユーティリティは、リモート・ノードのセットでExaCLIコマンドを自動的に実行し、exadcliユーティリティが実行された集中管理ロケーションに出力結果を返すことにより、Oracle Exadataシステムの集中管理を容易にします。この章のトピックは、次のとおりです:
exadcli
ユーティリティでは、複数のリモート・ノードでコマンドをパラレル・スレッドで実行します。
このユーティリティでは、リモート・ノード上のリモート・アプリケーションとの対話型セッションをサポートしていません。exadcliユーティリティは、データベース・ノードのイメージ化の際にインストールされます。
複数のリモート・ノードで実行するExaCLIコマンドを発行できます。リモート・ノードはホスト名またはIPアドレスで参照されます。dcliとは異なり、exadcliではExaCLIコマンドのみを実行できます。その他のコマンド、たとえばシェル・コマンドは、exadcliを使用して実行できません。
exadcliユーティリティを使用するには、すべてのリモート・ノードにユーザーおよびロールを設定する必要があります。exadcliは、リモート・ノードに並列に接続し、ユーザーを認証します。
指定したリモート・ノードでコピーおよびコマンド実行が終了すると、コマンド出力(stdoutおよびstderr)が収集されて表示されます。
exadcliは、プロンプトなしのモードでExaCLIを実行します。つまり、ユーザー操作が必要な場合(たとえば、パスワードを入力する必要がある場合またはリモート・ノードからの証明書が有効であることを確認する必要がある場合)、exadcliはエラーにより終了します。exadcli --authenticate
を使用すると、同じパスワードを使用してすべてのセルまたはデータベース・ノードにログインできます。認証トークンがCookie jarに格納されるため、将来のexadcliセッションでパスワードを入力する必要がなくなります。
ただし、セルまたはデータベース・ノードのアイデンティティ証明書を受け入れるために、引き続きExaCLIを使用する必要があります。このことは、セルごとに1回のみ行う必要があります(セルがアップロードされた場合や、新しい証明書がリモート・データベースまたはセル・ノードにアップロードされた場合を除く)。次に例を示します。
$ exacli -l dbnodeadministrator -c dbnode01 --cookie-jar
No cookies found for user1@dbnode01.
Password: ************
EXA-30016: This connection is not secure. You have asked ExaCLI to connect to cell dbnode01 securely. The identity of dbnode01 cannot be verified. Got certificate from server:
C=US,ST=California,L=Redwood City,O=ABC Co.,OU=IT Dept,CN=dbnode01
Do you want to accept and store this certificate? (Press y/n) y
exacli user1@dbnode01>exit
すべてのセルまたはデータベース・ノードで証明書を受け入れる必要があります。
管理サーバー(MS)を再起動した場合は、exadcli --authenticate
コマンドを使用してexadcliを再認証する必要があります。
$ exadcli -c dbnode01,dbnode02,dbnode03 -l dbnodeadministrator --authenticate
この時点で、exadcliを使用して次のようなコマンドを実行できます。
$ exadcli -c dbnode01,dbnode02,dbnode03 -l dbnodeadministrator list dbserver
関連項目:
ユーザー、ロールおよび権限の詳細は、「ExaCLIの概要」を参照してください。
exadcliは、次のように実行します。
exadcli [options] [command]
exadcliでは、次のオプションがサポートされます。
表8-1 exadcliのオプション
オプション | 説明 |
---|---|
-c host [,host] --connect=host [,host] |
ExaCLIコマンドの送信先となるターゲット・リモート・ノードのカンマ区切りのリストを指定します。 |
-g filename --group-file=filename |
コマンドの送信先のターゲット・リモート・ノードのリストを含むファイルを指定します。リモート・ノードは、ホスト名またはIPアドレスで識別できます。 |
-l username --login-user=username |
リモート・ノードにログインするユーザーを指定します。これは、オペレーティング・システムのユーザーではなく、dbmcliまたはセルのユーザーです。 |
-t --list |
|
-x filename --exec-file=filename |
リモート・ノードで実行するコマンド・ファイルを指定します。このコマンド・ファイルには、ExaCLIコマンドのリストが含まれています。 注意: exadcliには対話型モードはありません。このオプションを使用して実行するコマンドを指定することも、コマンドラインの末尾でコマンドを指定することもできます。 |
--authenticate |
ユーザー・パスワードを要求します。すべてのリモート・ノードでユーザーはパスワードを使用して認可され、認可はデフォルトのCookie jarに格納されます。 |
--max-lines=maxlines
|
リモート・ノードからの最大出力行を制限します。デフォルトは100,000行です。 |
--xml |
これにより、出力がXML形式で表示されます。このオプションはExaCLIに渡されます。 |
-h --help |
ヘルプ・メッセージを表示します。 |
command
|
リモート・ノードで実行するExaCLIコマンドを指定します。複数のコマンドを指定するには、コマンドをセミコロン文字 注意: exadcliには対話型モードはありません。 |
--cookie-jar [filename]
|
注意: 現在ではexadcliで常にCookie jarが使用されるため、このオプションは非推奨です。 Cookie jarファイルを指定します。このオプションはExaCLIに渡されます。 |
exadcliからの戻り値は次のとおりです。
0: すべてのリモート・ノードで、コマンドが正常に実行されました。
1: 1つ以上のリモート・ノードにアクセスできず、リモート実行により0以外のステータスが返されました。
2: ローカルのエラーによりコマンドを実行できませんでした。
いずれかのリモート・ノードが停止しているか、応答がない場合は、メッセージがstderrに書き込まれ、応答のないリモート・ノードが表示されます。その他のリモート・ノードは操作が続行され、完了後のリターン・コードは1になります。
関連トピック
例1: celladministratorユーザーとしてcell01、cell02およびcell03に接続し、資格証明を~/.exacli/cookiejar
に格納して、同じセルに対するそれ以降のexadcliコマンドでパスワードを要求しないようにします。
$ exadcli -c cell01,cell02,cell03 -l celladministrator --authenticate Password:
例2: mycells
ファイルにリストされているセルにcelladministratorユーザーで接続し、list cell detailコマンドを実行します。
$ cat mycells cell01 cell02 cell03 $ exadcli -g mycells -l celladministrator list cell detail
例3: mycells
ファイルにリストされているセルにcelladministratorユーザーで接続し、usercommands.txt
内のExaCLIコマンドを実行します。
$ cat usercommands.txt list cell $ exadcli -g mycells -l celladministrator -x usercommands.txt cell01 : cell01 online cell02 : cell02 online cell03 : cell03 online
例4: mydbservers
ファイルにリストされているデータベース・サーバーにdbadministratorユーザーで接続し、usercommands.txt
内のExaCLIコマンドを実行します。
$ cat mydbservers db01 db02 db03 $ cat usercommands.txt list dbserver $ exadcli -g mydbservers -l dbadministrator -x usercommands.txt db01 : db01 online db02 : db02 online db03 : db03 online