この章では、Enterprise Managerコマンドライン・インタフェース(EM CLI)の次のトピックについて説明します。
概要
EM CLIの機能
準備段階のアドバイス情報
EM CLIのクイック・スタート
セキュリティと認証
出力データ生成Verbでのスクリプト使用
Enterprise Managerコマンドライン・インタフェース(EM CLI)では、様々なオペレーティング・システムのテキストベースのコンソール(シェルおよびコマンド・ウィンドウ)からEnterprise Manager Grid Control機能にアクセスできます。管理者は、SQL*Plus、OSシェル、Perl、Tclなどのカスタム・スクリプトを使用してEnterprise Manager機能をコールできるため、Enterprise Managerの機能と企業のビジネス・プロセスを容易に統合することができます。
EM CLIを使用して、ターゲット、ジョブ、グループ、ブラックアウト、通知およびアラートの監視と管理など、Enterprise Manager Grid Controlのコンソールベースの操作を実行できます。EM CLIは、顧客のビジネス・プロセスのワークフローを提供するシェル・ファイルやバッチ・ファイル、Perl、Tcl、PHPなどのスクリプトを作成する企業やシステム管理者を対象としています。EM CLIコマンドは、オペレーティング・システムのコンソールから対話形式で使用することもできます。
EM CLIは、Enterprise Managerのセキュリティおよびユーザー管理機能と完全に統合されているため、管理者は、Enterprise Manager Grid Controlコンソールと同じセキュリティと機密保持性を備えたEM CLIを使用して操作を実行できます。たとえば、管理者は、自分が権限を持つターゲットのみを表示し、操作することができます。
スクリプトによりサード・パーティまたはカスタム・ソフトウェアとEnterprise Managerを統合します。顧客のビジネス・モデルに含まれているアクション(ターゲットの追加と削除、ジョブの発行と削除、ユーザーの作成と削除など)を、スクリプトで実行できます。
毎日、午前6時以降に実行されていたバックアップ・ジョブの電子メール・リストを送信します。
毎週、失敗したEnterprise Managerジョブに関する情報をファイルに書き込み、Enterprise Managerのジョブ履歴をパージします。
EM CLIクライアントは、入力としてコマンドを受け入れるJavaアプリケーションです。EM CLIクライアントは、入力コマンドを使用して、コマンドを実行するVerbを識別します。VerbはEM CLIクライアントのJavaプラグイン拡張機能です。Verbは、特定のオプションを指定してコマンドを実行し、結果を標準出力ストリームにポストします。エラーは、エラー出力ストリームにポストされます。Verbは、EM CLIクライアントがクライアントのコール環境(オペレーティング・システム・コンソール)でコマンドのexit値として設定した整数のexit値も返します。
Verbは操作をローカルで実行できますが、EM CLIに付属のverbのほとんどは、EM CLIクライアントのリモートVerbでカバーされています。リモートVerbは、HTTPまたはHTTPSを使用してEnterprise Manager Oracle管理サービス(OMS)・コンソールのEM CLI OMS拡張機能に接続し、HTTPを使用して処理対象のコマンドラインをOMSに送信します。EM CLI OMS拡張機能は、基本的には標準のEnterprise Managerコンソール・ページで、他の標準コンソール・ページと同じようにOMSにインストールされます。EMCLIクライアントと同様、CLI OMS拡張機能は、入力コマンドを使用して、コマンドを実行するVerbを識別します。Verbは、コマンドを処理する際、必要に応じてOMSサービスを介して管理リポジトリまたは管理エージェントにアクセスできます。
リモートVerbはOMSにログオンし、必要に応じてセッションを自動的に確立し、OMS側のコントローラにアクセスします。リモートVerbは、クライアントからコマンドを開始したEnterprise Managerユーザーとして動作します。Enterprise Managerユーザーの資格証明は、Enterprise Manager管理者がEM CLI setup Verbを使用する1回のみの対話型交換中に、EM CLIクライアントにローカルで確立されます。図1-1に、EM CLIの高レベルのアーキテクチャを示します。
各機能分野の詳細は、『Oracle Enterprise Manager概要』を参照してください。
EM CLIでは、データベース・ターゲットに対してOSスクリプト・ジョブを実行できません。ただし、Enterprise Manager Grid Controlコンソールでは実行できます。
EM CLIは、OSスクリプト・ジョブおよびSQLスクリプト・ジョブの発行に対してのみ認定されています。
OMSで複数のemcliセッションが作成される異常な状況を避けるため、EMCLIコマンドを含むスクリプトを実行する前にloginコマンドを入力することをお薦めします。
EM CLIの設定と実行は簡単です。EM CLIは、Enterprise Managerフレームワーク機能へのアクセスに使用される2つのコンポーネントで構成されています。
EM CLIクライアントは、管理対象のネットワーク内にある任意のシステムにインストールできます。EM CLIクライアントは、特定のOMSにEM CLI Verbを送信するコマンドライン・プログラム(Javaベース)です。EM CLIクライアントは、Enterprise Manager Grid Controlコンソールと同等のコマンドラインとして機能します。EM CLI OMS拡張機能は、OMSに自動的にインストールされ、EM CLIクライアントとOMS間の通信パイプの役目を果します。
EM CLIをインストールする前に、次のものが必要です。
Enterprise Manager 10g 10.2.0.5 Grid Controlフレームワーク
Javaバージョン1.4.1以上
Solaris、Linux、HPUX、Tru64、AIX、またはNTFS対応のWindowsを実行するワークステーション(クライアント・インストール)
前述のとおり、EM CLI OMS拡張機能はOMSに自動的にインストールされます。クライアント部分をインストールし、設定する必要があります。次の手順では、EM CLIクライアントのインストールと設定について説明します。
EMC CLIクライアント・キットを用意してください。
EM CLIクライアント・キットは、次の場所のように10.2 Grid Controlがインストールされているところならばどこからでもダウンロードできます。
HTTP(S)://host:port/em/console/emcli/download
emclikit.jarファイルは物理的に10.2.0.5 Grid Control OMSホームの$ORACLE_HOME/sysman/jlibディレクトリに存在します。
JAVA_HOME環境変数を設定し、PATHに含まれていることを確認します。この変数には、JDK 1.4.1以上のホームを設定する必要があります。次に例を示します。
setenv JAVA_HOME /usr/local/packages/j2sdk1.4.1_02
setenv PATH $JAVA_HOME/bin:$PATH
次のコマンドを入力して、PATHにJavaが正しく設定されていることを確認します。
which java
このコマンドにより、$JAVA_HOME/binのJavaが表示されます。
EM CLIクライアントをインストールします。EM CLIのクライアント部分は、OMSと同じシステムまたはネットワーク内のシステム(そのシステムにemclikit.jarファイルをダウンロード)の任意のディレクトリにインストールできます。
emclikit.jarをインストールしたディレクトリに移動します。
cd $HOME/<your emcli installation directory>
次のコマンドを入力します。
java -jar emclikit.jar client -install_dir=<emcli client dir>
EM CLIクライアントのインストール後、クライアントの設定を開始できます。
EM CLIクライアントをインストールすると、EM CLIを使用できるようになります。この時点で、インストール・ディレクトリの場所からEM CLIクライアントを実行できますが、かわりにインストール・ディレクトリの場所をPATHに追加してもEM CLIクライアントを実行できます。
インストール直後は、基本的な操作Verbのみがインストールされています。
argfile: Verbと引数が1つのファイルに含まれているEM CLI Verbを実行します。
help: EM CLI Verbのコマンドライン・ヘルプにアクセスします。
login: ログインしてOMSとのセッションを確立します。
logout: Enterprise ManagerのEM CLIクライアントからログアウトします。
setup: 特定のOMSとともに動作するようにEM CLIを構成します。
sync: EM CLIクライアントとOMSを同期します。
add_mp_to_mpa: 管理プラグイン・アーカイブを作成(またはアーカイブに追加)します。管理プラグイン・アーカイブは、新しいターゲット・タイプをEnterprise Managerに追加するために使用できます。
add_group_to_mpa: 管理プラグイン・グループを管理プラグイン・アーカイブに追加します。
EM CLI管理サービスを実行するOMSにEM CLIクライアントを接続するには、setupを実行する必要があります。setup Verbを実行すると、利用可能なすべてのVerb関連コマンドライン・ヘルプがEM CLI管理サービスからインストールされます。異なるOMSに接続するたびにsetupを実行する必要があります。
次のコマンドを入力するか、このガイドの「Verbリファレンス」でsetup Verbを参照し、setup Verbとそのオプションの構文を理解します。
./emcli help setup
次の例のように、最低限必要なパラメータを使用してsetup Verbを入力します。
./emcli setup -url=http://myworkstation.us.oracle.com:em_port/em -username=em_user
手順1で確認したとおり、setup Verbには、次の重要なオプションを含むいくつかのオプションがあります。
ssousernameおよびssopassword
noautologin
custom_attrib_file
EM CLIクライアントがEM CLI管理サービスに接続した後にプロンプトが表示されたら、ユーザー・パスワードを入力します。
setup Verbの実行後、「Emcliの設定に成功しました。」というメッセージが表示され、EM CLIを使用できるようになります。
|
ヒント: 手順2に記載されているsetup Verbとそのオプション(ssousername、ssopassword、noautologin、custom_attrib_fileなど)の詳細は、setup Verbを参照してください。複数の設定を実装して複数のOMSで動作するようにEM CLIクライアントを構成するには、setup Verbの「例」を参照してください。 |
EM CLIでは、操作中に生成された情報メッセージとエラー・メッセージを記録するログ・ファイルが作成されます。次の例のすべてのログが生成されるわけではありません。ログは必要に応じて作成および追加され、EM CLIの各起動の間保持されます。ログ・ファイルは、EM CLI操作に影響を与えることなく、いつでも安全に削除できます。ログには、スタック・トレースが含まれています。これは、一般ユーザーにはあまり関係ありませんが、高度なシステム知識を持つユーザーには役立つことがあります。
次に、ログ・ファイルが生成される場合の場所を示します。
CONFIG_DIR/.emcli.log CONFIG_DIR/.emcli.log.1
CONFIG_DIRは、setup Verbを最後に実行したときに-dirオプションで指定されたディレクトリです(.emcliというサブディレクトリが追加されます)。現在のCONFIG_DIRディレクトリは、設定サマリーを表示するオプションを指定せずにsetup Verbを実行することで確認できます。
ログ・ファイルの大きさは、最大0.5MBです。EM CLIでは2つのログ・ファイルを切り替えて使用します。どちらかのファイルが0.5MBの上限に達するともう一方のファイルへの書込みが始まります。emcli.log.1が初めていっぱいになると、古い方のログ・ファイルが上書きされます。
次に、ログ・ファイルが生成される場合の場所を示します。
setup Verbの実行時に構成ディレクトリを指定しない(-dirオプションを省略する)場合、.emcli構成ディレクトリがユーザーのローカル・ホーム・ディレクトリ内にあるとみなされます。ログ・ファイルは.emcliディレクトリのルート・レベルに置かれます。.emcliディレクトリはローカルに置く必要があります(リモートへのマウントは不可)。
例1-2 setup Verbでローカル構成ディレクトリを指定する(-dir=<local directory>)
local.dir/.emcli/.emcli.log local.dir/.emcli/.emcli.log.1
この例では、構成ディレクトリは、setup Verbの実行時に-dirオプションを使用して指定されています。ユーザーのホーム・ディレクトリがリモートでマウントされている場合(たとえば、NFSを介して)に、この方法でローカル構成ディレクトリを指定できます。
EM CLIには、様々なレベルで役立つ総合的なコマンドライン・ヘルプが組み込まれています。ヘルプはどのEM CLIクライアントからも使用でき、使用可能なすべてのverbのリスト、各verbの概要、構文、使用例が表示されます。コマンドライン・ヘルプは、EM CLIの最も信頼できる情報ソースです。
コマンドライン・ヘルプにアクセスするには、次のコマンドを入力して、使用可能なすべてのverbの概要を表示します。
./emcli help
または、次のコマンドを入力して、Verbの詳細な説明、Verbの引数とオプション、および使用例を表示します。
./emcli help <verb>
各オペレーティング・システムのユーザーは、Oracle管理サービスとEnterprise Managerの資格証明の場所をローカルで定義する1回かぎりのEM CLI初期化を実行する必要があります。この資格証明は、このユーザーがEM CLIを起動するたびに使用されます。
例1-5 CLIとEnterprise Manager間の認証
>emcli setup –url="http[s]://host:port/em/" –username="<username>" [-trustall] [-novalidate] >please enter password:
|
注意: setup Verbをオプションなしで発行して、EM CLIクライアントからOMS接続情報を調べることができます。次に例を示します。
>emcli setup Oracle Enterprise Manager 10g Release 10.2.0.5 Copyright (c) 1996, 2007 Oracle Corporation.All rights reserved. CONFIG DIRECTORY: OMS : http://my_system.my_co.com:port/em/ EM USER : TRUST ALL : false |
HTTPS接続ハンドシェイクのSSLサーバーによる認証フェーズ中のOMS認証では、EM CLIは次のキーストアで信頼できる証明書を検索します。
CONFIG_DIR/.emcli/.localkeystore user.home/.emcli/.keystore JRE_HOME/lib/security/cacerts
CONFIG_DIRは、setup Verbを最後に実行したときに-dirオプションで指定されたディレクトリです(.emcliというサブディレクトリが追加されます)。CONFIG_DIRパラメータの詳細は、「EM CLIのログ・ファイルの使用方法」を参照してください。
JDKのJRE_HOMEは、通常、JAVA_HOME/jreです。
キーストアは、JDKのkeytoolコマンドで管理できます。このツールの詳細は、ご使用のJava VMのセキュリティ・マニュアルまたは(本文作成時点では)次のURLを参照してください。
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html
リストのキーストアの中には、存在しないものもあります。
次のいずれかの方法で、EM CLIに資格証明を提供できます。
使用時に資格証明を提供します。資格証明の詳細は、loginおよびlogout verbを参照してください。
シェル・スクリプトからEM CLI verbを実行する場合などのように、EM CLIクライアントを実行しているホスト・システムに資格証明を常時置いておきます。
|
注意: 資格証明の安全性は、OSのファイル・システムで保護するしかないので、資格証明を常時ホストに置いておくのは、ホストがセキュアなクライアントの場合のみにしてください。また、EM CLIユーザーのホーム・ディレクトリがNFS上または安全性が確保されていないファイル・システムにマウントされている場合は、永続的な資格証明は使用しないでください。 |
EM CLIクライアントは、特定の構成ファイルと、verbのクライアント側実装をクライアント・システムにインストールします。EM CLIクライアントの構成ファイルには、OMS URL、Enterprise Managerユーザー名、Enterprise Managerパスワード、SSOユーザー名とパスワード(EMがSSO対応の場合)などの情報が含まれます。デフォルト・モードではこれらの資格証明が格納されますが、このモードは下位互換性の確保を目的としているため本質的にセキュアではありません。
このセキュリティ・リスクを排除するため、セキュア・モードのEM CLI設定では、クライアントのディスクにEMまたはSSOのパスワードが格納されません。セキュアな設定を行うには、setup verbにnoautologinオプションを指定する必要があります。資格証明は設定時に一度だけ指定します。その後、クライアントとOMS間にセッションが確立されます。後続のverbでは、すべてこのセッションが使用されます。非アクティブ状態や(logout verbを使用した)明示的なログアウトによりこのセッションが終了した場合、verbを新しく起動するには、再設定または(login verbを使用した)明示的なログインが必要です。
noautologinオプションの詳細は、setup verbの説明を参照してください。
ログインの詳細は、login verbの説明を参照してください。
ログアウトの詳細は、logout verbの説明を参照してください。
スクリプトによるVerb出力を簡単に解析するために、出力データを生成するすべてのverbに-script引数を使用できます。-script引数を使用すると、すべての出力列がタブで区切られ(NULL以外の値で)、すべての行は改行で区切られます。デフォルトの列と行のセパレータは、-scriptのかわりに-format引数を使用して上書きできます。
[-script|-format="name:<format type>;column_separator:<separator_text>;row_separator:<separator_text>"]
サポートされている-format引数を、表1-1に示します。
表1-1 サポートされている-format引数
| 引数 | 説明 |
|---|---|
|
|
出力を整形表示します。 |
|
|
|
|
|
Verb出力の列は |
|
|
Verb出力の行は |
|
|
Verb出力の列は |
|
|
列がカンマ、行が改行で区切られた表が生成されます。 |
-scriptは、-format="name:script;column_separator:\u0009;row_separator:\u000A"と同じです。
列と行のセパレータの値は、1つ以上の文字列として指定されます。どの文字も、Unicodeシーケンス\uXXXX(Xは16進値)で表すことができます。
注意: ASCII文字は\u00XXで表されます。XXは00〜7Fの値です。たとえば、タブ文字は\u0009で、改行文字は\u000Aで表されます。
pretty書式タイプには属性がありません。
scriptモードでは、セパレータ文字列を含むVerb出力のセルがあった場合、その文字列のUnicode値に置き換えられ、出力の解析に必要なスクリプトが壊れるのを防ぎます。
scriptは、セパレータを指定できる唯一の書式タイプです。
セパレータは単一の文字でなくてもかまいません。また、次の例に示すように、Unicodeシーケンスで分離された通常の文字で指定することもできます。