Inhaltsverzeichnis
Cloud Control 12c - Wichtige emcli Befehle
Mit dem „emcli“ Werkzeug läßt sich ab 12.1.0.4 in drei Arten arbeiten:
- Standard Modus
- Interaktiv
- Script
Wird das „Advanced Kit“ vom OEM heruntergeladen, können mit jython (siehe ⇒ http://www.jython.org/) sehr mächtige Scripte erstellt werden.
emcli auf der lokalen Workstation installieren
Download vom OMS unter „Setup/Command Line“:
Von der folgenden Seite kann nun der „emcli“ Client geladen werden:
Installation unter Windows
Nach dem Herunterladen des Jar Files (in diesem Beispiel die Advanced Edition um das Scripting zu testen) wird mit Hilfe des Jarfiles emcli auf dem lokalen PC „ausgepackt“.
Pro OMS der mit dem Werkzeug bearbeitet werden soll, muss eine eigenen Installation erfolgen, daher zum Beispiel gleich zu Beginn eine passende Verzeichnisstruktur auf dem Windows Host aufbauen.
Emcli Verzeichnis anlegen:
D:\>mkdir D:\oracle\emcli D:\>mkdir D:\oracle\emcli\prod
Java Version testen
D:\>java -version java version "1.7.0_71"
emcli auspacken
java -jar C:\Users\gpipperr\Downloads\emcliadvancedkit.jar -install_dir=D:\oracle\emcli\prod Oracle Enterprise Manager 12c Release 4. .. Erweiterte EM CLI-Installation erfolgreich abgeschlossen. F³hren Sie "emcli help sync" aus dem EM CLI-Home (dem Verzeichnis, in dem Sie EM CLI installiert haben) aus, wenn Sie weitere Anweisungen ben÷tigen.
In das emcli Verzeichnis wechseln und Setup aufrufen:
cd D:\oracle\emcli\prod emcli setup -url="https://oraoms12c01:7803/em" -username=sysman -trustall Oracle Enterprise Manager 12c Release 4. ... Kennwort eingeben emcli Setup erfolgreich
emcli sync ausführen
emcli sync Synchronized successfully
Standard Modus Testen mit z.B.
emcli get_targets
Interaktiven Modus testen mit:
emcli Type help() for help and exit() to get out. emcli>help(); Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 3, in help File "D:\oracle\emcli\prod\emsh.jar\jython_lib\emcli\util.py", line 87, in do_verb_processing File "D:\oracle\emcli\prod\emsh.jar\jython_lib\emcli\response.py", line 12, in __init__ File "D:\oracle\emcli\prod\emsh.jar\jython_lib\emcli\util.py", line 118, in loadJson UnboundLocalError: local variable 'json_str_corrected' referenced before assignment
Fehler „UnboundLocalError: local variable 'json_str_corrected' referenced before assignment“ fixen:
??????Noch keine Lösung- muss ich wohl ein Support Anfrage bei Oracle starten …..??????
Am OMS anmelden (mit TRUSTALL werden Zertifikatsprobleme ignoriert):
emcli>set_client_property('EMCLI_OMS_URL','https://oraoms12c01:7803/em') emcli>set_client_property('EMCLI_TRUSTALL','true') emcli>login(username='sysman') Enter password : ********** Login successful emcli>get_targets(); Status Status Zieltyp Zielname -ID 1 Hochgefahren host oraoms12c01.pipperr.local ...... emcli>exit();
Zugriff überwachen
Nach dem erfolgreichen Ausführen eines Befehls über emcli werden alle Kommando Aufruf im OMS mitgeschrieben:
Beispiele für den Einsatz von emcli für die Verwaltung der OMS Umgebung
Oracle Home Settings nach einem Upgrade einstellen
Mit „emcli modify_targt“ können die Settings eines Targets angepasst werden.
Für das Oracle Home hießt die Propertiy OracleHome
Beispiel für eine RAC Umgebung:
emcli modify_target -name="GPIDB" -type="rac_database" -properties="OracleHome:/oracle/product/11.2.0.4" -on_agent emcli modify_target -name="GPIDB_GPIDB1" -type="oracle_database" -properties="OracleHome:/oracle/product/11.2.0.4" -on_agent emcli modify_target -name="GPIDB_GPIDB2" -type="oracle_database" -properties="OracleHome:/oracle/product/11.2.0.4" -on_agent
siehe ⇒ Oracle emcli Verb Reference modify_targt
Um die Namen der Properties eines Target Types auszulesen ist folgendes SQL hilfreich:
- get_target_properties.sql
--============================================================================== -- get all possible properties of a target Type --============================================================================== SET linesize 240 pagesize 400 recsep OFF define TARGET_TYPE = '&1' prompt prompt GET properites OF the target types IN the OEM Repostiory WITH a target prompt Parameter 1 = Target TYPE => &&TARGET_TYPE. prompt COLUMN target_type format a40 heading "Target Types" COLUMN property_name format a40 heading "Property | Name" SELECT property_name , target_type FROM mgmt$target_properties WHERE LOWER(target_type) LIKE LOWER('&&TARGET_TYPE') GROUP BY property_name , target_type ORDER BY property_name /
siehe auch get_target_properties.sql
emcli Ausgaben formatieren
Mit dem emcli Parameter „-format=„name:pretty“ | -format=„name:script“ lassen sich emcli Ausgaben formatieren.
emcli get_targets -format="name:pretty" Status Status Target Type Target Name ID 1 Up host oraoms12c01.pipperr.local versus emcli get_targets -format="name:script" Status ID Status Target Type Target Name
emcli SQL Abfragen
Mit dem sehr mächtigen „list“ Kommando lassen sich unter anderen auch eigene Abfragen auf den Repostitory durchführen.
emcli list -sql='select property_name, target_type from mgmt$target_properties' PROPERTY_NAME TARGET_TYPE execute_stack_max host file_sys_type_max host ...
Passwörter auf Remote Datenbanken anpassen
SQL auf einem Host ausführen
SQL auf einem Host ausführen
Agent Deployment
Scripting mit Jython und emcli
Für die ersten Schritte siehe auch die readme.txt in emcli Verzeichnis.
Einführung in das Thema:
Quellen
Oracle:
Im Web: