プライマリ・コンテンツに移動
Oracle® Enterprise Managerコマンドライン・インタフェース
13c リリース2 PG
E79390-06
目次へ移動
目次

前
次

4.3.1 スクリプトの分析

表4-3は、コードの各行の分析です。

表4-3 行単位のスクリプト分析

説明

1

すべてのEM CLI Verbをインポートし、VerbExecutionErrorをインポートします。

2

Jythonライブラリをインポートします。

4-9

変数を設定します。

  • uname: Enterprise Managerにアクセスできるユーザー名

  • pword: ユーザー名に関連付けられているパスワード

  • url: Enterprise ManagerのURL

  • monitor_pw: ターゲットを監視できるパスワード

10

入力引数を定義します。

11-15

引数が無効であるか見つからないスクリプトを実行する場合にユーザーに表示されるメッセージを定義します。

Usage: promote_discovered_dbs.py [-help][-all] Add all discovered Single Instance DBs[-targets <target1:target2:...] Add only targets listed

17-41

入力変数(行4から9で定義)が有効で存在することを確認するForループを定義し、そうでない場合はスクリプトが終了し、行11-15で定義されたメッセージを表示します。

43-50

ユーザーがスクリプトの実行時に-targetsおよび-all引数を指定していないことを確認するIf文を定義します。ユーザーが両方の引数を入力すると、スクリプトが終了し、行11-15で定義されたメッセージを表示します。

52-58

ユーザーがスクリプトの実行時にユーザー名、パスワードおよびEnterprise ManagerのURLを指定していることを確認するIf文を定義します。これらの引数のいずれかが見つからない場合、スクリプトが終了し、行11-15で定義されたメッセージを表示します。

60-62

すべてのターゲットを取得するために必要なOMSへの接続。OMSに接続する前に、set_client_property()関数を使用してOMS接続の詳細を設定する必要があります。これによりOMS URLがhttps://myoms.com/emにされ、クライアントがすべての証明書を信頼するようになります。

これらの詳細はディスクに格納されないことに注意してください。これらの詳細はメモリーに格納され、スクリプトが1回実行される間のみ存続します。クライアント・プロパティの詳細については、対話型のシェルからhelp('client_properties')と入力してください。

これらをスクリプトで定義しない場合、EMCLI_OMS_URLおよびEMCLI_TRUSTALL変数を環境変数として指定することもできます。証明書をダウンロード済であれば、環境変数EMCLI_CERT_LOCを使用して証明書のディレクトリを指定することもできます。この場合、EMCLI_TRUSTALLは必要ありません。詳細は、「対話モード — Oracle Management Server (OMS)への接続」を参照してください。

63

OMSへのログインを提供します。自動ログインのEM CLIを設定している場合、これを削除できます。設定および自動ログインの詳細は、「スクリプト・オプションを使用したEM CLIクライアントのダウンロードとデプロイ」、およびVerbのsetuploginを参照してください。

65

モニタリング対象ターゲットに必要な資格証明文字列の変数を定義します。

67

-targets引数が指定されてターゲットが存在するかどうかを確認するif文を定義します。

68

target_paramsの値を設定します

69

get_targets verbのtargets (ターゲットのリストはtargetparamsによって定義されます)、unmanagedおよびpropertiesパラメータを使用して、target_arrayの値を設定します。最初のターゲットに設定される場合、スクリプトが次のターゲットに移動します。

70-71

get_targets verbのtargets、unmanagedおよびpropertiesパラメータを使用して、スクリプトの実行時に-allオプションが指定される場合にtarget_arrayの値を設定するelse if文を定義します。最初のターゲットに設定される場合、スクリプトが次のターゲットに移動します。

72-74

スクリプトの実行時に-targetsまたは-allオプションが指定されない場合のelse文を定義します。これが発生した場合、スクリプトが終了し、行11-15で定義されたメッセージを表示します。

76-78

配列にデータがあるかどうかを確認し、データがある場合にスクリプトが次のようなメッセージを表示します。

Adding target abchost.us.example.com... host.us.example.com

80-82

ホスト情報からホスト名を抽出します

83-88

add_target verbを使用してターゲットを管理リポジトリに追加し、次のメッセージを表示します。

Succeeded

スクリプトがターゲットを管理リポジトリに追加できなかった場合、次のメッセージが表示されます。

Failed

90

行76で配列にターゲットがない場合、スクリプトが終了し、ユーザーに次のメッセージを表示します。

INFO: There are no targets to be promoted. Please verify the targets in Enterprise Manager webpages.Logout successful