Implement VM Virtual Box for OEM 13c

Tags

,

Oracle has released a nicely packaged, preconfigured OEM 13c environment for us to play with inside Oracle Virtual Box.  The VM comes with an installed repository database, a management server, and a local agent.  Great starting place.

Download the zip files from http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/oem-templates-2767917.html.

OVB_13c_01.png

Lets walk through items c-f since the instructions aren’t super clear.

Item c:  Uncheck ‘Programs’ when edelivery brings up this page

OVB_13c_03.png

Item d:  Start typing Oracle VM Virtual Box for Oracle Enterprise Manager Cloud Control until the list appears.  Select the item highlighted below.

OVB_13c_04.png

Item e is extraneous, since the platform is already selected for you.  Select the latest release on the next screen (there’s only one release as I write this post).

Review and accept the license agreement

OVB_13c_05.png

We’ve finally arrived at the download page.  Hit the Download All button and find something else to do for a while.  The Download Manager will restart downloads for you if your local machine goes to sleep.

OVB_13c_06

I created a separate download folder for this download, and it turned out to be handy for the next step which is unzip all the downloaded files.

OVB_13c_07

Being conscientious professionals, we’ll start by reading the README file.  I pasted it here so you’d have an idea what to expect.  In a nutshell:

  1. Combine all the ova files into one file
  2. Import the appliance
  3. Start it and use it.  Passwords for everything is welcome1

BTW:  I increased the VM’s memory to 10GB to make the VM run a little better.

The first thing I did when I opened the VM was create a desktop shortcut to a terminal app, in this case it’s Konsole.  I’m not a KDE user, so I guessed my way through it:

  1. Right click on the desktop
  2. Create New | Link to Application
  3. Hit the Application tab, then browse to /usr/bin to find konsole

You can also got through the Launcher, find the application in the list, and create a shortcut from in there.  That’s what I did to get Mozilla on the desktop.

Open that terminal and execute ./start_all.sh to get it all started.  Open a second terminal and run top to see how hard this VM has to work to get things started.

One last thing:  After you’ve started the VM, run stop_all.sh first and then run start_all.sh to get a nice, clean start on everything including the OMR.

OVB_13c_08.png

 

 

 

 

 

Smart Connections with BetterTouchTool

Tags

,

Terminal applications like iTerm2 are a great way to improve your efficiency when connecting to a remote host on your Mac.  As I started making my own shortcut keys I hit the wall.

When I have an OEM agent to check, I’ll log into the box, sudo to the binary owner, go the agent bin directory, and execute emctl status agent.

Here’s the wall:  Shortcut keys from iTerm could change directory and execute a command, but each step needs its own shortcut. I want one keystroke to get me there and give me a status.

This is where BetterTouchTool comes in.

The first step is to define the application the action will work with in the left panel.  Hit the + button and select iTerm from the list.

btt_01

In the right-hand panel press Add New Shortcut and give it a shortcut key.

btt_02

Under the Predefined Actions drop-down, open the Utility Actions group and select Paste Custom Text.  Type your text into the pop-up.

btt_07

This is where the magic happens.  Press the Attach Additional Action button and tell it you want to record a keystroke.  Hit the Enter key.

btt_03

Repeat that sequence for each additional task

  • Trigger predefined action
  • Paste Custom Text (./emctl status agent)
  • Trigger another keyboard shortcut for a hard return …

 

BTW:  The tab for Attach Additional Action may be greyed-out.  Select it anyhow.

 

 

 

 

 

Actively Manage Your OMR with EMDIAG

Tags

,

Oracle provides the OMR analysis tools EMDIAG and repvfy so we can perform detailed management repository analysis and maintenance just like the pros.

Kellyn has her typical clear instructions on how to install the tools at http://dbakevlar.com/2013/02/using-the-em-diagnostic-kit-with-em12c/.

Werner de Gruyter (Yoda), the father and caretaker for EMDIAG, has provided a custom Information Publisher report that you can use to manage your system on a regular basis.

Create EMDIAG Report

EM CLI allows you to create an IP report by importing an XML definition of the report.  Create and save the XML file listed at the bottom of this post and execute the following EM CLI commands to create this report:

emcli login -username=sysman
emcli sync
emcli import_report -files=rpt_last_run.xml

