1. Start
  2. Unternehmen
  3. Blog
  4. EM CLI wird unterschätzt bei Cloud Control

EM CLI wird unterschätzt bei Cloud Control

Überblick

Die Enterprise Manager-Befehlszeilenschnittstelle (EM CLI) ermöglicht Administratoren den Zugriff auf Enterprise Manager-Funktionen über die Befehlszeilenschnittstelle. 
Sie können Aufgaben mit EM CLI mit den gleichen Privilegien wie mit der OEM-Konsole ausführen.  
In diesem Blogeintrag wird die Installation von EM CLI sowie die Agenteninstallation und das Target Discovery einer Datenbank mit EM CLI vorgestellt. 
 

Installation auf einem Client mit Linux

Die aktuelle Version ist mit der Installation auf dem OMS Host verfügbar. 
DIe Installation kann auch auf einem remote Hots  (z.B. Arbeitsplatzrechner) erfolgen.
Dazu findet man das Download von EM CLI in der Cloud Control Konsole:  

 

Installation EM CLI

Die Installation erfolgt in diesem Beispiel auf Linux.

Vorbereitung:  - Anlegen eines Zielordners
                         - JAVA_HOME definieren (JAVA Version der der Datenbank 19c kann genutzt werden)
                         - emclikit.jar  auf dem Zielhost im Zielordner speichern

 

$ export JAVA_HOME=/u01/app/oracle/product/19.0.0/dbhome_1/jdk

#-- Zielordner anlegen

$ mkdir /home/oracle/emcli

$ scp emclikit.jar /home/oracle/emcli

 

Installation von EM CLI:

 

$ $JAVA_HOME/bin/java -jar emclikit.jar -install_dir=/home/oracle/emcli

Oracle Enterprise Manager 13c Release 5.
Copyright (c) 2012, 2021 Oracle Corporation.  All rights reserved.

EM CLI client-side install completed successfully.
Execute "emcli help setup" from the EM CLI home (the directory where you have installed EM CLI) for further instructions.

 

Im nächsten Schritt erfolgt das Setup für den Administrator (hier ist der priviligierter Administrator: TESTUSER ):

 

$  cd /home/oracle/emcli
$ ./emcli setup  -url=https://OMS-HOST:PORT/em -username=TESTUSER
Oracle Enterprise Manager 13c Release 5.

Enter password 
. . .
Do you trust the certificate chain? [yes/no] yes
Emcli setup successful

#-- Kontrolle zur Umgebung  incl.Speicherort der  Log files  
$ ./emcli status
..
Instance Home          : /home/oracle/.emcli
. ..
Java Version           : 1.8.0_331
Log file               : /home/oracle/.emcli/.emcli.log
Log level              : SEVERE
EM URL                 : https://OMS-HOST:PORT/em
EM user                : testuser
... 

 

Nach der erfolgreichen Installation ist es hilfreich, EM CLI in den Path zu integrieren.
Mit "emcli help" kann die umfangreiche Hilfe genutzt werden. 

 

#-- in den PATH einbinden 

export PATH=$PATH:/home/oracle/emcli

#-- Anmeldung emcli

$ emcli login -username=testuser
Enter password : 

Login successful

 

 

Installation eines Agenten

Bevor ein Agent mit EM CLI installiert werden kann, muss ein Named Credential (Benutzername+Passwort) für den neuen Host hinterlegt werden.
Das kann grafisch, auch mit ssh Key oder mit EM CLI erfolgen. Diese Credentials werden defaultmäßig in der Repository Datenbank verschlüsselt abgelegt. 

 

#-- Anmeldung 
$ emcli login -username=TESTUSER
password:


#--Syntax: 
  emcli create_named_credential -cred_name=<Credential Name> -auth_target_type=host - 
  cred_type=HostCreds  -attributes="HostUserName:<USER>;HostPassword:<Password>"

#-- Beispiel named Credential für host01 und den Betriebssystem Benutzer oracle

 $ emcli create_named_credential -cred_name=nc_host01 -auth_target_type=host -cred_type=HostCreds  -attributes="HostUserName:oracle;HostPassword:oracle"

Credential NC_TESTHOST created

 

Die Installation des Agenten erfolgt aus der Software Library: 

 

# Syntax
emcli create_named_credential -cred_name=nc_xhost -auth_target_type=host -cred_type=HostCreds  -attributes="HostUserName:oracle;HostPassword:oracle"


