表4-2は、コードの各行の分析です。
表4-2 行単位のスクリプト分析
行 | 説明 |
---|---|
1-2 |
すべてのEM CLI Verbをインポートし、VerbExecutionErrorをインポートします。 |
3-4 |
Jythonライブラリをインポートします。 |
6-25 |
スクリプトがl_grp_nameグループの各メンバーのデータベース・パスワードを更新するジョブを定義します。各ジョブが正常に完了した後、エラーが存在しないかぎりまたはすべてのデータベース・パスワードが更新されないかぎり、スクリプトはメッセージをユーザーに表示し、次のジョブを処理する前に2秒待機します。 |
27-43 |
l_grp_nameグループの各ターゲット・メンバーのデータベース・パスワードを更新する変数を定義します。スクリプトが正常にデータベース・パスワードを更新すると、次のデータベース・ターゲットのパスワードの更新に進む前に次のメッセージをユーザーに表示します。 メンバーのパスワードの変更: name = database_name type = database_type |
45-51 |
ループを定義してl_grp_nameグループからすべてのメンバーを取得し、行#85で定義されているように各メンバーのパスワードを更新します。スクリプトがこのループの処理を開始すると、次のメッセージがユーザーに表示されます。 グループ - l_grp_nameのl_old_passwordからl_new_passwordへのパスワードの変更 |
54-58 |
すべてのターゲットを取得するために必要な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)への接続」を参照してください。 |
60 |
OMSへのログインを提供します。自動ログインのEM CLIを設定している場合、これを削除できます。設定および自動ログインの詳細は、「スクリプト・オプションを使用したEM CLIクライアントのダウンロードとデプロイ」、およびVerbのsetupとloginを参照してください。 |
63 |
l_grp_nameはグループ名の変数です |
65 |
l_group_membersはデータベース名およびタイプの配列の変数です。 |
69 |
l_group_membersからl_grp_name groupにメンバーを追加します |
71-74 |
スクリプトがメンバーをl_grp_nameグループに追加している場合にメッセージをユーザーに表示します |
77-79 |
スクリプトを続行するかどうかを決定するためにユーザーに対してプロンプトを表示します。ユーザーがnを入力すると、スクリプトが終了します。ユーザーがyを入力すると、スクリプトが続行します。 |
81 |
l_tgt_usernameは、データベース所有者のユーザー名の変数です。 |
82 |
l_old_passwordは、データベース所有者に関連付けられた既存のパスワードの変数です。 |
83 |
l_new_passwordは、データベース所有者に関連付けられた新しいパスワードの変数です。 |
85 |
l_grp_nameグループのすべてのメンバーに対して既存のパスワードを新しいパスワードに置き換えます。 |