Wednesday Aug 21, 2013

WEBCAST: Managing Oracle Database 12c


Thursday August 22
10:00 a.m. PST / 1:00 p.m. EST

Discover Oracle’s Next-Generation Database Management Solution

Don’t miss this opportunity to learn first-hand how Oracle Database 12c and Oracle Enterprise Manager 12c bring together the next evolution in self-manageability—so you can plug into the Cloud faster using the power of Oracle Database 12c.

Join us for this live webcast to discover new groundbreaking management capabilities for:

  • Real-time performance diagnostics and application tuning
  • Embedded database self-manageability
  • Managing many pluggable databases as one
  • Delivering reliable database cloud services

Only Oracle Enterprise Manager 12c offers customers maximum performance, enhanced automation, and total control for Oracle Database 12c.

Register Now!

Stay Connected:
Twitter |
Facebook | YouTube | Linkedin | Newsletter
Download the Oracle Enterprise Manager Cloud Control12c Mobile app

Tuesday Aug 20, 2013

Short Demo Video : Deliver Database as a Service with Oracle Enterprise Manager

This demo provides an overview of various use cases and benefits of delivering database as a service using Oracle Enterprise Manager.

Stay Connected:

Twitter |  Face book |  You Tube |  Linked in |  Newsletter Google+

Monday Aug 19, 2013

Simplified Agent and Plug-in Deployment

On your site of hundreds or thousands of hosts have you had to patch agents immediately as they get deployed?  For this reason I’ve always been a big fan of cloning an agent that has the required plug-ins and all the recommended core agent and plug-in patches, then using that clone for all new agent deployments. With EM 12c this got even easier as you can now clone the agent using the console “Add Host” method. You still have to rely on the EM users to use the clone. The one problem I have with cloning is that you have to have a reference target for each platform that you support. If you have a consolidated environment and only have Linux x64, this may not be a problem. If you are managing a typical data center with a mixture of platforms, it can become quite the maintenance nightmare just to maintain your golden images. You must update golden image agents whenever you get a new patch (generic or platform specific) for the agent or plug-in, and recreate the clone for each platform. Typically, I find people create a clone for their most common platforms, and forget about the rest. That means, maybe 80% of their agents meet their standard patch requirements and plug-ins upon deployment, but the other 20% have to be patched post-deploy, or worse – never get patched!

While deployed agents and plug-ins can be patched easily using EM Patches & Updates, but what about the agents still getting deployed or upgraded? Wouldn’t it be nice if they got patched as part of the deployment or upgrade? This article will show you two new features in EM 12.1.0.3 (12cR3) that will help you deploy the most current agent and plug-in versions. Whether you have 100s or 1000s of agents to manage, reducing maintenance and keeping the agents up to date is an important task, and being able to deploy or upgrade to a fully patched agent will save you a lot of time and effort.

[Read More]

Wednesday Aug 07, 2013

VIDEO: Managing Oracle Database 12c

Learn about all the new manageability capabilities in Oracle Database 12c. Watch the video.


Stay Connected:
Twitter |
Facebook | YouTube | Linkedin | Newsletter
Download the Oracle Enterprise Manager Cloud Control12c Mobile app

Tuesday Aug 06, 2013

Answers to Your Common Questions on Enterprise Manager 12.1.0.3 Agent deployment using Add Host Targets Wizard (Agent Push)

Deploying EM agents through Add Host Targets Wizard (Agent Push) is one of the most used deployment method and oracle recommended method for deploying multiple agents in a single go.  In this blog we will address some frequently asked questions:

Question 1) Can I perform mass agent deployment using command line?

Ans) Yes, starting EM 12.1.0.3 you can now perform mass agent deployment using EM CLI. This functionality will allow you to push multiple agents from command line.  We can divide EM CLI verbs into 2 categories:


A. Perform agent deployment

a) submit_add_host -- Submit an Add Host session
b) list_add_host_platforms -- List the supported Add Host platforms
c) retry_add_host -- Retry a failed Add Host session

d) continue_add_host - Resume a failed Add Host session


B. Tracking Add Host verbs

a) get_add_host_status        -- Display the latest status of a submitted Add Host session.
b) list_add_host_sessions         -- List the submitted Add Host sessions

You can watch short video on how to perform agent deployment using EMCLI from here:
Screenwatch: How to perform mass agent deployment using Add host wizard (Agent Push) through EM CLI (New in EM 12.1.0.3)

Question 2) Can I use my SSH-key credential while deploying agent through Add Host Targets Wizard (Agent Push) ? 

 Answer 2) Starting EM 12.1.0.3 named credentials support SSH public key authentication and password based authentication. So you can use an existing SSH public key authentication without exposing your passwords. There are 2 use cases here.

i.  If you have setup SSH between the OMS and the target hosts and has the ssh keys handy the he has to follow only steps 4 and 5

ii. If you have not setup SSH between the OMS and the target hosts and does not have the ssh keys then he has to follow steps 1 to 5.

1. Navigate to the following location in the OMS home: $<OMS_HOME>/oui/prov/resources/scripts 

For example, /home/software/em/middleware/oms/oui/prov/resources/scripts

2. Run the following script, and pass the OMS user name you used for installing the OMS and the fully qualified name of the target hosts.

sshUserSetup.sh -setup -user <user_name> -hosts <target_hosts>

3. The SSH keys are generated under $OMS_USER_HOME/.ssh/id_rsa and $OMS_USER_HOME/.ssh/id_rsa.pub

4. Upload the keys to EM

5. Select the keys during agent deployment

Question 3) In my company we use Tectia instead of SSH, can I still use Add Host Targets Wizard (Agent Push) to deploy agents? 

Answer 3)  Yes, Add Host Targets Wizard (Agent Push ) supports SSH Vendors are OpenSSH (SSH2), Tectia. If you have any of these setup between your OMS and target machine you don’t have to do anything extra, application is intelligent enough to pick up the configuration and perform the agent deployment.

Question 4) Does Add Host Targets Wizard (Agent Push) support RSH?  

Answer 4) We don’t support RSH as we need secure shell to perform remote execution and remote copy. Even if RSH is setup Agent push application will not honor it.

Question 5)  I am not sure on which port my SSH is running and how to change SSH port for Add Host Targets Wizard (Agent Push)?

Answer 5) SSH default port is 22 but if you want to cross check or its running on different port then you can cat /etc/ssh/sshd_config to find out what port ssh is running on. Another way to find the port used by SSH you can run:

