スクリプトを記述するお手伝いをするため、この項ではライフサイクル・ステータス・プロパティを変更するサンプル・スクリプトを分析します。
例4-1を使用すると、Enterprise Manager管理者はテスト環境のすべてのOracleデータベース(リリース11.2)のライフサイクル・ステータスをテストから本番に変更できます。このスクリプトを使用しない場合、Enterprise Manager Cloud Controlコンソールにログインし、すべてのリリース11.2データベースを識別し、ターゲットのホームページから各データベース・ターゲットのプロパティを本番に手動で変更する必要があります。
一連のターゲットを別のライフサイクル・ステータスに変更リクエストがある場合は常に、このスクリプトを再利用できます。
注意:
表4-1での行番号は、説明目的でのみ提供されています。コピー対応のスクリプトは、「サンプル・スクリプト」の「例A-5」を参照してください。
例4-1 LifeCyclePropertyChange.py
#Disclaimer #EXCEPT WHERE EXPRESSLY PROVIDED OTHERWISE, THE SITE, AND ALL CONTENT PROVIDED ON #OR THROUGH THE SITE, ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS. ORACLE #EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, #INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS #FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT WITH RESPECT TO THE SITE AND ALL #CONTENT PROVIDED ON OR THROUGH THE SITE. ORACLE MAKES NO WARRANTY THAT: (A) THE #SITE OR CONTENT WILL MEET YOUR REQUIREMENTS; (B) THE SITE WILL BE AVAILABLE ON AN #UNINTERRUPTED, TIMELY, SECURE,OR ERROR-FREE BASIS; (C) THE RESULTS THAT MAY BE #OBTAINED FROM THE USE OF THE SITE OR ANY CONTENT PROVIDED ON OR THROUGH THE SITE #WILL BE ACCURATE OR RELIABLE; OR (D) THE QUALITY OF ANY CONTENT PURCHASED OR #OBTAINED BY YOU ON OR THROUGH THE SITE WILL MEET YOUR EXPECTATIONS. #ANY CONTENT ACCESSED, DOWNLOADED OR OTHERWISE OBTAINED ON OR THROUGH THE USE OF #THE SITE IS USED AT YOUR OWN DISCRETION AND RISK. ORACLE SHALL HAVE NO #RESPONSIBILITY FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR LOSS OF DATA THAT #RESULTS FROM THE DOWNLOAD OR USE OF CONTENT. #ORACLE RESERVES THE RIGHT TO MAKE CHANGES OR UPDATES TO, AND MONITOR THE USE OF, #THE SITE AND CONTENT PROVIDED ON OR THROUGH THE SITE AT ANY TIME WITHOUT NOTICE. 1 from emcli import * 2 3 search_list = ['PROPERTY_NAME=\'DBVersion\'','TARGET_TYPE= \'oracle_database\'','PROPERTY_VALUE LIKE \'11.2%\''] 4 5 if len(sys.argv) == 2: 6 print login(username=sys.argv[0]) 7 l_prop_val_to_set = sys.argv[1] 8 l_targets = list(resource="TargetProperties", search=search_list, columns="TARGET_NAME,TARGET_TYPE,PROPERTY_NAME") 9 for target in l_targets.out()['data']: 10 t_pn = 'LifeCycle Status' 11 print "INFO: Setting Property name " + t_pn + " to value " + l_prop_val_to_set 12 print set_target_property_value(property_records=target['TARGET_NAME']+":"+target['TARGET_TYPE']+":"+t_pn+":"+l_prop_val_to_set) 13 else: ] 14 print "\n ERROR: Property value argument is missing" 15 print "\n INFO: Format to run this file is filename.py <username> <Database Target LifeCycle Status Property Value>"