The Hunger Site

Monday, July 1, 2013

Enterprise Manager 12c Release 3 (PS2) is available

I noticed that Enterprise Manager 12c Release 3 (PS2) is now available to download from the internet:

http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/index.html

You can install stand-alone or upgrade an existing installation. Upgrade instructions are published on the internet on:
http://docs.oracle.com/cd/E24628_01/upgrade.121/e22625/overview_upg_approaches.htm#CIHCDHHA

New Features in Release 3 are published on the internet on: http://docs.oracle.com/cd/E24628_01/doc.121/e25353/whats_new.htm#CEGEHEEH

Regards,
Porus.


Tuesday, June 25, 2013

Planning Database as a Service Implementation Project

By Nilesh Agrawal

People, process and planning are the three key elements to success in a private cloud journey. Some common questions i hear from field/customers often relates to tasks involved in setting up Database-as-a-Service(DBaaS) using Oracle Enterprise Manager 12c from scratch and how these tasks are mapped to current IT roles and responsibilities - overall list of activities that needs to be performed to setup and achieve DBaaS and who does what during the implementation process.

In terms of roles, responsibilities and users, you will map to these categories

  • Project Manager is responsible for working with all stakeholders, project team and coordinating in planning and delivering DBaaS implementation project
  • EM Admin sets ups Cloud management infrastructure and is responsible for overall EM 12c installation/configuration and Administration
  • Cloud Admins are responsible for managing the Cloud infrastructure(Servers, Network, Storage) and related Administration
  • SSA Admins or Cloud DBAs are responsible for Self Service portal setup, managing quotas, policies, target DBs S/W provisioning/ongoing Administration
  • SSA Users or End users of Cloud who actually requests for DB instances to be rapidly provisioned on-demand from Self Service portal

Here is a sample Work-breakdown structure(WBS) listing down tasks involved and with individual owners mapped. Note - we have all type of use cases covered in the plan (DBCA, RMAN, Schema as a Service, Snap Clone) and you can pick up any or mix or all of these tasks in your plan depending on your use cases and requirements for implementing DBaaS -







 Activity Description  Owner
A. Initiation and Startup