netstat -anp | grep -i sshd

Output of this command  will be like- 

tcp      0 0 0.0.0.0:22         0.0.0.0:*         LISTEN         3188/sshd

So in the above output 22 is the ssh port.

Once you know the ssh port used, you can update the SSH_PORT property in $<OMS_HOME>/oui/prov/resources/Paths.properties as below: SSH_PORT=<port number>

Question 6) Cygwin is required for deploying agents on Windows host using Add Host Targets Wizard (Agent Push). Once 12c agent is properly installed, is there a need to maintain a copy of Cygwin on the Windows server?  Can it be deleted?

Answer 6) Cygwin 1.7  is required to just deploy EM 12c agent on remote host and can be remove once agents are deployed. Cygwin is not required for any other EM lifecycle operations. 

Follow the steps to configure cygwin for agent deployment from here: http://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#CBHCDFCH

Question 7)  What is the purpose of user "cyg_server" getting created, while Installing Cygwin, from 12c Cloud Control side. Is this user used during authentication? What if we provide some other username instead of "cyg_server"?

Answer 7) This user is an internal user created by ssh for privilege delegation and not used for agent install.

Question 8) I don’t want to deploy agents using EM login user: SYSMAN. Can I perform role based agent deployment? 

 Answer 8) Yes you can deploy agent from UI and EM CLI with non-sysman user having CREATE_TARGET privilege. If user tries to access the add host page with a user who does not have this privilege, he will get the below error.

Question 9) What all authentication utilities does Add Host Targets Wizard (Agent Push) support?

Answer 9) We support for all standard pdp utilities, sudo, pbrun, sesu , su. 

Question 10) What are the sudo requirements for deploying agent using Add Host Targets Wizard (Agent Push)?

Answer 10)  If your install user can become root then make sure that the /etc/sudoers file have following permission: 

<install_user> ALL=(root) /usr/bin/id, <agent_home>/*/agentdeployroot.sh

For example, oracle ALL=(root) /usr/bin/id, /home/oracle/agentibd/*/agentdeployroot.sh.

Here, oracle is the installing user, and /home/oracle/agentibd is the Management Agent home, that is, the agent base directory.

Question 11) Why do we need install user to have permission to run  /usr/bin/id command?

Answer 11) We use this command to check if the install user has the privilege to switch to root user using the privilege delegation tool.  If you are have locked account usecase then the user that you will switch to should have the permission to run this command. More details on locked account usecase refer to : http://docs.oracle.com/cd/E24628_01/install.121/e22624/install_agent.htm#CACJEFJI

Question 12)  In EM 12.1.0.3 do we still need to set the visiblepw in the /etc/sudoers file?

Answer 12) From EM 12.1.0.3 its not mandatory to set this parameter in /etc/sudoers file instead user can just  pass –enablePty in the additional parameters and set the global property oracle.sysman.prov.agentpush.enablePty=true in $OMS_HOME/sysman/prov/agentpush/agentpush.properties.

You need to set the above property so that the privilege delegation tools such as pbrun, sesu, and su can use pseudo terminal for remote command execution over SSH.

More Information:

What's New in Enterprise Manager 12.1.0.3 Agent Deployment

http://www.oracle.com/technetwork/oem/install-upgrade/em-12103-agent-deployment-1967206.pdf

EM 12.1.0.3 Add Host Targets Wizard (Agent Push) chapter

http://docs.oracle.com/cd/E24628_01/install.121/e22624/install_agent.htm#CACJEFJI 

Screenwatch: How to perform mass agent deployment using Add host wizard (Agent Push) through EM CLI (New in EM 12.1.0.3)  

