Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
The Enterprise Manager
Command Line Interface
Kellyn Pot’Vin
Sr. Technical Consultant Enkitec
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
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?
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
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.
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”.
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>
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
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.
EM CLI Syntax
emcli
<verb>
1st_argument[-name, -procedure,
-instance, -guid, -argfile,
-input_file, -type, -targets,
-action…] = <value>
2nd_argument [-xml, -tailLength,
-info, -analyze, -grants,
-scheduler, -notification] = <value>
Redirection
 Redirection example of output, (similar to Unix):
emcli get_procedure_xml –
procedure=“PROC_GUID” >
test_proc.xml
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.
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
Checking the Incidents in EM12c
emcli get_resolution_states
Simple EM CLI Command
 What database targets are being monitored, both
single instance and RAC?
emcli get_targets -targets="%database%"
What’s Platforms are Supported?
emcli get_supported_platforms
Download for Agent Deploy
emcli get_agentimage
-destination=/home/oracle
-platform="Microsoft Windows x64
(64-bit)" –version="12.1.0.1.0"
Agent Deployment Steps
emcli get_targets
emcli delete_target –name="<trg_nm>“
emcli import_update –file="file_nm"
–omslocal
emcli deploy_plugin_on_server
-plugin=oracle.sysman.db –
sys_password=<passwd>
emcli deploy_plugin_on_agent –
plugin="oracle.sysman.db" –
agent_name="<dbname>:<port>"
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
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!
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?
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?
“get_blackout_reasons”
Executing Host Commands
emcli execute_hostcmd –cmd=“ls
-ltr /home/oracle”
-credential_set_name=“HostCredsPriv”
-targets=“<host>.com:host”
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.
Verify Details of Job Execution
 Need to verify job information
emcli get_jobs
Details Based off Execution
emcli get_job_execution_detail
-execution=C07388B855B44C38B5953B8C3
C7C6A5E -xml
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
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
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)
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.
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;
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"
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.
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
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…
$>
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
Kscope emcli kpotvin
Submit your Procedure with Properties
File
emcli submit_procedure –
name=test_dbrpl_job
-owner=sys_jobs
-procedure=
C23E10B1F427B4EEE040578CD74442G4
-
input_file=/u01/emjobs/emcli/dbreplay_tst.
properties
-notification="action required, failed"
-grants=“KPOTVIN:VIEW_JOB;
SYSMAN:FULL_JOB"
-schedule= "start_time:2012/12/06
01:00:00; tz:America/Denver"
Verify from EM CLI
emcli get_instance_status
-instance=C23E10B1F427B4EEE040578CD7
4442G4
-details -showJobOutput
Output:
C23E10B1F427B4EEE040578CD74442G4
, test_job, test_job, SUCCESSFUL
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
Thank you!
http://enkitec.com
http://dbakevlar.com
dbakevlar@gmail.com
kpotvin@enkitec.com

More Related Content

Kscope emcli kpotvin

  • 1. The Enterprise Manager Command Line Interface Kellyn Pot’Vin Sr. Technical Consultant Enkitec
  • 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.
  • 10. EM CLI Syntax emcli <verb> 1st_argument[-name, -procedure, -instance, -guid, -argfile, -input_file, -type, -targets, -action…] = <value> 2nd_argument [-xml, -tailLength, -info, -analyze, -grants, -scheduler, -notification] = <value>
  • 11. Redirection  Redirection example of output, (similar to Unix): emcli get_procedure_xml – procedure=“PROC_GUID” > test_proc.xml
  • 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
  • 14. Checking the Incidents in EM12c emcli get_resolution_states
  • 15. Simple EM CLI Command  What database targets are being monitored, both single instance and RAC? emcli get_targets -targets="%database%"
  • 16. What’s Platforms are Supported? emcli get_supported_platforms
  • 17. Download for Agent Deploy emcli get_agentimage -destination=/home/oracle -platform="Microsoft Windows x64 (64-bit)" –version="12.1.0.1.0"
  • 18. Agent Deployment Steps emcli get_targets emcli delete_target –name="<trg_nm>“ emcli import_update –file="file_nm" –omslocal emcli deploy_plugin_on_server -plugin=oracle.sysman.db – sys_password=<passwd> emcli deploy_plugin_on_agent – plugin="oracle.sysman.db" – agent_name="<dbname>:<port>"
  • 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?
  • 24. Executing Host Commands emcli execute_hostcmd –cmd=“ls -ltr /home/oracle” -credential_set_name=“HostCredsPriv” -targets=“<host>.com:host”
  • 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
  • 39. Submit your Procedure with Properties File emcli submit_procedure – name=test_dbrpl_job -owner=sys_jobs -procedure= C23E10B1F427B4EEE040578CD74442G4 - input_file=/u01/emjobs/emcli/dbreplay_tst. properties -notification="action required, failed" -grants=“KPOTVIN:VIEW_JOB; SYSMAN:FULL_JOB" -schedule= "start_time:2012/12/06 01:00:00; tz:America/Denver"
  • 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