Determine scope of implementation Determine and document scope of DBaaS Cloud implementation together with customer and end users. Determine requirements and goals. Introduction meeting implementation team. Project Manager
Coordination and quality management Coordination and quality management on throughout all phases of the implementation Project Manager
Define High availability Needs Determine the level of High availability required Project Manager
Technical intake Technical intake meeting; Infrastructure requirements (Hardware, OS, network/firewall, s/w requirement) for cloud setup Project Manager
Functional intake Functional intake meeting; Monitoring /Reporting/Alerting requirement. User/Roles/Groups/Rules model Project Manager
Deliver implementation plan Document requirements and goals. Document required functional and technical configuration. Build architecture Diagram. Update estimate planning based on implementation plan. Project Manager
B. Infrastructure Setup
Install hardware systems Plan EM12c compatible hardware systems EM Admin
Operating system installation Installation of certified OS platform [Refer Certify on MOS] EM Admin
Network configuration of hardware systems General network configuration of hardware systems I.e. TCP/IP, routing, NTP, firewall access, SSH, HTTP and HTTPS access. Set up network access between systems and work place of end users. Optionally implementation of remote access EM Admin
C. Production EM 12c Cloud Control Installation
Install of Oracle Database 11gR2 Installation of Oracle Database 11gR2 for Repository EM Admin
Installation of EM 12c Cloud Control Release 2 Update 1 and latest PSU Installation of EM 12c Cloud Control OMS/Agents EM Admin
Review HA, Security, Sizing Best practices Setup as per EM 12c Admin guide EM Admin
Review recommended patches Review latest PSU and DBaaS patches as per MOS Note 1549855.1 EM Admin
D. Setting up High Availability
Configure Repository For High Availability Enable Repository as per database high availability best practices.
Configure Standby database @ DR site for EM cloud control repository.
Configure repository database as RAC database with 2 or more nodes
Configure OMS for RAC/standby repository
EM Admin
Configure OMS for High Availability See Enterprise Manager Cloud Control Administrator's Guide for Configuring OMS for high availability EM Admin
Configure Agents for High availability See Enterprise Manager Cloud Control Administrator's Guide for Configuring Agents for high availability EM Admin
Test failover strategy Test the Repository and OMS failover to standby site EM Admin
Setup backups Setup back ups for Repository, OMS and agents EM Admin
E. EM 12c Cloud Control Functional configuration
Defining Roles and assigning users Setup Cloud, SSA Admin and SSA User roles and users EM Admin
Setup S/W Library Setup S/W Library for self update/plug-ins/cloud functionality Cloud Admin
Setup Self Update Setup self update to get new and updated capabilities when they become available between official releases EM Admin
Setup required plug-ins on OMS Oracle Cloud Application, Database, Chargeback and Capacity planning, Storage Management Framework (SMF) and Virtualization (VT) plug-ins are required EM Admin
Customize SSA Login Page (Optional) Configure Self Service Portal to customize the login page (eg option to have company brand image/service provider and tenant brand) EM Admin
Define/setup Notification methods Setup mail server for Notification. Setup email address for yourself and other administrators. Test and setup other notification methods if required EM Admin
Add Host targets which are going to be used for Cloud Push Agents on Servers part of PaaS Infrastructure. Push plug-ins on hosts Cloud Admin
Configure Hosts for Privilege Delegation Configure Hosts for Privilege Delegation. Setup Privilege delegation settings in Cloud Control. Setup named credential for cloud self service EM Admin
Provisioning Oracle RDBMS s/w on Hosts Provision/Configure and add Oracle Home as target in EM12c - Refer to EM 12c Lifecycle Management Admin guide for DB provisioning details.
Optional - If planning to use GI/RAC for cloud services, provision/configure GI/RAC Oracle Homes as targets in EM12c
In case of Exadata, Grid Infrastructure and RAC Database software is  already deployed on compute nodes via OneCommand from Oracle, so SSA  Administrator just needs to discover Oracle Homes and Listener as EM  targets. Databases will be created as and when users request for databases from cloud.
SSA Admin
Configure Listener Configure and add Oracle Database Listener as target in EM12c SSA Admin
F. Exadata Targets Monitoring Configuration in EM (Optional - in case DBaaS setup is on Exadata)
Deploy Agents on compute nodes Deploy Agents on Exadata compute nodes EM Admin
Exadata System Discovery and Configuration Specify host from which Exadata server is being discovered. Specify discovery parameters for Infiniband switches. Specify discovery parameters for associated subsystems, such as ILOM, KVM, Cisco switch. Complete discovery and confirm that all targets have been discovered. Verify that cell groups have been created for cells associated with each database. Verify the targets in the topology view of the Exadata Database Machine system. Navigate the topology and verify the configuration of the each of the targets in the Exadata Database Machine system. EM Admin
Exadata System Alerts, Metrics, Performance Monitoring and Actions This use case will demonstrate the different alerts, metrics monitoring and actions available EM Admin
Database to Exadata drilldown and IORM Demonstrate the ability to drill down from the database I/O to Exadata and then control the database I/O on Exadata using IORM EM Admin
G. DBaaS Functional configuration (RMAN, DBCA)
Creating PaaS Infrastructure zone Create Database zones. Add Hosts in PaaS Infrastructure zones Cloud Admin
Create Database Pool Setup a pool of Oracle homes. The Oracle homes should be of the same version, platform SSA Admin
Configuring Request settings Configure the database request settings by specifying when a request can be made, its duration and its retention period SSA Admin
Configure Quotas Configure Quota as aggregate amount of resources that can be granted to each self service user belonging to a certain role SSA Admin
Create DBCA/RMAN based Profiles Configure Profile that capture source database information as RMAN backup or DBCA template SSA Admin
Setup Service Templates in Catalog Create service templates as standardized service definition that is offered to self service users to create databases SSA Admin
Configure Chargeback Defining a Universal Charge Plan. Create Extended Charge Plan. Create a Business Hierarchy of Cost Centers SSA Admin
Provisioning Oracle database Provisioning Oracle database instances using SSA SSA User
Verify Chargeback Reports Verify Chargeback Reports SSA Admin
H. Schema-as-a-Service Functional configuration
Discover/Provision Oracle Database as Managed Target Provision/Configure and add source database and Databases where Schema is going to provisioned as targets in EM12c SSA Admin
Creating PaaS Infrastructure zone Create Database zones. Add Hosts in PaaS Infrastructure zones Cloud Admin
Create Database Pool Setup a pool of databases. The databases should be of the same version, platform SSA Admin
Configure Schema export based Profiles Create a database provisioning profile using Export Schema objects SSA Admin
Setup Service Templates in Catalog Create service templates as standardized service definition that is offered to self service users to create schemas SSA Admin
Configure Quotas Configure Quota as aggregate amount of resources that can be granted to each self service user belonging to a certain role SSA Admin
Configure Chargeback Defining a Universal Charge Plan. Create Extended Charge Plan. Create a Business Hierarchy of Cost Centers SSA Admin
Provision Schemas Provisioning Oracle schema/service instances using SSA SSA User
Verify Chargeback Reports Verify Chargeback Reports SSA Admin
I. Snap Clone Functional configuration
Creating PaaS Infrastructure zone Create Database zones. Add Hosts in PaaS Infrastructure zones Cloud Admin
Create Database Pool Setup a pool of databases. The databases should be of the same version, platform. SSA Admin
Register and Manage Storage servers Configure and setup ZFS/Netapp storage servers in EM 12c SSA Admin
Configure Snap Clone based Profiles Create Database Provisioning Profile Using Snapshots SSA Admin
Setup Service Templates in Catalog Create service templates as standardized service definition that is offered to self service users to create instances SSA Admin
Configure Quotas Configure Quota as aggregate amount of resources that can be granted to each self service user belonging to a certain role SSA Admin
Configure Chargeback Defining a Universal Charge Plan. Create Extended Charge Plan. Create a Business Hierarchy of Cost Centers SSA Admin
Provision using Snap Clone template Provisioning Oracle database instances using SSA SSA user
Verify Chargeback Reports Verify Chargeback Reports SSA Admin
J. Knowledge transfer
DBaaS Cloud setup demo/presentation session to deliver overview of the implemented system and usage Cloud/SSA Admin
K. Delivery
Delivery meeting Delivery meeting initiated and organized by PM Project Manager
Delivery of final implementation rollout Update of implementation plan to reflect latest implementation changes Project Manager
L. Post implementation tasks
Periodic health checks Health check of the EM12c system, EMDiag EM Admin
Periodic Cloud infrastructure usage analysis Cloud infrastructure monitoring periodic basis and realigning quotas/policies and pool infrastructure with business priorities
EM Admin
DBaaS Workshop for Administrators/end users Periodic training sessions for end users and Admins on DBaaS and EM 12c Monitoring/Administration capabilities Cloud/SSA Admin
Post implementation assistance Periodic reviews of Cloud and Management infrastructure and expansion planning with stakeholders and project  team EM/Cloud/SSA Admin




Additional information -


Schema-as-a-Service implementation using Oracle Enterprise Manager 12c

By Nilesh Agrawal

Schema-as-a-Service capability was released few months back as part of Oracle Enterprise Manager 12c Release 2 Plug-in Update 1 and is one of the widely talked about deployment models in a database cloud environment enabling deepest level of consolidation density possible and in turn driving maximum ROI. Schema consolidation also requires careful planning in terms of identifying the right mix of applications and business case and also meeting up with isolation requirements at operational, security and workload management levels. The following video presents Schema as a Service and other features supported by EM 12c Database as a Service.




In this post, I will go through the steps required to setup a Schema cloud service using Oracle Enterprise Manager 12c Release 2.This note is chalked down based on a recent customer experience and can be referred to by Administrators who are planning to or in process of setting up Schema-as-a-Service using Oracle Enterprise Manager 12c.


  • Project Planning - Define scope of implementation, engage end users/cloud consumers in the planning process and get the project plan approved from all stakeholders.
  • Setup Cloud Management infrastructure
    • Review the EM 12c Sizing paper before you get started with EM 12c Release 2 install
    • Refer to EM 12c Administrator’s guide for High Availability, Security, Network/Firewall best practices and options
    • Deploy EM 12c site using EM 12c Release 2 Installation guide
    • Oracle Cloud Application, Database, Chargeback and Capacity planning, Storage Management Framework (SMF) and Virtualization (VT) plug-ins are required for enabling overall Database-as-a-Service capabilities
    • Install latest EM PSU [MOS note 822485.1] and also recommended patches for Database-as-a-Service [MOS Note 1549855.1]
    • Setup Roles and Users - Cloud Administrator (EM_CLOUD_ADMINISTRATOR), Self Service Administrator (EM_SSA_ADMINISTRATOR), Self Service User (EM_SSA_USER) are the important roles required for cloud lifecycle management and different users can be created and mapped to their respective roles as per their functional responsibility. Roles and users are managed by Super Administrator via Setup –> Security option. For Self Service/SSA users custom role(s) based on EM_SSA_USER should be created and EM_USER, PUBLIC roles should be revoked during SSA user account creation.
    • Setup Software Library - Cloud Administrator configures Software library via Enterprise –> Provisioning and Patching option and the storage location provided is OMS shared filesystem. Software Library is the centralized repository that stores all software entities
    • Setup Self Update – Self update can be configured via Setup -> Extensibility option by Super Administrator and is the unified delivery mechanism to get all new and updated entities (Agent software, plug ins, connectors, gold images, provisioning bundles etc) in EM 12c.
  • Setup Schema Cloud
    • Identify candidate servers to be pooled together into database cloud and deploy agents on those servers
    • Next step is to pool these server resources into a 'PaaS Infrastructure Zone'. As Cloud Administrator user, Create PaaS Infrastructure Zone via Enterprise -> Cloud -> Middleware and Database Cloud option
    • Deploy Oracle Database and Configure listener - As SSA Administrator user, setup target database(s) for Schema pool using Provision Oracle Database deployment procedure Refer to EM 12c database provisioning section in EM 12c Lifecycle Management Administrator's guide. Ensure listener is configured and discovered in EM for all the servers part of the Schema Cloud.
    • Setup Database Pool for Schema Cloud - As SSA Administrator user, create database pool via Setup -> Cloud -> Database option. you can specify max workload allocated to each database and also can enable Resource manager at this stage
  • Setup Service Catalog
    There are two distinct use cases here. you can either have SSA user get a) reference schema(s) imported or b) empty schema(s) provisioned . In case of empty schema(s) use case you can directly create service template and skip first step of configuring profile
    • Configure Profile - Profile captures required information from reference database including metadata and actual schema(s) content. As SSA Administrator, create profile via Setup -> Cloud -> Database and select 'Profiles and Service Templates' under Database cloud SSA portal and use 'Export Schema Objects' option.
    • Create Service template - Service template defines the standardization and actual flow that will be run when SSA user requests for Schema(s) from service catalog. As SSA Administrator, create a new service template via 'Profiles and Service Templates' option. you can select the related profile using which schema should be auto-imported when SSA user requests for schema. Important Tip - As part of Service template creation flow, there is this option of including standard custom scripts that can run part of service request flow before or after self-service schema(s) are provisioned.
  • Setup governance rules and policies
    • Configure Request Settings - As SSA Administrator, configure request settings via Setup -> Cloud -> Database and select Request settings tab under Database cloud SSA portal. you can define maximum duration of requests, how far in advance requests can be made etc and other request associated settings
    • Configure Quotas - As SSA Administrator, configure quotas via Quotas tab in Database cloud SSA portal and define total amount of memory, storage, no of Schemas that can be granted to each user. Quotas are assigned at role level and only the roles that has EM_SSA_USER privilege assigned can be selected.
    • Configure Chargeback/Showback - Chargeback is all about accountability and here you can track and meter resource usage and related costs in shared resource model and provide IT and business some powerful reports related to resource utilization and consumption costs. As SSA Administrator, Refer to Setting up Chargeback flow for defining charge plans and cost centers, chargeback settings. Important tip - Cost Center name is set by default as SSA user name for any new schema service provisioned by SSA users. Cost center can be changed via the Setup -> Cloud -> Database ->  Chargeback tab,  select 'Configure targets' and here the schema service target can be assigning to a different cost center.
  • Rollout Self-Service Portal to SSA Users
    •  Requesting Schema service - SSA Users at this stage can login to the Database cloud SSA portal and select the service template to request for schema service. During schema service request you can provide schema prefix to be added, workload size of service, schema passwords etc
    • Access Schema service - SSA users can access provisioned schema service from SSA portal and they can use the connection details from summary. There are performance and usage graphs provided for schema service monitoring by SSA users. There is also option to export/import data for all Schemas part of this Schema service.
  • Monitor and Manage Schema Cloud
    • SSA Administrator can monitor the schema service requests via request dashboard via Enterprise -> Cloud -> Middleware and Database request dashboard.
    • Refer to Private Cloud Administrator's guide for additional details to monitor the infrastructure at service, pool and zone levels. Important tip - Services Instances UI provides lot of useful detail in a single screen as you get to see all types of services along with their pool, zone association and also with related service template details.
More information -

The Enterprise Manager: Episode 8 - Database as a Service

Our intrepid hero Ed Muntz is back after a short stint in marketing to rescue the CIO Felix from IT challanges created by virtualization sprawl and management challanges for his enterprise databases.  



Spinning VMs for database deployment is creating VM sprawl. Ed Muntz explains how Oracle Enterprise Manager enables rapid deployment of private database as a service and provides total control over the Database as a Service cloud.

By Anand Akela

Test Drive Oracle Enterprise Manager 12c Today

  

Are you looking for a place to test Oracle Enterprise Manager Cloud Control 12c features? Amazon Web Services new Oracle Enterprise Manager Cloud Control 12c – Monitoring Essentials Test Drive is the perfect solution for anybody who’s interested in testing out Oracle Enterprise Manager 12c before upgrading or deploying! Through a partnership with Apps Associates, AWS will provide 5 hours free access to an Oracle Enterprise Manager 12c environment with database and middleware targets for a look into the new features and abilities of Oracle Enterprise Manager 12c. A step-by-step guided workflow is provided to introduce the monitoring framework, including an overview of navigation, auto discovery, monitoring, management and reporting features.


Friday, May 17, 2013

Demystifying WebLogic and Fusion Middleware Management


Demystifying WebLogic and Fusion Middleware Management --- by Glen Hawkins, Senior Director, Product Management

This week, we are going to switch gears and talk about something that is near and dear to everyone responsible for running applications and middleware in their environment and that is monitoring and management with specific emphasis on the Oracle Enterprise Manager Cloud Control solution. 
Often, this particular topic is dismissed early in the architectural discussion and doesn’t rear its (sometimes ugly) head until development is fairly far along on a new application and planning their deployment or worse, problems in production begin to impact the overall service levels of an application to the point that the end-users are complaining or top line revenue is being lost because of poor performance or reliability problems.  The result is that the inexperienced will treat monitoring and management of their middle tier and their application system as a whole as an afterthought, while those that are more experienced or forward looking will tackle it from day one.
So, let's start with some common pitfalls or myths that people run into when considering or planning the deployment of their management along with some discussions on each of these points:

I think that most that have attempted this in the past have learned the error of their ways.  Most tools such as administration consoles like the WebLogic Administration Console are designed to get the product up and running and for general configuration and administration purposes of a single domain.  They are not intended as a solution to monitor and manage many domains (possibly even multiple versions of those domains) as well as the entire application infrastructure (i.e. Databases, Hosts, Message Queues, Service Buses, etc) at once.  And, they routinely don’t provide any historical metrics or real 24/7 diagnostics.  No administrator wants to be in a situation where a problem occurred an hour ago and they no longer have any information on it because they only have real-time data.  You need both real-time and historical monitoring and diagnostics capabilities. 
In addition, administrators routinely want to be able to answer the usual question that comes up when everything was running fine one day and fails to perform on the next, which is “what has changed”.  You need historical information to refer to at all tiers of the application including the host as well as visibility across the stack including both monitoring and configuration data to answer that question. 
Possible answers could be that the end-users have increased, the way the end-users were using the application has changed (i.e. that marketing event you didn’t know about changed behavior), application changes, WebLogic domain changes, JVM changes, a patch was applied, or someone even may have started running something new on the machine or impacted the OS. 
Correlating these changes and coming to a quick conclusion is key to ensure optimal application service levels in a production environment for your end-users.  That means that you need a full stack 24/7 real-time and historical monitoring solution that can also provide meaningful diagnostics and and track/compare configuration standards across the entire application system stack which is something that only Oracle Enterprise Manager Cloud Control is able to provide in the case of the Oracle stack.
This one is quite simple at the end of the day, especially for those that have been pulled into a war room in regards to a production application emergency with all the finger pointing and frustration that routinely ensues.  The various team members responsible for the different portions of an application system almost always need to collaborate to resolve problems.  By using separate tools, collaboration can be slow and frustrating. 
A single pane of glass with different roles and privileges mitigating who can see what allows everyone to speak the same language.  At the end of the day, when a fire drill arises, communication and collaboration will allow you to pull through, which is greatly enhanced with the correct solution. 
Oracle’s Enterprise Manager Cloud Control solution was designed to promote this level of communication between roles with flexible dashboards providing different views of the application to different team members and diagnostics that can provide meaningful diagnostics such as bi-directional navigation between JVM threads and Oracle database sessions which goes well beyond just isolating SQL calls and the Middleware Diagnostics Advisor which provides recommendations diagnostic findings for WebLogic stack to quickly cut down on your time to resolution as opposed to raw metrics which force you to piece together fragments of the story from completely separate tools.
I think this particular myth tends to surprise those that are new to application and middle-tier management.  In development environments, particularly during the QA and load testing phases for most applications, the environments are usually so well controlled and, as they are not in production, you can more easily reproduce errors and attempt to resolve them in these environments.  However, in production environments, it becomes extremely difficult to reproduce issues as the load, network, application environment, and overall intermittent behavior of all of the tiers can challenge even the most technical operations person including those who developed the application in the first place. 
We routinely see issues reported by end-users in production environments where monitoring is minimal. Often, hours, days, even weeks are spent trying to reproduce issues or waiting for them to happen again if they are intermittent and no historical monitoring and diagnostics is available in the environment.  The bottom-line is that you need to be able to diagnose problems in the production environment itself.
Within Enterprise Manager Cloud Control, both historical and real-time metrics are available 24/7 across all tiers and they are correlated together.  Let me provide a quick simple example of a possible root cause analysis scenario where an application is perhaps degrading in performance over time.  Memory analysis tools by themselves are not able to pinpoint the problem, but it is clear that there is a buildup of referenced objects on the heap (i.e. possibly falling under the high level classification of a “memory leak” like issue, but then again there are possibly other causes).  The historical solution might be to attempt to restart servers on a regular basis trying to maintain high availability as you do, but that will not get you closer to finding the real issue and it is a band-aid at the end of the day that may very well fail when and if capacity increases for your application.
Let’s say we start with getting a notification from Enterprise Manager Cloud Control that a critical alert has occurred on the Work Manager – Pending Requests metric indicating there is a buildup of requests in the application.  This an early indicator and the Request Processing Time alert likely soon to follow if the trend continues, so let’s jump in and diagnose the problem.
First, let’s look at one of the higher level customizable dashboards in the product to see the lay of the land:
We can see from our WebLogic application above (just a simple Medrec example in this case) that all of our servers look like they are up and running, some of our heap and other metrics look high, but not unreasonable with the exception of some of our JVMs which show some DB Wait locks in red in the right-most bottom table.  This is a sure indicator that the pending requests that we were alerted to earlier are likely associated with calls of some kind to the back-end database.  If I click on the JVM in question, I can take this down a level.
Now we are on our JVM target home page within our WebLogic Domain hierarchy (many more metrics and capabilities there that we won’t go into in this blog, but I will provide links below to see those capabilities) where we can see a bit more detail and filter on anything to our heart’s delight by clicking on the various hour glasses to search on methods, requests, SQL, thread state, ECID (a transaction ID in FMW), and other criteria, which will filter the graphs further down the page which show thread breakdowns by many of these dimensions.  I could also immediately create a diagnostic snapshot of the data to look at later if I so desired.  I can also click on the Threads tab (next to the highlighted “General” tab above) and look at historical thread data or play with the timeframe, but we can see just by looking at this that we were correct about the threads in the DB Wait state and it has been going on for some time now.  Let’s navigate from historical to JVM live threads (collected every 2 secs using native thread sampling as opposed to byte code instrumentation) to try to determine the root cause of why so many threads are stuck in the DB Wait state.
Looking above, it is apparent that we are running an SQL prepared statement originating from a front-end request from the “/registerPatient.action” URL.  I could then click on the “SQL ID” to actually bring myself to the SQL in question within a tuning screen, but the route of more interest is to click on the DB Wait link highlighted in the lower half of the screen for one of the threads.  This will take me into a read-only view of the actual Oracle database session itself.
Here we are in the database session itself.  As an operations person or developer, my options are obviously very restricted, but I can see that there is a blocking session ID.  Better yet, I can now click on that blocking session ID and see that something that is entirely outside of my WLS container or JVM  is causing contention and I can now communicate with my DBA to address the problem.  This could have been just as easily a badly tuned SQL statement or perhaps indicated an index problem.  Likewise, I could have discovered that my threads were locked by one another or a Network Wait or even File IO.  There are a multitude of possibilities, but because I have a tool that can see across these tiers, I can quickly diagnose the issue and I am speaking the same language as my DBA.  DBAs can also drill back up by the way from SQL statements to the JVM and WLS container (also in read-only mode obviously), so they can be proactive about maintaining the application.  This is just one simple example of how Enterprise Manager Cloud Control facilitates this type of communication between roles as there are many other similar features from the dashboards which can be tweaked per role giving the appropriate visibility for the various team members or the incident management that is designed to allow teams to collaborate or even work with Oracle Support via the WebLogic Support Workbench if necessary.
It is true that most Java transaction tracing solutions create overhead because of byte code instrumentation.  There is certainly a time and place for this type of diagnostics which can be very detailed and rich in its analysis.  Within Oracle Enterprise Manager Cloud Control, we do have an optional advanced diagnostics feature that provides this functionality.  Overhead is routinely much lower than just about any other solution out there, and it is indeed able to run 24/7 without incurring much overhead.  For many, the little overhead required is reasonable and well worth the enormous amount of visibility you get by being able to track individual or groups of transaction through each tier of your application isolating problems based on the actual payload.
However, for those who prefer to not use byte code instrumentation, the entire example provided above does not require any.  It simply uses the stack metrics collected from the Enterprise Manager Cloud Control agent, which sits on the host (not in the WLS container and thus out of process) and the JVMD agent, an extremely lightweight agent (just a war file) that uses native code sampling (no byte code instrumentation and thus no restart of the managed server).  The bottom-line is that you can get a ton of visibility without incurring any noticeable overhead and decide where and if you want to also trace transactions on an individual basis.  This type of flexibility ensures that all diagnostics needs are met.
Alright, so that was my last myth to dispel for this blog.  I could go on for quite some time and show the many other capabilities of the Enterprise Manager product such as the earlier mentioned Middleware Diagnostics Advisor, log viewing and alerting, the multitude of dashboards, thresholds, lifecycle management, disaster recovery, and patch automation features that span the full capabilities of Oracle’s solution for WebLogic and Fusion Middleware management, but perhaps there will be time for another blog on those topics later.
For now, I will leave you with some resources to help you leap beyond the myths.
Additional Resources 
Free Online Self-Study Courses from Oracle Learning Library (OLL)
WLS Performance Monitoring and Diagnostics
WLS Configuration and Lifecycle Management
Coherence Management
Real User Experience Insight

Disclaimer

Opinions expressed in this blog are entirely the opinions of the writers of this blog, and do not reflect the position of Oracle corporation. No responsiblity will be taken for any resulting effects if any of the instructions or notes in the blog are followed. It is at the reader's own risk and liability.

Blog Archive