The document discusses using the Enterprise Manager Command Line Interface (EM CLI) to automate tasks in Oracle Enterprise Manager 12c. It provides an overview of the EM CLI's history and capabilities. It then demonstrates some basic EM CLI commands for checking incidents, retrieving target information, managing agents, creating blackouts, executing commands, and submitting procedural scripts. The presentation aims to introduce administrators to the EM CLI and how it can simplify managing large enterprise environments.
2. About Me
Kellyn Pot’Vin,
Westminster, Colorado
Oracle ACE Director, Sr. Technical Specialist at
Enkitec
Finishing up EM12c book and starting EM CLI book
Specialize in performance and management of large
enterprise environments.
Board of directors for RMOUG, Director of Training
Days Conference, KSCOPE DB Track Lead 2013
Blog: DBAKevlar.com
Twitter: @DBAKevlar
3. Challenges of Topic
What to Include?
What to Exclude?
What are the most important areas of the EM
CLI?
What commands are best covered to create the
best educational introduction to the topic?
4. Agenda
Enterprise Manager Command Line Interface
History
How EM12c has changed level of knowledge
requirements for the administrator
The Command Line Interface Basics
Enterprise Manager commands
EM CLI Procedure Scripting
5. EM CLI
Introduced in Oracle 9i with very limited use.
Access to EM functionality from text based
consoles.
Ability to incorporate scripts, including SQL*Plus,
Perl, Shell, Python, etc.
Fully integrated as part of the EM environment,
including same security.
Ability to simplify multi-target tasks through
command line interface.
6. What We Can Do-
Create Jobs, schedule jobs, delete jobs
Administer groups, members, targets
Administer users and credentials.
Upload patches, delete patches-create patch
plans.
Execute host and SQL commands.
Get information about all targets, monitoring.
Over 30 verb “groups” and 250 commands that
I have documented “so far”.
7. EM CLI Terminology
EM CLI Login- Online or Offline?
“Verbs” grant the administrator initial
commands for the interface.
May Require one or more arguments.
Can utilize a argument file, aka properties file.
Syntax often changes with version of Enterprise
Manager.
emcli help <verb>
8. Must be Logged in…
The Command Line must be logged into for the first
time before commands will be accepted, (login
dependent upon EM security time out feature or
connection mode.)
emcli login –username=<username>
Syncronize the EMCLI with the OMS:
emcli sync
9. Unless You Set to “Offline”
Check connection mode, if complete, then offline
the EM CLI
emcli get_connection_mode
emcli set_connection_mode -mode="offline“
emcli get_jobs
Set back to online mode if wanting to proceed.
12. Common Verbs(aka arguments)
get_resolution_states - Incident Information
stop/start_agent - Manage Agents
create/stop_blackout - Manage Blackouts
clone_database_home - Clone home
execute_sql - Execute SQL
get_jobs - Get a list of jobs
clear_stateless_alerts - Clears stateless
alerts
Argfile: File of verbs to execute from the emcli.
13. Agenda: Baby Steps
EM CLI for EM12c support
● Checking Incidents
● Retrieve Targets Monitored
● Retrieve Agent Properties
● Agent Deployment
● Platform support
● Creating/Stopping Blackouts
● Executing Host Commands
19. Final Configuration of Target
emcli set_credential
-target_type=oracle_database
-target_name="<preferred_nm>"-
credential_set=DBCredsMonitoring -
user=sysman
-
column="Role:SYSDBA;UserName:sys;passwor
d:<passwd>"-monitoring
20. Tips For Success
Save off Templates
Inventory Existing Jobs
Create secure credentials for targets
Create administrator groups to ease
administration.
Reuse templates, post creating first one, easy
updates!
21. Create a Blackout
emcli create_blackout -name="Linux
Patch 120612" -reason="Needs to be
Done"
-add_targets="emrep12:oracle_databas
e" -schedule="duration::60“
How fast could you blackout an entire
environment for maintenance window with
this scripted?
22. Stop Blackout
Simply state the name of the blackout and the
agent will issue a stop to the OMS:
emcli stop_blackout
-name="Linux Patch 120612“
How quickly could you end a blackout of
environment post maintenance?
25. Why jobs from EM CLI?
Simplify management of large number of
targets with simple script vs. multiple steps
through EM12c console.
This simplicity includes creating, managing,
editing and purging of jobs and patching job
tasks.
Retain EM12c security and single console
monitoring if required.
26. Verify Details of Job Execution
Need to verify job information
emcli get_jobs
27. Details Based off Execution
emcli get_job_execution_detail
-execution=C07388B855B44C38B5953B8C3
C7C6A5E -xml
28. Patching Simplified through the EM CLI
Assumption is that patches are downloaded via
EM12c.
Process:
● Verify Patch Available.
● Create Patch Plan
● Schedule Patches in Patch Plan
● Deploy Patch Plan
29. Power of List_aru_xx cmds
list_aru_languages -- List ARU Language
information.
list_aru_platforms -- List ARU platform
information.
list_aru_products -- List ARU Product information.
list_aru_releases -- List ARU Release
information.
list_patch_plans -- List existing Patch Plans.
search_patches -- Search patches from ARU
site or Software
30. Search Available Patches
emcli search_patches
-patch_name="patch number"
-platform="platform id“
emcli search_patches
–patch_name=“5875660” (BI Publisher)
–platform=“233” (Windows 64 bit)
31. Procedural Scripting in EM CLI
Multi-step, multi-tasked or chained scripting
through the EM CLI.
Ability to execute SQL, Perl, OS Commands
from one procedure.
Ability to use properties file to simplify work and
reuse with other procedures.
EM Console access through Job Activity
Interface.
32. Submitting an EM CLI procedure
emcli submit_procedure
-name='<Procedure Name>'
-input_file="<data:path to file>"
-instance_name="<Procedure
Instance>"
-schedule=start_time:yyyy/mm/dd
HH:mm;
33. Example of Submit Procedure- EM Job
emcli submit_procedure
-input_file=data:data.xml
-procedure=3D7F4D139E70453CB56D7621
BB56D390
-schedule="start_time:2012/12/03
21:00; tz:America/Central"
-grants="KPOTVIN:VIEW_JOB;
SYSMAN:FULL_JOB"
-notification="action required,
failed"
34. Properties Files
Create a template to use for your new
properties file, sourced from a procedure
definition.
Fill in all pertinent information for the target
lists.
Submit the procedure, using the properties file
as part or whole of the entry at the command
line.
Verify all was successful.
35. Get the Procedure Name
emcli get_procedures –type=DBPROV
Example Output:
$>BFC71D3485629B93E04014AC08001B7D,
DBPROV, DBREPLAYCLIENTDP_NG,
Provision Oracle Database Client,
6.2, ORACLE
BFC71D3485599B93E04014AC08001B7D,
DBPROV, SIHA_SIDB_PROC, Provision
Oracle Database, 1.1, ORACLE
36. Creating a Template
Using the GUID, (or the procedure <NAME>, we
can then generate a properties file template:
emcli describe_procedure_input –
procedure=
BFC71D3485629B93E04014AC08001B7D >
dbreplay_tst.properties
$> Verifying parameters…
$>
37. Updating with a New Target
Edit the new template properties file and add the
new values for the following:
$ vi dbreplay_tst.properties
Source and Reference Host Data
Agent Info
Oracle Home
Credentials
40. Verify from EM CLI
emcli get_instance_status
-instance=C23E10B1F427B4EEE040578CD7
4442G4
-details -showJobOutput
Output:
C23E10B1F427B4EEE040578CD74442G4
, test_job, test_job, SUCCESSFUL
41. Want to Read More?
Rob Zoeteweij, Patching with EM12c
http://oemgc.wordpress.com/tag/oem-gc-12c/
Laurent Leturgez, Useful EMCLI Commands
http://laurentleturgez.wordpress.com/2012/06/11/
useful-emcli-commands-in-em-cloud-control-12c/
Laurent Schneider, The EM CLI
http://laurentschneider.com/wordpress/2011/11/e
nterprise-manager-command-line-interface.html