https://apex.oracle.com/pls/apex/f?p=44785:24:0:::24:P24_CONTENT_ID,P24_PREV_PAGE:7714,1 

    Secure, Subset and Self-Service Database provisioning in Cloud


    One-step inline data masking and data subsetting is a very innovative solution in Oracle Enterprise Manager 12c that enables enterprises to provision secure and reduced size test systems directly from the production or standby database without the need for a full production database copy. So you are able to create reduced size copies of production database keeping the referential integrity of data set intact saving on storage costs and more importantly also ensure your sensitive database never creeps into any of your development or test systems in compliance with data privacy policies.

    With Oracle Enterprise Manager 12c Release 3 customers have now started adopting this one-step on-the-fly masking and subsetting solution along with Database-as-a-Service(DBaaS) self-service provisioning capabilities and the outcome is one of the most comprehensive and unique solution to realize self-service provisioning of secured, subset copies of production like databases for all of testing and development needs in a private cloud model.




    In this blog post I will walk through the steps required to achieve this comprehensive solution for test and development systems provisioning in enterprise private cloud.


    1) Prepare source database

    One of the ideal option in case customer has physical standby is to convert physical standby into a snapshot standby for one-step data subsetting and masking operation. A snapshot standby receives and archives but does not apply redo from primary until converted back to physical standby. So once you have created subsetted and secure dump from snapshot standby you can convert snapshot standby back to physical standby using Oracle Enterprise Manager. Refer to Oracle Data Guard guide for considerations in using snapshot standby.  In-line data subsetting and masking can also be performed on production database in case there is no physical standby.

    2) Perform Inline data subsetting and masking workflow

    Here are the steps :

    a) Create Application Data Model(ADM)
    ADM is a knowledge base entity in Oracle Enterprise Manager that captures application metadata, referential relationships, sensitive columns and is used by both test data management and data masking. There are pre-defined drivers to capture data relationships from application metadata tables for Oracle Applications such as Fusion Apps and eBusiness Suite. Security Administrator requires EM_ALL_OPERATOR privilege to create ADM and Data Masking and Subsetting definition.

    b) Create Masking and Subsetting definition

    As a best practice, Security Administrator can create masking formats for all regulated information in the enterprise. There are out-of-box Oracle supplied default masking formats also that can be used from format library. Next step is to create masking definition that includes information regarding table columns and the format for each column. You can choose which columns to mask. Data Masking workflow can be referred here.
    Next step is to create Data subset definition and use the same ADM and database used in creating the masking definition. In this step you can define the table rules,rule parameters, include 'Ancestor and Descendant tables' or 'Ancestor tables only' option this ensuring referential integrity is maintained. At this step Space estimates can also be reviewed and depending on the result, you can modify or add new rules and review back on space estimates value. Pre/Post subset scripts can also be included in definition.

    c) Generate subset using export option

    Using the definition subset can be created by writing the subset data to export file. Specify directory where to save the export dump and schedule the subset job. Once the job is complete, the subset Data pump file of production data with sensitive data masked is ready. The overall flow is described here
    Some key tips -
    - Parallel degree can be used for faster export. Start with twice the number of CPUs and tune from there
    - %U and max file size parameter can be used to ensure optimum use of parallelism
    - Rule parameter in where clause can be used for actual subset generation with different values
    - Column rules can be used to set large-sized columns to null or fix value to reduce database size further

    3) Prepare secure test/reference database

    Once the Data pump export file is generated it can be imported in a test/staging database . For details refer here.This test database can be used as a reference for all development and testing copies and hosted in Self-Service portal for end users to request from service catalog.

    4) Self-Service Portal Setup

    Following two options are available to cloud-enable this secure reference database for self-service provisioning of future copies of this database via Oracle Enterprise Manager 12c Database-as-a-Service (DBaaS) solution :

    a) Snap Clone option that leverages storage level copy-on-write technologies for cloning and is suited best for functional testing requirements and for short lived databases.With this option you can clone terabytes of data in few minutes and storage saving is enormous with this option. you need to review the supported storage options for this method. As of time of writing the post Netapp and ZFS is supported though there are plans to support more storage options in near future.

    b)  RMAN based cloning from backup is one of the favorite option for DBAs. The restore process is completely automated with EM 12c DBaaS and this option is best suited for performance and load testing, development requirements and for databases used for significant updates.
    Once you decide on the option, steps to follow are documented in one of my recent blog post around Planning Database as a Service Implementation Project

    Refer to Private Cloud Setup and Administration guide here for details on DBaaS Setup and Snap Clone, RMAN Profile options. The secure database prepared in previous step will be used as reference target by SSA Administrator while creating database provisioning profile using RMAN backup or Snapshot option. Please also ensure you have reviewed this MOS Note for DBaaS related patches -
    "Enterprise Manager Cloud Control 12c Recommended Plug-Ins and Patches for Database as a Service (DBaaS) (Doc ID 1549855.1)"




    5) Self-Service database provisioning in Cloud

    End users can now request for secure subset copies of production database via Self-service portal for all kind of functional QA, load and performance testing, development requirements. All the databases provisioned from this approach are also enabled by default with EM 12c powered monitoring and diagnostics, lifecycle and cloud management capabilities.




    Solution References

    1) Oracle Enterprise Manager 12c Packs
    Oracle Test Data Management Pack
    Oracle Data Masking Pack
    Oracle Database Lifecycle Management Pack
    Oracle Database Cloud Management Pack

    2) Oracle Enterprise Manager 12c Platform and Plug-ins
    Enterprise Manager Cloud Control 12c Release 3 Base Platform (12.1.0.3)
    Enterprise Manager for Oracle Database (DB) plug-in 12.1.0.4
    Enterprise Manager for Oracle Virtualization (VT) plug-in 12.1.0.5
    Enterprise Manager Storage Management Framework (SMF) plug-in 12.1.0.2
    Enterprise Manager for Oracle Cloud (SSA) plug-in 12.1.0.6


    Additional information

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter

    Friday Aug 02, 2013

    Managing Oracle Database 12c

    Oracle recently announced new management capabilities for Oracle Database 12c, providing customers with even more enhancements to improve productivity and manageability. The new Oracle Enterprise Manager 12c features are supported out-of-the-box with Oracle Database 12c. So whether you want to take advantage of the new Data Redaction capabilities at the security layer, or whether you want to take a look at some of the heat map capabilities in our Information Lifecycle Management or leverage the new performance management features, such as, Database Operations Monitoring or Enhanced Real-Time ADDM, you can use Oracle Enterprise Manager 12c to manage them all.

    These new capabilities can be integrated with your standard monitoring and management that you already have in your environment without having to undertake any additional tools or any additional training. Simply install or upgrade to Oracle Enterprise Manager 12c and Oracle Database 12c and together these two products will let you plug into the Cloud.

    Here is a quick summary of all the new Oracle Enterprise Manager 12c capabilities for Oracle Database 12c:

    • Complete lifecycle management of multitenant databases: Support for the entire lifecycle operations of multitenant databases that comprise migration, creation, cloning, patching and tracking for compliance
    • Consolidated database replay: Allows customers to test and plan their consolidation using Oracle’s multitenant container and pluggable database technology
    • At-source data masking: Allows customers to maximize compliance and security by masking data in-flight as it is being copied from production
    • Enhanced diagnostics: Improvements to Automatic Database Diagnostic Monitor (ADDM) for real-time and proactive problem detection, especially designed for catching short, transient performance issues
    • Real-time business operations monitoring: Monitors composite business operations such as; batch jobs and ETL operations, providing real-time reports on all SQLs and PL/SQLs executed inside the job
    • Performance hub: Newly redesigned performance home page that provides administrators with a single, at-a-glance view of all performance data and advisors
    • New Oracle Enterprise Manager Database Express 12c: An out-of-the-box, lightweight, easy-to-use web-based management solution for managing individual databases
    • Schema as a Service: This ultimate consolidation of databases lets administrators host multiple application schemas within a single database and offer database as a service to hundreds of application users without creating database sprawl
    • Snap Clone: Instant database cloning allows administrators to create fully functional copies of databases using the copy-on-write capabilities of the underlying storage layer

    To learn more about all the latest capabilities, be sure to register for our upcoming webcast: Managing Oracle Database 12c with Oracle Enterprise Manager 12c.

    Stay Connected:
    Twitter |
    Facebook | YouTube | Linkedin | Newsletter
    Download the Oracle Enterprise Manager Cloud Control12c Mobile app

    Wednesday Jul 31, 2013

    IOUG SIG Webcast on August 7th : SQL Monitoring and ASH Analytics

    The Oracle Enterprise Manager Special Interest Group (SIG) growing body of IOUG members who manage or are interested in all aspects of Enterprise Manager. This IOUG SIG is managed by volunteers and supported by Oracle EM product managers and developers. The purpose of the SIG is to bring relevant information and education through webcasts, discussions and networking to users interested in learning more about the product, and to share user experiences.

    On August 7th at 10 AM pacific time, Oracle Enterprise Manager SIG is hosting a webcast on SQL monitoring and ASH analytics. In this webcast, Edward Whalen, Chief Technologist, Performance Tuning Corporation will provide a tutorial on how to take advantage of two of the powerful performance monitoring and debugging tools; SQL Monitoring and ASH Analytics.

    After attending the session, the attendee should have a better understanding of:

    1. Oracle Enterprise Manager Cloud Control 12c and how to take advantage of some of the key performance monitoring features.

    2. The usage and basic properties of SQL Monitoring; how to invoke it and how to use it to identify long running SQL statements.

    3. What ASH Analytics is, what is ASH data and how to use ASH Analytics for determining which sessions, modules or SQL statements are consuming system resources.


    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter

    Wednesday Jul 24, 2013

    Understanding Agent Resynchronization

    Agent Resynchronization (resync) is an important topic but often misunderstood or misused. In this Q&A styled blog, I discuss how and when it is appropriate to use agent resynchronization.

    What is Agent Resynchronization?

    Management Agent can be reconfigured using target information present in the Management Repository. Resynchronization pushes all targets and related information from the Management Repository to the Management Agent and then unblocks the Agent.

     Why do agents need to be re-synchronized?

    There are two primary reasons why you may need to use agent resynchronization:

    1. Agent is blocked

    An agent is blocked whenever it is out-of-sync with the repository. This, typically, can happen due to a corrupt targets.xml, missing files and directories, and bugs in the code (they are rare but few do exist :) ) that can leave the plug-in inventories in a strange state. In this condition, the OMS rejects all heartbeat or upload requests from the blocked agent. This means, the blocked agent will not be able to upload any alerts or metric data to the OMS, but it does continue to collect monitoring data. This is useful as once the agent is resynchronized, no monitoring data is lost.

    2. Agent is lost and has to be reinstalled

    This could be considered to be a special case of agent blocked condition, but it is worth discussing separately. If an agent host or file system is ever lost, the recommended way to reinstall it is by cloning from a reference install. This not only recovers the agent, but avoids having to track and reapply customizations and patches.

    Note: It is important to retain the same port when reinstalling the agent.

    Agent resync when run on a reinstalled agent, reconfigures it using target information present in the repository. The OMS detects that the agent has been re-installed and blocks it temporarily to prevent the auto-discovered targets in the re-installed agent from overwriting previous customizations.

    Note: NEVER, NEVER, combine agent recovery with upgrade! If you lose your agent, recover it first using the original version, and then upgrade it to the new release.

    Which interfaces are available for this operation?

    There are two interfaces that will allow you to perform agent resync.

    1. The Enterprise Manager Console

      a. Navigate to Setup->Manage Cloud Control->Agents to view list of all agents

      b. Select the desired agent and visit its home page

      c. Finally, select the 'Resynchronization...' option from the agent menu

    Agent Resynchronization Menu Item

    2. EMCLI

    The agent can also be resynchronized via EMCLI. The command is as follows:

    >> emcli resyncAgent -agent="Agent Host:Port"

    How long does it take to resynchronize an agent?

    This is a popular question, but unfortunately there is no straight answer for it. The time for resynchronization depends on the amount of data stored in the repository about the agent. When this action is invoked, the OMS does not consult the agent - it just asks agent to delete everything first, and then pushes the known state to it. Majority of the time is spent in pushing the plug-in content. So the more plug-ins deployed to the agent, the longer it takes. Metric Extensions and Configuration Extensions deployed to the agent would also contribute to the time.

    Additional  Resources:

    Upgrading  Oracle Management Agents

    Back Up and Recover Enterprise Manager

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter


    Thursday Jul 18, 2013

    New EMC VMAX Plug-in for Oracle Enterprise Manager 12c

    EMC has just released its VMAX Storage Plug-in for Oracle Enterprise Manager 12c.  EMC can now deliver availability, performance, and configuration information for EMC VMAX Storage Arrays by combining its EMC VMAX system monitoring solution for Oracle systems with Oracle Enterprise Manager 12c.  Oracle and EMC hope that customers can can now reduce the complexity of managing and cost of applications that rely on EMC Symmetrix VMAX systems and Oracle technologies.  With this Plug-in, application administrators can consolidate all the monitoring information in Oracle Enterprise Manager, and perform root cause analysis. Storage and database administrators can perform proactive monitoring of EMC VMAX systems, identify the impact of storage performance problems on end user services, and better align their efforts with the business needs.


    The EMC VMAX Storage Plug-in for Oracle Enterprise Manager 12c automatically collects a comprehensive set of availability and performance metrics enabling the administrators to quickly review the issues according to their specific operational requirements.  The 12c Plug-in also collects configuration information about the Symmetrix VMAX storage systems that allows storage administrators and Oracle database administrators to compare product and disk information for different storage controllers. This capability provides a common view of database to Symmetrix VMAX storage systems at a glance using the power of Oracle Enterprise Manager 12c.

    EMC VMAX Storage Plug-in enables the following for your Oracle and VMAX environments:
        •    Single pane of glass into EMC storage capacity and performance for the DBA
        •    View the layout of the host file systems on the storage devices
        •    Display the overall configuration sketch of the VMAX Array, the Front-end and Disk directors
        •    Review the storage performance as it relates to time of day
        •    Review IOPS for reads, writes or investigate KBs writes and reads as it relates to your Oracle database storage

    The Plug-in is now accessible via the Extensibility Exhange, where it can be downloaded and also see a good demo about what it does, how it works and how to install it.

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter



    Tuesday Jul 16, 2013

    Harness the power of Configuration Search to know what's out there and drive automation

    Oracle Enterprise Manager collects and monitors configuration information for every target it manages and layers support for sophisticated lifecycle operations on top of this foundation. Within the configuration management area itself Enterprise Manager has formalized support for Drift Management, Inventory Management, Topology visualization and Compliance Management. Although these features cover a good segment of configuration management use cases there will always be additional uses for this important information. Enterprise Manager makes it easy to leverage this valuable information both inside and outside the product using the Configuration Search feature.

    Within the Enterprise Manager UI, users can build sophisticated queries against Enterprise Manager’s configuration management repository to generate reports without writing even one line of SQL. If the Oracle provided Search library does not already contain a matching search a user can build a search to their exact specification completely graphically.

    Outside of the Enterprise Manager UI, users can find and run saved searches using the EMCLI in both interactive and the new script mode. When used in a script, configuration search results can be used to drive other lifecycle operations like patch automation and provisioning.

    In this article we will take a closer look at the Configuration Search feature using some common real world examples.

    Arguably one of the most important configuration items collected by Enterprise Manager is applied patches. Finding the location of applied patches can cause some confusion at first owing to the new target model introduced in Enterprise Manager 12c. Oracle Home is now a separate and proper target with its own configuration collection which includes patch information. This makes great sense as patches are in fact applied to the Oracle Home and not the software running out of it.

    The question is how can you figure out which targets ( ie databases ) are using which Oracle Homes? The answer is using relationships. Enterprise Manager 12c now discovers and collects relationships between targets. These relationships include both physical (observed) and logical (inferred from configuration). As an example, all databases running out of a given Oracle Home will have an “Installed At” relationship to its specific Oracle Home target. These relationships can be graphically viewed using the topology viewer available under the configuration menu of all targets. They can also be used when building a Configuration Search when starting with a well known target like database instance.

    Find all single instance databases with Advanced Compression option that do not have a patch applied. – Step by Step

    Let’s build a configuration search to find all single instance databases with Advanced Compression option that do NOT have a patch applied to their Oracle Home. Since patches are typically specific to a version let’s narrow it down to version 11.2.0.3 databases and patch 14275605. ( Database Patch Set Update : 11.2.0.3.4 )

    1. Start by navigating to the Configuration Search Library. Enterprise->Configuration –>Search…

    2. Click Create to start building a new Configuration Search.

    3. Select Database Instance from the Target Type list of value.

    Next we need to narrow the list of databases to those of version 11.2.0.3 and single instance. To do this we will use the target model to choose properties which contain this data so we can filter it further.

    4. Click Properties on the Database Instance row.

    5. Open the Target Properties and Instance Information folders and Select Property Name, Property Value,Version, Name and Selected as shown.

    6. Click OK.

    To filter down the results, we enter criteria into the text boxes to the right of the properties.

    7. Enter 11.2.0.3 next to Version.

    8. Enter ‘Advanced Compression’ for Name and ‘TRUE’ for Selected under Database Options

    9. Select ‘Metric Scope’ for property Name and Enter ‘DB’ for value. ( Metric scope can have a value of DB for single instance and RACINST for RAC instances. )

    Your search should look something like this:

    At any point while you are creating a Configuration Search, you can see how your search is coming along by clicking Search. Doing so at this point will show results similar to the results shown here. ( Note: If you are not interested in seeing the results of a column you can uncheck the property to remove it from the results. )

    At this point we need to pull the Oracle Home target into the picture to get at the applied patches configuration information.

    10. Click Relationships on the Database Instance row.

    11. Choose “Oracle Home” as the Destination Target Type then Click Search. This should result in one relationship type “Installed At”. Select this row and click OK.

    We now have something that looks like this:

    To add collected patch information from the Oracle Home target we need to use the target model again.

    12. Click Properties on the Oracle Home row.

    13. Open the “Patches installed in Oracle Home” folder and select “Patch ID” property.

    14. Click OK.

    15. Enter 14275605 in the text box next to “Patch ID” to narrow the results to this patch.

    16. Click Search. You should see something similar to the results below.

    But wait, this shows the databases that HAVE patch 14275605 installed. We are after databases that DON’T have this patch installed.

    Fortunately we can achieve this result by using the “Advanced Options” capabilities.

    17. Click the “Advanced Options” button on the “Patches installed in Oracle Home” row. ( Be sure to select the correct one! )

    18. Change the Condition in the resulting dialog box to “NOT EXISTS”. ( The explanatory text shown just happens to use patch search as an example. )

    19. Click OK.

    Notice the addition of “Condition : NOT EXISTS” on the “Patches installed in Oracle Home” row. This will show targets in which none of the targets matches the criteria. In our case, an Oracle Home may have hundreds of patches applied. Only if none of the patch IDs equal 14275605 will the target be in the results.

    20. Click Search.

    This time, the results finally display what we are after. That is “11.2.0.3 Single Instance database with Advanced Compression option that do NOT have patch 14275605 applied.”

    21. Click ‘Save As’ to save the search with the name “11.2.0.3 SI AC DBs without patch 14275605”.

    22. Click OK.

    The library now shows our new search. You or any other user can run the search by selecting it and clicking Run. You can modify it by using Edit or make a copy with Create Like to continue to refine it without affecting the original.

    Running Configuration Search using Interactive EMCLI

    As mentioned at the opening, Enterprise Manager Release 3 now supports the execution of saved Configuration Search from the EMCLI. There are two verbs with which you can run configuration searches: get_targets and run_configuration_search

    The get_targets verb has been available since Release 1 but now has an additional switch to specify a configuration search. This results in a standardized result containing the Target Name, Target Type and Status.

    Here is an example using the configuration search we just built.

    The run_config_search verb generates results exactly as you see them in the results of the configuration search. The results are a little harder to read but the output could be re-directed to an output file for import into something like a document editor or spreadsheet for easier viewing or analysis.

    Scripting Lifecycle processes using EMCLI Script mode

    Enterprise Manager Release 3 introduced the EMCLI Script mode which is especially effective when performing tasks in bulk or many tasks at once. This mode enables you to create Jython scripts, store them as files and pass them as an argument to EMCLI. For more information on EMCLI see the documentation here.

    In this section, we will expand on our previous work to automate the creation of patch plans to automate the application of the missing patch. We will use a python script to retrieve the list of databases without a patch, and then create a patch plan for each database.

    As a prerequisite you must create a sample patch plan for a single instance database which has the desired patch ( 14275605 ) added to the plan. We will use this plan to create the others.

    The work flow is as follows:

    1. Retrieve specified patch plan metadata and extract required patch information.
    2. Get list of databases without the patch applied using a configuration search.
    3. Create a patch plan for each database.

    Here is the script in its entirety. Obviously you will need to make modifications for you environment, specific patch plan and configuration search names.


     #emcli_config_search.py

    from emcli import *
    import xml.dom.minidom


    # Set Connection properties and logon
    set_client_property('EMCLI_OMS_URL','https://oem.example.com/em')
    set_client_property('EMCLI_TRUSTALL','true')
    login(username='DWWOLF1',password='password')

    patch_id = []
    release_id = []
    platform_id = []
    language_id = []
    target_type = []

    # Get Sample Patch Metadata
    pp_xml = show_patch_plan(name='PSU4 Rollout').out()

    # Parse plan metadata into XML
    patchPlan = xml.dom.minidom.parseString(pp_xml)

    # Retrieve metadata for each patch in the sample patch plan
    for patchList in patchPlan.getElementsByTagName("patchList"):
            for patch in patchList.getElementsByTagName("patch"):
                    patch_id.append(patch.getElementsByTagName("id")[0].toxml().replace("<id>","").replace("</id>",""))
                    release_id.append(patch.getElementsByTagName("release_id")[0].toxml().replace("<release_id>","").replace("</release_id>",""))
                    platform_id.append(patch.getElementsByTagName("platform_id")[0].toxml().replace("<platform_id>","").replace("</platform_id>",""))
                    language_id.append(patch.getElementsByTagName("language_id")[0].toxml().replace("<language_id>","").replace("</language_id>",""))
                    target_type.append(patch.getElementsByTagName("target_type")[0].toxml().replace("<target_type>","").replace("</target_type>",""))

    # Run stored configuration search to get list of databases missing the patch
    target_array = get_targets(config_search='11.2.0.3 SI AC DBs without patch 14275605').out()['data']

    # For each target create a patch plan containing the patches in the sample patch plan
    for targets in target_array:
        tn = targets['Target Name']
        nodeCount = 0
        f = open('patchplan.txt', mode='w')
            for node in patch_id:
                    f.write( "patch." + str(nodeCount) + ".patch_id=" + patch_id[nodeCount] + "\n")
                    f.write( "patch." + str(nodeCount) + ".release_id=" + release_id[nodeCount] + "\n")
                    f.write( "patch." + str(nodeCount) + ".platform_id=" + platform_id[nodeCount] + "\n")
                    f.write( "patch." + str(nodeCount) + ".language_id=" + language_id[nodeCount] + "\n")
                    f.write( "patch." + str(nodeCount) + ".target_name=" + tn + "\n")
                    f.write( "patch." + str(nodeCount) + ".target_type=" + target_type[nodeCount] + "\n")
                    nodeCount += 1
            f.close()
            planName = 'PSU4 ' + tn
            create_patch_plan(name=planName,input_file='data:patchplan.txt',impact_other_targets='add_all')

    exit()


    A zip of the script is available for download here.

    Run the script by passing it as an argument to EMCLI:

    >emcli @emcli_config_search.py

    Here we can see all of the patch plans created by the script plus the sample patch plan “PSU4 Rollout”

    Conclusion

    Enterprise Manager’s Configuration Search feature is a powerful tool that can be leveraged both inside and outside of the UI. It can quickly and easily provide answers to difficult configuration questions without writing any SQL. When used via through the EMCLI it can be used to dynamically generate a target list which can be used to drive complex and otherwise time consuming tasks in the UI quickly and efficiently.

    Configuration Search and patch automation are both features of Enterprise Manager’s Database lifecycle management pack.

    For more information on Enterprise Manager’s database lifecycle management capabilities, visit http://www.oracle.com/technetwork/oem/lifecycle-mgmt/index.html

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter

    Thursday Jul 11, 2013

    Oracle Enterprise Manager 12c Release 3: What’s New in EMCLI

    If you have been using the classic Oracle Enterprise Manager Command Line interface ( EMCLI ), you are in for a treat. Oracle Enterprise Manager 12c R3 comes with a new EMCLI kit called ‘EMCLI with Scripting Option’. Not my favorite name, as I would have preferred to call this EMSHELL since it truly provides a shell similar to bash or cshell. Unlike the classic EMCLI, this new kit provides a Jython-based scripting environment along with the large collection of verbs to use. This scripting environment enables users to use established programming language constructs like loops (for, or while), conditional statements (if-else), etc in both interactive and scripting mode.

    Benefits of ‘EMCLI with Scripting Option’

    Some of the key benefits of the new EMCLI are:

    • Jython based scripting environment
    • Interactive and scripting mode
    • Standardized output format using JSON
    • Can connect to any EM environment (no need to run EMCLI setup …)
    • Stateless communication with OMS (no user data is stored with the client)
    • Generic list function for EM resources
    • Ability to run user-defined SQL queries to access published repository views

    Before we go any further, there are two topics that warrant some discussion – Jython and JSON.

    Jython

    Jython is the Java implementation of the Python programming language. I have been working with Python (or CPython) and Jython for the last 10 years, and to me it is the best scripting language ever. It is fun, easy to learn, the syntax is simple, is self formatted, and is dynamically typed. This comic from XKCD summarizes it the best:

    Python

    There are numerous tutorials for Python/Jython on the web, so feel free to pick anyone you like but just remember that the Jython version supported by the new kit is v2.5.1.

    JSON

    JSON stands for JavaScript Object Notation. It is a data interchange format, much like XML, which is easier to read and write for both humans and machines, but unlike XML it contains very little metadata (elements and attribute names). JSON format is quite simple; it basically represents data as a collection of name/value pairs. These pairs can be contained within arrays, lists, or maps. Here is a sample:

    {"menu": {

    "id": "file",

    "value": "File",

    "popup": {

    "menuitem": [

    {"value": "New", "onclick": "CreateNewDoc()"},

    {"value": "Open", "onclick": "OpenDoc()"},

    {"value": "Close", "onclick": "CloseDoc()"}

    ]

    }

    }}

    JSON is quite popular. You will often find it used with REST based web services APIs or even with some modern databases like MongoDB. Most programming languages provide libraries to work with JSON.

    The EMCLI kit uses JSON as its output format as well. Many of the verbs return output in JSON format for ease of programmatic use. I say many, since there are still some verbs that don’t, but this is only matter of time.

    Now let’s get back to EMCLI.

    Steps to setup the kit for ‘EMCLI with Scripting Option’

    1. To download the new EMCLI kit, go to Setup->Command Line Interface. Here you will notice the new section for ‘EMCLI with Scripting Option’. Click on the link to download the kit to your desktop or desired server.

    Download

    You can also download the kit directly from the following url:

    http(s)://<host>:<port>/em/public_lib_download/emcli/kit/emcliadvancedkit.jar
     

    2. Copy the kit (emcliadvancedkit.jar) to a directory where you wish to install EMCLI

    kit

    3. To install, run the following command. Note that we need the Java version to be 1.6.0_43 or greater.

    java -jar emcliadvancedkit.jar client -install_dir=<emcli_client_dir>
    

    Verify Java version 

    4. The last step to complete the setup is to run ‘sync’. Before using EMCLI you have to connect to the OMS to install all verb-related command line help. In classic EMCLI, this happens automatically when you run the ‘setup’ command. But in the new EMCLI, since we do not run setup, we run the ‘sync’ command instead.

    The ‘sync’ verb now accepts some additional arguments. Run the following command:
    emcli sync -url=http(s)://<host>:<port>/em -username=<user> -trustall

    It will prompt for the user password and then take a few minutes to download and install all the help content.

    emcli sync

    5. Now confirm the setup with a simple test. We do this using the interactive mode. Just run ‘emcli’, and once you see the prompt run ‘help()’. This will print list all verbs along with their description.

    emcli interactive mode

    With the setup complete, let’s now have some fun.

    Using the ‘EMCLI with Scripting Option’

    Connect to the interactive mode by running ‘emcli’ from the command prompt. Now try the following commands:

    1. Basic Jython: Since EMCLI is built using the Jython interpreter, you can run Jython commands at the EMCLI prompt. For example, you can try the following:

    >>1+2

    >>print “Hello Jython”

    >>mylist = [1,2,3]

    >>print mylist

    Jython test

    2. EMCLI Status: Next, print the status of the EMCLI session using the ‘status()’ command.

    emcli status

    You will notice that the EM url and user are not set. To do this we have to set the client_properties. Run ‘help('client_properties')’ for more details.

    client properties

    The help text instructs us to set the client properties to connect to a specific EM environment. The 4 properties of interest to us are the following:

    Name

    Details

    EMCLI_OMS_URL

    The EM url

    EMCLI_USERNAME

    The EM user to connect as. We will use the login() function to set this.

    EMCLI_TRUSTALL

    I like to set this to true, but the default is false.

    EMCLI_OUTPUT_TYPE

    I like to set this to JSON even for interactive mode

    To set these properties run the following:

    >>set_client_property('EMCLI_OMS_URL','http(s)://<host>:<port>/em')

    >>set_client_property('EMCLI_TRUSTALL','TRUE')

    >>set_client_property('EMCLI_OUTPUT_TYPE', 'JSON')

    >>login(username="<em_user>",password="<password>")

    You should see the message on successful login. Now we are connected to EM.

    login

    3. Understanding help and verb invocations: Most of the help text presented in EMCLI is tailored towards the classic interface. Since Jython is a programming language, verb invocations are done in the function form. There is a simple mechanism for converting the classic invocation format for use in both interactive and scripting mode. Let’s use the login() verb as an example.

    The EMCLI help for login is as follows:

    >>help('login')

    emcli login

    -username=<EM Console Username>

    [-password=<EM Console Password>]

    [-force]

    This means, when using classic EMCLI, you would invoke it as follows:

    emcli login –username=”foo” –password=”bar” -force

    Instead, in the interactive or script mode, the invocation would look like:

    login(username="<em_user>",password="<password>",force=True)

    Essentially, all verbs are now functions, and all arguments to the verb are now parameters passed to the function. Since the –force argument does not take any value, it is treated as a Boolean in Jython and takes the values of True or False.

    Note: The -force parameter in the login() function is not applicable to the interactive or script mode, but is being used in this example to explain the concept of passing Boolean values. Again, you should never use the -force parameter in the interactive or script mode.

    Another such conversion that you may come across is for list of values. For example,

    In classic EMCLI, some verbs will ask for the same attribute to be repeated with varying values to represent a list.

    emcli grant_privs -name='jan.doe' 
             -privilege="USE_ANY_BEACON"
             -privilege="FULL_TARGET;TARGET_NAME=host1.acme.com:TARGET_TYPE=host"

    In interactive or script mode, you can use native Jython listes instead and pass it as parameters. In Jython, lists are represented within square brackets ([]).

    >>priv_list = ['USE_ANY_BEACON','FULL_TARGET;TARGET_NAME=host1.acme.com:TARGET_TYPE=host']
    >>grant_privs(name='jan.doe',privilege=priv_list)

    4. Sample Use Case: Let’s take a very simple use case to demonstrate the interaction with EMCLI in the interactive mode. So our sample use case is to ‘List all targets of type oracle_database and those whose name starts with the characters ‘db’”.

    For this use case, we will make use of the new generic ‘list’ verb. Traditionally, each feature in EM provided its own verbs for list, get, show, and describe. Rather than working with multiple such variants, the new generic ‘list’ verb takes a page from the REST web service specification and provides a generic action that can work against different EM resources.

    To learn more about this verb, we ru:

    >>help('list')

    help

    The help text shows us the format of this verb. Essentially, there are 3 parameters that we care about:
    • resource = the EM resource which is to be queried
    • columns = specify the different resource attributes to display
    • search = filters to narrow down the result

    First, we need to know the list of resources that are supported by this verb. For this we run

    >>List(‘help’)

    list help

    From the output, it is obvious that for our sample use case we want to query the Targets resource.

    Second, we need to know which columns are supported by the Targets resource. For this, we run

    >>list('help',resource="Targets")

    help resourcesl

    From the output, we can determine that we need the column related to target name and type. With this we have all the information we need to construct the final function call for our sample use case.

    For ease of explanation, I will break down the process of determining the final function call into small incremental steps. Once you gain proficiency, you will be able to define this function in a single pass.

           1. List all targets in the EM environment. For this we run,

    >>list(resource="Targets")

    This command will spew a lot of text on your screen as there are likely to be numerous targets in your EM environment. So instead of listing all of them on the screen, let’s just get a count. For this, we need to understand the output format of this verb.

    Any function that you run in the interactive or script mode returns an object of class Response (<class 'emcli.response.Response'>). The Response class has 4 key methods:

    Function

    Description

    out()

    Provides the verb execution output. The output can be text, or the JSON.

     isJson() method on the Response object can be used to determine whether the output is JSON.

    error()

    Provides the error text (if any) of the verb execution if there are any errors or exceptions during verb execution.

    exit_code()

    Provides the exit code of the verb execution. The exit code is zero for a successful execution and non-zero otherwise.

    isJson()

    Provides details about the type of output. It returns True if response.out() can be parsed into a JSON object.

    So let’s look at a code snippet.

    snippet

    For the first function call to list all targets in EM, we store the results into a variable called ‘all_tgts’. This variable contains the response object. ‘all_tgts.out()’ will give us the actual output. The output returned is in JSON format which automatically gets converted into a Jython dictionary (collection of name-value pairs represented by curly brackets). The output dictionary has a key name called ‘data’ which contains all search results in the form of a Jython list as its value. Finally, len() is a native Jython function which returns the number of elements in a Jython list. As seen in the output, we found 878 targets in the EM environment which is clearly not what we desire.

     2. Now we add search parameters to filter our results. We add two search filters, first the target type should be equal to oracle_database, and second the target name be like db%. You can add multiple search filters to the function call, but all these filters should be encapsulated in a Jython list. The search filter supports various operators: =, !=, >, <, >=, <=, like, null, and not null. Similar to a SQL query, you can also control which columns are to be displayed in the output.

    So let’s run our final function.

    >>search_filters=["TARGET_TYPE ='oracle_database'","TARGET_NAME like 'db%'"]

    >>list(resource="Targets", columns="TARGET_NAME,TARGET_TYPE", search=search_filters)

    The formatted output looks like this. As mentioned before it is in the form of a Jython dictionary which can be easily accessed programmatically. The value of the ‘data’ key is a Jython list that contains all search results, while the other keys provide other metadata related to the result.

    {

    'exceedsMaxRows': False,

    'columnHeaders': ['TARGET_NAME', 'TARGET_TYPE'],

    'columnLength': [256, 64],

    'columnNames': ['TARGET_NAME', 'TARGET_TYPE'],

    'data':

    [

    {'TARGET_NAME': 'db9328.acme.com', 'TARGET_TYPE': 'oracle_database'},

    {'TARGET_NAME': 'db3092.acme.com', 'TARGET_TYPE': 'oracle_database'},

    ],

    'filler': '\n\n\n'}

    You must have noticed that I hardly talk about the scripting mode. This is on purpose, as I believe that interactive mode is the best interface to learn the new EMCLI. Once you master the interactive mode, converting your code snippets into a script is fairly easy. In future blog posts, I will cover scripting mode and numerous other use cases that seem like a perfect fit for the new EMCLI.

    In summary, ‘EMCLI with Scripting Option’ is a new kit that is built on top of a Jython interpreter. It is much superior to the classic EMCLI, as it provides a complete programming environment with the ability to use native Jython functions and primitives. The output is presented in the JSON format which is both human and machine readable, and avoids the need for parsing text output. The client is completely stateless, which means no user data is stored with the client. This means numerous sessions can be launched from a single client, each connecting to a different EM environment, and as a different user.

    I encourage you to play around with this new EMCLI kit, and post the different use cases that you found interesting and would benefit the community. You can reach me on twitter @AdeeshF.

    Additional Reading:

    The EMCLI Documentation Guide

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter

    Tuesday Jul 02, 2013

    Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3)

    Delighted to announce the GA of EM Cloud Control Release 3 on all supported platforms. This release includes a new 12.1.0.3 version of platform (OMS & Agent), along with revised new versions of several Plug-ins and Metadata plug-ins (including a brand new Metadata plug-in for Oracle Virtual Networking). This release marks yet another major & significant milestone for Enterprise Manager 12c Cloud Control product releases.

    Welcome Screen

    Following shows the list of new plug-ins versions available along the Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3). The new plug-ins have dependency on 12.1.0.3 platform, and customer needs to be on minimum 12.1.0.3 platform (OMS/Agent) version of the product before being able to deploy/use these plug-in versions. (In other words, the new plug-in versions cannot be deployed, unless Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3) is installed or upgraded to).

    List of Plugins

    Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3) release includes tons of new features, along with several stability and performance bug fixes and is available for download for all platforms from OTN:

    EM12.1.0.3OTN Download

    Installation/Upgrade paths:

    • EM Customers can do a fresh installation using "Oracle Enterprise Manager Cloud Control 12c Release 3 (12.1.0.3)", and will get the latest version of the platform, along with all the latest versions of plug-ins and Metadata plug-ins out of the box.
    • EM Customers who are on Release1 (12.1.0.1+BP1) or Release 2 (12.1.0.2), or on older releases 11g and 10.2.0.5, can choose to use Oracle Enterprise Manager Cloud Control 12c Release 3 bits, to upgrade directly to the latest Release 3, and the plug-ins will be automatically upgraded to the latest versions.

    Enterprise Manager Certification Matrix is also now available on My Oracle Support - here.

    Oracle Enterprise Manager 12c R3 introduces advancements in cloud lifecycle and operations management

    Oracle Enterprise Manager 12c Release 3 (R3) was announced ( Press Release ) earlier today. It is now available for download at  OTN .

    This latest release features improvements in several areas, including:

    • Improvements to Private Cloud and Engineered Systems Management
    • Expanded Middleware and Application Management Capabilities
    • Efficiency Gains for Enterprise manager Users in EM’s Enterprise-Ready Framework

    You can learn more about what's new in the Oracle Enterprise Manager 12c R3 in the Enterprise Manager 12c documentation . You will see more blogs and details about the new features during the next few weeks. Please let us what

    On July 18th, you can join us at a webcast to hear Thomas Kurian, EVP of Product Development on what Oracle Engineering has achieved with Oracle Enterprise Manager 12c Release 3 to address these challenges. Later, during this webcast, Oracle experts will discuss the latest capabilities in Oracle Enterprise Manager 12c Release 3 for cloud lifecycle and operations management.

    The presentation will be followed by a live Q&A session with Oracle experts. You can also join us online on Twitter to get your specific questions answered. Please use hash tag #em12c to join the conversation.

    Register Now for the Webcast!

    Stay Connected:

    Twitter |  Face book |  You Tube |  Linked in |  Newsletter

    What's New in Database Lifecycle Management in Enterprise Manager 12c Release 3

    Overview of the new and enhanced features in the Database Lifecycle Management area like lifecycle management support for DB12c,  Managing long running datacenter processes using 'Change Activity Planner', enhancements to Configuration Search, new emcli support,  improved Offline patching experience, and more...
    [Read More]
    About

    Latest information and perspectives on Oracle Enterprise Manager.

    Related Blogs




    Search

    Archives
    « April 2014
    SunMonTueWedThuFriSat
      
    3
    5
    6
    7
    9
    10
    11
    12
    13
    14
    15
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
           
    Today