This Information Publisher report can be found under a new EMDIAG category.

emdiag_report2

Because I’m me, I had to make a couple changes to the report:  scheduled it for weekly refresh (emailed to my team each Sunday), added it to my Public Reports page, and switched the bottom two sections of the report so the Top Five appears above the complete listing.

Run repvfy Regularly

That gets you halfway there – the report shows results the latest run of repvfy, so you need to keep it current.  I’ve cronned this simple script on one of my OMR database servers:

#!/bin/bash
# ------------------------------------------------------------------------
# File name = refresh_repvfy.sh
# Purpose = Update OMR health status analysis
# Paramenters = None
# ------------------------------------------------------------------------
export ORACLE_HOME=/home/oracle/product/11.2.0.4
export EMDIAG=${ORACLE_HOME}/emdiag
# Cleanup logs from older executions
find ${EMDIAG}/log/repvfy* -type f -mtime 2 -exec rm -f {} \;
# Execute the program
${EMDIAG}/bin/repvfy diag all

I have it scheduled to run daily.

The Report

The report consists of four sections: EMDIAG Details, Scorecard, Violations, and the Top Five Violations in each category.

In order to use this report effectively you need to understand that the ‘Test’ numbers indicate the priority/importance of the individual test.  Tests in the 1000 series have more impact than tests in the 8000 series, etc.  Click on the column heading to sort tabular data.

emdiag_report

 

File rpt_last_run.xml

<?xml version = '1.0' encoding = 'UTF-8'?>
<ReportDefinition title="EMDIAG - Results of Last Run" internal_only="0" system_report="0" category="EMDIAG" sub_category="Diagnostics" show_navigation="0" generate_context="0" add_toc="0" product_name="EM" is_jit_multi_target="0" is_jit_target="0" style="BLAF" oms_version="12.1.0.2.0" xmlns="http://www.oracle.com/DataCenter/ReportDefinition">
 <ReportWideParameters parameterName="oracle.sysman.eml.ip.render.elem.TimePeriodOption" parameterValue="false"/>
 <ReportWideParameters parameterName="oracle.sysman.eml.ip.render.elem.TimePeriodParam" parameterValue="0:0"/>
 <ReportWideParameters parameterName="oracle.sysman.eml.ip.render.elem.TimezoneRegion" parameterValue="PST8PDT"/>
 <ReportWideParameters parameterName="oracle.sysman.eml.ip.render.elem.TimePeriodUserCust" parameterValue="false"/>
 <ReportElement element_row="1" suppress_render="0" element_name_nlsid="IPMSG_USER_TABLE_FROM_SQL" element_type_nlsid="IPMSG_ANY_TARGET_TYPE" element_order="0">
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.maxNumberOfRowsAllowed" parameterValue="10"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql" parameterValue="false"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.headerParam" parameterValue="EMDIAG Details"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatement" parameterValue="SELECT component,info FROM sysman.em$diag_info_ext UNION ALL SELECT 'Last Run' component,TO_CHAR(last_verify,'DD-MON-YYYY HH24:MI:SS') info FROM sysman.em$diag_config_ext"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.numRowsToShow" parameterValue="10"/>
 </ReportElement>
 <ReportElement element_row="1" suppress_render="0" element_name_nlsid="IPMSG_USER_TABLE_FROM_SQL" element_type_nlsid="IPMSG_ANY_TARGET_TYPE" element_order="1">
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.maxNumberOfRowsAllowed" parameterValue="10"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql" parameterValue="false"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.headerParam" parameterValue="Scorecard"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatement" parameterValue="SELECT category,TO_CHAR(DECODE(SIGN(100-SUM(score)),-1,0,100-SUM(score)),'90.90') score,COUNT(*) tests,SUM(cnt) violations FROM sysman.em$diag_latest_score_ext WHERE category!='Other' GROUP BY category ORDER BY category"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.numRowsToShow" parameterValue="10"/>
 </ReportElement>
 <ReportElement element_row="2" suppress_render="0" element_name_nlsid="IPMSG_SEPARATOR" element_type_nlsid="IPMSG_NO_TARGET_TYPE" element_order="2"/>
 <ReportElement element_row="3" suppress_render="0" element_name_nlsid="IPMSG_USER_TABLE_FROM_SQL" element_type_nlsid="IPMSG_ANY_TARGET_TYPE" element_order="3">
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.maxNumberOfRowsAllowed" parameterValue="2000"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql" parameterValue="false"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.headerParam" parameterValue="Violations"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatement" parameterValue="SELECT module,TO_CHAR(id,'0000') test,label,vfy_cnt violations FROM sysman.em$diag_latest_results_ext ORDER BY module,id"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.numRowsToShow" parameterValue="50"/>
 </ReportElement>
 <ReportElement element_row="4" suppress_render="0" element_name_nlsid="IPMSG_SEPARATOR" element_type_nlsid="IPMSG_NO_TARGET_TYPE" element_order="4"/>
 <ReportElement element_row="5" suppress_render="0" element_name_nlsid="IPMSG_USER_TABLE_FROM_SQL" element_type_nlsid="IPMSG_ANY_TARGET_TYPE" element_order="5">
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.maxNumberOfRowsAllowed" parameterValue="50"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql" parameterValue="false"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.headerParam" parameterValue="Top-5 Violations per Category"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.sqlStatement" parameterValue="SELECT category,module,TO_CHAR(id,'0000') test,label,TO_CHAR(score,'90D0') score,cnt violations FROM (SELECT category,module,id,label,ROUND(score,1) score,cnt,rank() OVER (PARTITION BY category ORDER BY score DESC) rk FROM sysman.em$diag_latest_score_ext) WHERE rk&lt;6 AND category!='Other' ORDER BY category,score DESC,cnt,module,id"/>
 <ReportElementParameters parameterName="oracle.sysman.eml.ip.render.elem.TableRender.numRowsToShow" parameterValue="25"/>
 </ReportElement>
</ReportDefinition>


Changing OEM BI Publisher Host

Tags

,

Changing the name of the server or load-balancing server handling your BI Publisher workload for OEM can be done with a single EM CLI command.  The values you need to know are:

  • Protocol, either http or https
  • The host or LBS name
  • The BIP port
emcli login -username=sysman
emcli sync
emcli setup_bipublisher -protocol=https -host=demo_oms01.demo.com -port=9702 -uri=xmlpserver -force
BI Publisher "https://demo_oms01.demo.com:9702/xmlpserver" has been registered for use with Enterprise Manager and the Enterprise Manager Oracle-provided Reports have been deployed to the Shared folder "/Enterprise Manager Cloud Control".

What’s Inside an EM Agent Upload

Tags

, , , ,

OEM agents on each host upload data to your management servers every few minutes.

Here’s how you can see exactly what your agent has uploaded.  First, enable local backups of the uploaded files with:

emctl setproperty agent -name 'backupUploadedFiles' -value 'true'

Then bounce the agent and perform an upload like this:

emctl reload agent
emctl upload agent

Look in your ../agent_inst/sysman/emd/upload/upload/succbkup/ directory (I snickered a little when I saw the directory name, too) for a numbered subdirectory.  If that directory doesn’t exist execute the upload agent command again and then check for the subdirectory.  As soon as you’ve confirmed the existence of a subdirectory is there, turn off the upload backup before you forget.

emctl setproperty agent -name 'backupUploadedFiles' -value 'false'
emctl reload agent 
emctl upload agent

You’ll see something that looks like this in those files:

<?xml version="1.0" encoding="UTF-8"?><UP OPV="12.1.0.1.0" MTS="2015-09-24T09:41:44.224-07:00" EU="https://demodb475.demo.com:3872/emd/main/" UT="metadata"><MD MT="DynamicProperties" TI="TARGET_GUID=866AB07AE9F11C0C5F58FCE7CFEE12F1" TN="SAMPLE_RO1_SAMPLE_1" TT="oracle_database"><PL>&lt;Target TYPE=&quot;oracle_database&quot; NAME=&quot;SAMPLE_RO1_SAMPLE_1&quot; DISPLAY_NAME=&quot;SAMPLE_RO1_SAMPLE_1&quot; ON_HOST=&quot;&quot; EMD_URL=&quot;https://demodb475.demo.com:3872/emd/main/&quot; TIMEZONE_REGION=&quot;&quot; TYPE_DISPLAY_NAME=&quot;Database Instance&quot; IDENTIFIER=&quot;TARGET_GUID=866AB07AE9F11C0C5F58FCE7CFEE12F1&quot;&gt;
 &lt;Property NAME=&quot;MetricScope&quot; VALUE=&quot;RACINST&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;DBVersion&quot; VALUE=&quot;11.2.0.4.0&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;VersionCategory&quot; VALUE=&quot;11gR202&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;RACOption&quot; VALUE=&quot;YES&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;DataGuardStatus&quot; VALUE=&quot;Physical Standby&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;CDB&quot; VALUE=&quot;NO&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;FullLLFile&quot; VALUE=&quot;TRUE&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;DBCategoryDetails&quot; VALUE=&quot;FullLLFile&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;umask_setting_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;log_archive_dest_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;log_archive_dest_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;log_archive_duplex_dest_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;log_archive_duplex_dest_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;oh_bin_files_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;oh_files_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;oh_exebin_files_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;utl_file_dir_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;utl_file_dir_9i_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;oh_ifile_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;initora_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;spfile_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;audit_file_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;user_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;background_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;core_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;osauth_prefix_domain_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;trace_files_public_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;remote_listener_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;audit_trail_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;os_authent_prefix_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;sql92_security_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;db_link_global_name_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;audit_syslog_level_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;remote_os_roles_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;remote_os_authent_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;remote_login_passwordfile_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;tkprof_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;otrace_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;sqlplus_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;tkprof_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;sqlplus_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;webcache_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;webcache_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;snmp_ro_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;snmp_ro_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;snmp_rw_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;snmp_rw_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;wdbsvr_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;wdbsvr_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;htperm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;htowner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;xsql_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;xsql_owner_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;win_plat_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;drive_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;domain_user_grp_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;win_tools_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_tkprof_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_sqlplus_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_webcache_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_snmp_ro_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_snmp_rw_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_wdbsvr_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_htperm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_xsql_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_audit_file_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_user_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_background_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_core_dump_dest_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_oh_ifile_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_log_archive_dest_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_log_archive_duplex_dest_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_oh_exebin_files_perm_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_spfile_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_initora_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;db_link_pwd&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;dba_ts_quotas&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_life_time&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_reuse_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_reuse_time&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_lock_time&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_grace_time&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;well_known_ac&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;default_pwd&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;pub_sys_priv&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;failed_login_at&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;db_data_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;db_control&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_aud_table_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_user_history_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_source_table_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_link_table_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_user_table_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_sql_text_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_sql_summary_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_all_source_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_dba_roles_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_dba_sysprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_dba_roleprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_dba_tabprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_dba_users_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_role_roleprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_user_tabprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;access_user_roleprivs_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;public_execute_UTL_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;password_complexity_fn&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;public_execute_UTL_TCP_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;public_execute_UTL_HTTP_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;public_execute_UTL_SMTP_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;select_table_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;select_privilege_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;proxy_account_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;insert_failure_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_db_data_perm&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;nt_db_control&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;catalog_roles_max&quot; VALUE=&quot;25&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;DBName&quot; VALUE=&quot;SAMPLE_RO1&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;InstanceName&quot; VALUE=&quot;SAMPLE_1&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;StartTime&quot; VALUE=&quot;2015-09-23 19:50:56&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;TimeFormat&quot; VALUE=&quot;YYYY-MM-DD HH24:MI:SS&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;Version&quot; VALUE=&quot;11.2.0.4.0&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;TimedStatistics&quot; VALUE=&quot;TRUE&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;OpenMode&quot; VALUE=&quot;READ ONLY WITH APPLY&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;RACInstNum&quot; VALUE=&quot;1&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;CPUTimingEnabled&quot; VALUE=&quot;TRUE&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;StatisticsLevel&quot; VALUE=&quot;TYPICAL&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;VersionBanner&quot; VALUE=&quot;Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;MCSpInst&quot; VALUE=&quot;0&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;MCResponse&quot; VALUE=&quot;3&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;MCPkg&quot; VALUE=&quot;2&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;background_dump_dest&quot; VALUE=&quot;/x/home/oracle/diag/rdbms/sample_ro1/SAMPLE_1/trace&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;core_dump_dest&quot; VALUE=&quot;/x/home/oracle/diag/rdbms/sample_ro1/SAMPLE_1/cdump&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;user_dump_dest&quot; VALUE=&quot;/x/home/oracle/diag/rdbms/sample_ro1/SAMPLE_1/trace&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;log_archive_mode&quot; VALUE=&quot;ARCHIVELOG&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;alert_log_file&quot; VALUE=&quot;/x/home/oracle/diag/rdbms/sample_ro1/SAMPLE_1/trace/alert_SAMPLE_1.log&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;CPUCount&quot; VALUE=&quot;128&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;OSMInstance&quot; VALUE=&quot;+ASM1&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;ConvertFromCharset&quot; VALUE=&quot;UTF8&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;needCharsetConvert&quot; VALUE=&quot;TRUE&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;AdrBase&quot; VALUE=&quot;/x/home/oracle&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;AdrHome&quot; VALUE=&quot;/x/home/oracle/diag/rdbms/sample_ro1/SAMPLE_1&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;Property NAME=&quot;DbBlockSize&quot; VALUE=&quot;8192&quot; IS_DYNAMIC=&quot;TRUE&quot;/&gt;
 &lt;CompositeMembership&gt;
 &lt;MemberOf TYPE=&quot;rac_database&quot; NAME=&quot;SAMPLE_RO1&quot;/&gt;
 &lt;/CompositeMembership&gt;
&lt;/Target&gt;
</PL></MD></UP>

Forcing OEM Target Detail Discovery

Tags

, , ,

The Problem – Missing Target Details

I was evaluating an Information Publisher report containing data about host targets. The report is based on the sysman.mgmt$os_hw_summary view that contains all sorts of information about your hosts.  It is an excellent data source for Information Publisher reports.  Unless the data is missing.

One of my hosts didn’t appear in that view, even though the host’s console page appeared healthy.  Then I looked at the details.  Instead of looking like this:

refresh_config0

.. it looked like this:

refresh_config00

None of the details related to the host were there!  Regardless of its cause, important data about this target was not known to OEM and my report was incomplete.

The Fix

You can manually collect those missing details by starting from the drop-down on the host’s home page.  Select Last Collected from the Configuration item on the drop-down.

refresh_config1

On the Last Collected page,  pull down the Actions menu with its flashy green gear and select Refresh to force the agent to rediscover all the details about the target and then upload that new knowledge into the repository.

refresh_config3

refresh_config4

After my refresh all of the data appeared on the home page and the host appeared in the report that started this whole event.

Force EM Target Discovery

You can correct incomplete target discovery on a host by using the emctl config agent command.

  1. Get a list of the existing targets known to the agent: emctl config agent listtargets
  2. Force a fresh search:             emctl config agent addInternalTargets
  3. Bounce the agent:                 emctl stop agent; emctl start agent
  4. View your new list of targets: emctl config agent listtargets
  5. Upload to the OMR:               emctl upload agent

How to Remove an Exadata Server from OEM

Just like everything else in Enterprise Manager, an Exadata is a target and all of its components are targets.  All of these pieces can be removed through the 12c console.

Select Exadata from the bottom of the main Targets drop-down to display a list of Database Machines in your environment.  Highlight the row containing the subject machine and press the Big Red X to take you into the detail page.

remove_exadata_01

The left panel shows you the individual components effected by this change. Leave that panel highlighted at the DB Machine level to remove everything.

remove_exadata_02

The right-hand panel is quite straight-forward.  The default action is to Remove all members of the Oracle Exadata Machine.  You can also select individual components for removal from this screen.

Check the box to Unsubscribe SNMP subscriptions if you have any configured.

remove_exadata_03

Set the credentials for both the Storage Server and Infiniband Switch.  Both of them will require root.

remove_exadata_04 remove_exadata_05

That’s all there is to it.   Remember that metrics are gathered and stored in your OMR repository database for each of those targets, so the target removal transactions can take a while to process.  For instance, the machines I removed had been in production for over four years and target removal on a hefty OMR database took about thirty minutes each.

This is kind of a rare event, so I thought I’d share it with you.

Follow

Get every new post delivered to your Inbox.

Join 345 other followers