$ emcli  submit_add_host -host_names="host01" -credential_name=NC_TESTHOST -installation_base_directory=/u01/app/oracle/agent -platform=226

#-- Hinweis: 226 = Linux64


$ emcli  submit_add_host -host_names="host01" -credential_name=NC_TESTHOST -installation_base_directory=/u01/app/oracle/agent -platform=226


#-- Kontrolle der Installation 
$ emcli get_add_host_status -session_name=ADD_HOST_TESTUSER_Nov_10_2022_1:26:38_PM_CET
OverAll Status : Initialization in Progress

Host              Platform Name  Initialization  Remote Prerequisite  Agent Deployment  
host01            Linux x86-64   Succeeded       Succeeded            In Progress         


#-- Agent installiert?

$ emcli get_targets  -targets="oracle_emd"
Status  Status           Target Type           Target Name                        
 ID                                                                               
1       Up               oracle_emd            host01:3872    

#-- als letzter Schritt noch root Skript ausführen

$ ssh root@host01
$ /u01/app/oracle/agent/agent_13.5.0.0.0/root.sh

Discovery einer Datenbank und eines Listeners

Das Discovery von Targets kann grafisch oder ebenfalls mit emcli erfolgen. 
Dabei gibt es zur Anzeige zwei Varianten: Entweder wird die SID der Datenbank angezeigt,
oder ein alternativer Anzeigename wird erstellt.
Das bietet eine Möglichkeit, Datenbanken mit längeren Namen besser zu unterscheiden.

Hinweis: Für das Discovery muss das Passwort für dbsnmp bekannt und der Account entsperrt sein.

Variante 1: Der Display Name im Cloud Control ist identisch mit der SID (hier für ORCL).

 

$ emcli add_target 
-name='ORCL' 
-type='oracle_database' 
-host='host01' 
-credentials='Role:NORMAL;UserName:DBSNMP;password:<Password>' 
-properties='SID:ORCL;Port:1521;OracleHome:/u01/app/oracle/product/21.0.0/dbhome_1;MachineName:host01'

Target "ORCL:oracle_database" added successfully

 

Variante 2: Der Display Name im Cloud Control soll MY_DEMOCDB sein und nicht identisch der SID (hier für ORCL). .

 

$ emcli add_target 
-name='MY_DEMOCDB' 
-type='oracle_database' 
-host='host01' 
-credentials='Role:NORMAL;UserName:DBSNMP;password:<Password>' 
-properties='SID:ORCL;Port:1521;OracleHome:/u01/app/oracle/product/21.0.0/dbhome_1;MachineName:host01'

Target "MY_DEMEOCDB:oracle_database" added successfully

 

Listener Discovery:

 

$ emcli add_target 
-name='LISTENER_1' 
-type='oracle_listener' -host='hsot01' -properties='LsnrName:LISTENER;ListenerOraDir:/u01/app/oracle/product/21.0.0/dbhome_1/network/admin;Port:1521;OracleHome:/u01/app/oracle/product/21.0.0/dbhome_1;Machine:host01'

Target "LISTENER_1:oracle_listener" added successfully

 

Targets überprüfen (Auszug):

 

$ emcli get_targets  -targets="oracle_database"
Status  Status           Target Type           Target Name                        
 ID                                                                            
1       Up               oracle_database       MY_DEMOCDB     -->  Display Name 


$ emcli get_targets  -targets="oracle_listener"
Status  Status           Target Type           Target Name                        
 ID                                                                               
1       Up               oracle_listener       LISTENER_1     -->  Display Name 

$ emcli get_targets  -targets="oracle_pdb"
Status  Status           Target Type           Target Name                        
 ID      
1       Up               oracle_pdb            MY_DEMOCDB_PDB1                        
1       Up               oracle_pdb            MY_DEMOCDB_CDBROOT        

Löschen von Targets

Mit EM CLI können einzelne Targets oder ein Agent mit allen von ihm überwachten Targets gelöscht werden.

 

#-- Löschen einer Datenbank 

$  emcli delete_target -name="MY_DemoCDB" -type="oracle_database"
Target "MY_DemoCDB:oracle_database" deleted successfully


#-- Löschen eines Agenten mit allen targets

$ emcli delete_target  -name="host01:3872"  -type="oracle_emd"  -delete_monitored_targets -async

Zusammenfassung

In diesem Beitrag wurden die ersten Beispiele für den Einsatz mit EM CLI gezeigt.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich