• About
  • Home
  • Oracle Enterprise Manager

Musings

~ Things I see and learn!

Tag Archives: oracle enterprise manager

Create Database using EMCLI Verbs

21 Saturday Oct 2017

Posted by adeeshfulay in Deployment Procedures, emcli, oracle enterprise manager, Provisioning

≈ Leave a comment

Tags

Automation, create database, deployment procedures, em12c, emcli, oracle enterprise manager, provisioning

Found this blog saved but unpublished. Posting it only 4 yrs late.

Quick note on running deployment procedures (DPs) using EMCLI verbs. Here we use the example of creating databases.

1. Run the DP once from the UI

2. Capture the data from this instance run

emcli get_instances -type=DBPROV

-> copy execution guid from your instance run

emcli get_instance_data -exec=<exec_guid> > instanceData.properties

3. Now modify the values in the properties file

4. submit the procedure with the modified properties file

emcli submit_procedure -input_file=data:modified-instanceData.properties -procedure=<procedure guid> -instance_name=emcli_test1

This will spit out output like:

Schedule not specified, defaults to immediate.

04CE42977F071862E0535C56F20A6A8F

Deployment procedure submitted successfully

5. Check status of DP using the instance ID printed below.

emcli get_instance_status -instance=04CE42977F071862E0535C56F20A6A8F

Here are the documentation links:

Provisioning Using EM CLI

https://docs.oracle.com/cd/E24628_01/em.121/e27046/emcli.htm#EMLCM12428

Example: Provisioning Oracle Database Software

https://docs.oracle.com/cd/E24628_01/em.121/e27046/emcli.htm#EMLCM11997

Advertisement

Monitoring NFS mounted file systems using EM12c

24 Monday Nov 2014

Posted by adeeshfulay in host management, oracle enterprise manager

≈ 4 Comments

Tags

em12c, host management, monitoring, nfs, oracle enterprise manager

A customer recently asked me how they could monitor and alert against all the NFS mounted file systems across their datacenter. Here is a quick guide to do the same.

A. Lets say for starters, all you want to do is view details of all NFS mounted file systems on a single Host target.

Solution:

Navigate to the Host target home page. Access the menu item Host->Storage Details. Switch to the file systems tab and filter the list by NFS. You can now happily view used and total sizes of your file systems.

nfs storage details

B. Now you want to list details of all your NFS mounted file systems across all Host targets.

Solution:

The best way to do this would be to create a report using the published repository view called ‘MGMT$STORAGE_REPORT_NFS‘. The view is rather straight forward and easy to use.

C. While the first two cases were more focused on viewing the information, lets say now you want to set a threshold and actively monitor these NFS file systems.

Solution:

All the data we have viewed so far is collected as a configuration metric, and hence its collection frequency is 24 hrs and you cannot set thresholds against it directly. So for the purposes of active monitoring, we will navigate to the All Metrics page (Host->Monitoring->All Metrics) on the host target and take a look at ‘Filesystem Space Available (%)‘ metric. This metric will allow you to set thresholds and get alerts on file system space usage. Unfortunately, when you view the output of this metric, you will not find any of your NFS mounted file systems. This is because the collection for NFS mounted file systems is disabled by default. To enable this:

1. Go to $AGENT_HOME/sysman/config/emd.properties on the desired set of hosts

2. Add the property EM_MONITOR_ALL_DISKS=true

3. Run $AGENT_HOME/bin/emctl reload agent

Wait about 15 minutes, since that is the default collection interval. Refresh the page and Viola! all your NFS mounted file systems will appear on the all metrics page. Any thresholds set for this metric will now automatically apply to your NFS mounted file systems.

Finally, making the changes on a single agent is simple enough, but doing this manually across 100s of agents is rather tedious. To automate this, go to the Agents page (Setup->Manage Cloud Control->Agents), select the desired agents and click on the Properties button in the toolbar. This will launch a job submission wizard where you can select additional agents. In the parameters tab, find the EM_MONITOR_ALL_DISKS property and set its value to ‘true’, click submit. A job is submitted which takes only a fraction of a second to finish, and takes care of applying the changes to all agents and activating them. More details on this job can be found here.

Enjoy!

– Adeesh Fulay (@AdeeshF)

Download Urls for Self Update Entities in Offline Mode

21 Friday Nov 2014

Posted by adeeshfulay in oracle enterprise manager, Self Update

≈ Leave a comment

Tags

em12c, offline mode, oracle enterprise manager, plugins, self update

Self update in the online mode is fairly easy to use. I mean it is hard to beat a user interface that simply has three primary actions –

  • Check Update – check for latest updates available for download. This also happens automatically every day, so there is no explicit need to use this button.
  • Download – download your favorite update (plug-in, agent, connector, etc) to a local directory in EM
  • Apply – apply the downloaded update to EM

Here is a good overview video for Self Update in Online Mode.

Unfortunately, there are a lot of customers (Federal, Banking, Financial, etc) who are not allowed to use the Online mode due to various security reasons. We did anticipate this and thus designed a complete offline experience for such customers. In a nutshell, the process can be described as follows:

  1. Assuming, your MOS connection settings are set to OFFLINE, a user when clicks on the ‘Check Updates’ button, is shown the download url that can be used to download the metadata required to populate the Self Update UI
  2. Once this archive is downloaded, you can run ’emcli import_update_catalog’ from an agent host or from the OMS to import the metadata
  3. Now you browse through the table of entities, choose your favorite one, and click on the download button. This is just like you would do in the online mode, with the exception that instead of download being kicked off, you would again see a popup with the download url for the payload along with instructions on how to apply them.
  4. Once you download the new archive, run emcli import_update to import the payload into self update from one of the agents or from the OMS host
  5. Finally, we go back to the UI, and apply the entities

While the above looks quite involved, in reality it should take you less than 5 mins (minus the download time) to complete the entire process. This is not bad.

A challenge with the above approach thought is that steps 3-5 have to be repeated for every entity and this can be time consuming. Especially for step 3, you have to click on each interesting entity to determine its download url. While we are working on formally addressing this, here is a quick hack to make your life easier.

In EM12c R4, we introduced an internal view that contains all the relevant information for self update entities and their download url. This view is called gc$selfupdate_entity. That fact that this view is internal means (the usual disclaimers) – firstly, the view has been created for internal consumption by EM, and not by customers, and secondly, we reserve the right to modify this view at any time.

Here are a few useful queries:

1. Every release, whether it is platform or a plug-in release, brings a slew of new entities. Majority of these entities are plug-ins. The following query lists the download urls of all new plug-ins that are in the ‘Available’ state:

SELECT su2.attr4_label,
su2.version,
su2.entity_id,
su2.url
FROM gc$selfupdate_entity su2,
(SELECT su.attr4_label,
MAX(su.version) max_version
FROM gc$selfupdate_entity su
WHERE et_name=’core_emplugin’
AND su.status=’Available’
GROUP BY attr4_label
) max_su
WHERE su2.attr4_label = max_su.attr4_label
AND su2.version       = max_su.max_version
ORDER BY 1;

2. Similarly, this query lists the download urls for all new agents in the ‘Available’ state:

SELECT su2.attr3_label,
su2.version,
su2.entity_id,
su2.url
FROM gc$selfupdate_entity su2,
(SELECT su.attr3_label,
MAX(su.version) max_version
FROM gc$selfupdate_entity su
WHERE et_name=’core_agent_core_image’
AND su.status=’Available’
GROUP BY su.attr3_label
) max_su
WHERE su2.attr3_label = max_su.attr3_label
AND su2.version       = max_su.max_version
ORDER BY 1;

—

Adeesh Fulay (@AdeeshF)

About Me

Product Manager at CA Technologies
Formerly, at Robin Systems, VMware, Oracle, mValent.

Interests: Startups, Containers, Patriots, Warriors, Python, Problem-solving, Biking,…

Views are my own.

Follow Me

Follow @AdeeshF

View Adeesh Fulay's profile on LinkedIn

Recent Posts

  • Create EM Jobs via EMCLI
  • Create Database using EMCLI Verbs
  • Understanding Docker Images and Layers
  • Linux: Analyze disk space full issues
  • Can Containers Ease Cassandra Management Challenges?

Categories

  • agent (1)
  • Data Clone and Refresh (1)
  • Database as a service (4)
  • Deployment Procedures (1)
  • Docker (2)
  • emcli (6)
  • host management (1)
  • job system (6)
  • Linux (1)
  • oracle enterprise manager (16)
  • private cloud (5)
  • Provisioning (1)
  • Self Update (1)
  • Storage (2)

Archives

  • October 2017
  • September 2017
  • March 2017
  • September 2016
  • May 2015
  • March 2015
  • February 2015
  • November 2014

EM12c Tweets

My Tweets

Create a free website or blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Musings
    • Already have a WordPress.com account? Log in now.
    • Musings
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...