Category Archives: Oracle

VirtualBox improve virtual machine performance

VirtualBox improve virtual machine performanceVirtual Machines are a great way to test stuff or use valuable tools in a separate environment. Think of test driving an OS, like Ubuntu 12.04 or Windows 8. Other examples include using pre-build appliances to use Oracle SOA Suite and BPM or WebLogic Server and Java tools.

Improve VirtualBox appliance performance

These Virtual Machines can be quite demanding for resources on your PC or laptop. Fortunately there are ways to speed up VirtualBox appliances. Besides increasing the allocated CPU power and RAM there are a few less expected things you can do:

  • Create fixed size disks – A preallocated disk will have less fragmentation. Adding of files to the virtual disk will be faster (spaces is already reserved). The downside is that a fixed-size disk uses more space on your hard disk.
  • Exclude the Virtual Machine directory from the virus scanner – Scanning there from the host isn’t very useful either. So add this directory to the exclusion list.
  • Put the VirtualBox files on non-system disk – Put the VirtualBox files on a non-system disk. The virtual disk and your hosts’s OS won’t be competing to read from or write to these same disk.
  • Make shure the Intel VT-x and AMD-V setting is ON – These are processor extensions that improve virtualization performance.

SOA Suite delete instances for specific composite

There are fine resources on how to purge SOA Suite instances. However there are case where you want to delete the instances for a specific composite deployed in the SOA Suite. An example could be after an extensive test or test load on a specific service implemented in a SCA composite.

Here is the PL/SQL we used to purge instances of the productservice composite in the test partition. It is based on the default packages that are bundled with the SOA Suite to purge instance data:

   l_min_creation_date   TIMESTAMP     := to_timestamp('2010-01-01','yyyy-mm-dd');
   l_max_creation_date   TIMESTAMP     := to_timestamp('2012-09-10 1600','yyyy-mm-dd hh24mi');
   l_batch_size          INTEGER       := 100;
   l_max_runtime         INTEGER       := 60;
   l_soa_partition_name  varchar2(100) := 'test';
   l_composite_name      varchar2(100) := 'productservice';
-- delete instances for specific composite
soa.delete_instances( min_creation_date => l_min_creation_date
                    , max_creation_date => l_max_creation_date
                    , batch_size => l_batch_size 
                    , max_runtime => l_max_runtime
                    --, retention_period =>
                    , purge_partitioned_component => FALSE
                    , composite_name => l_composite_name
                    --, composite_revision => 
                    , soa_partition_name => l_soa_partition_name

You can use the instances tab to track the progress of the delete script:
Composite instance count

Installing an all 64 bit JDK JDeveloper set on Windows7

You might know that JDeveloper is supported on 64 bit versions of Java and Windows since release Fusion Middleware is supported on JDK7 both 11g and 12c versions since May 2012. So I decided to try to install an 64 bit JDK7, 64 bit JDeveloper on Windows 7 64 bit.

Since most of my JDeveloper work is aimed at SOA Suite, BPM and non-ADF Java, I choose the JDeveloper 11g IDE. On the JDK site I started with JDK7u6. However a security thingie got in the way and I switch to JDK7u7. I’m assuming you have a PC/laptop/VirtualMachine running a 64 bit version of Windows7.

Install JDK7 update 7

The latest JDeveloper support/certification info states:

  • 64 bit JDK supported for Windows as of JDeveloper
  • For JDK 6, update 24 or later is recommended
  • For JDK 7, update 3 or later is recommended

However due to the security vulnerabilities in all earlier JDK 7 versions (on all OSes and their browsers) it is recommended to install only JDK7 update 7 and up.

Download JDK 7 for Windows 7 64bit. To install JDK7 on Windows7 double click the downloaded file.

Install JDeveloper

Since we have chosen a 64 bit JDK ourselves we downloading the jdevstudio11116install.jar from OTN Developer Tools site.

Before installing we check whether the correct JDK version will be used (from the command prompt (cmd)):
C:\Oracle\jdk7u7\bin>java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)


And then to install JDeveloper from the command prompt (cmd):

C:\Users\deltalounge\Downloads>java -jar jdevstudio11116install.jar
Extracting 0%...................................................................

Then a GUI starts and the most important screens are:

Install SOA Suite, BPM and AIA extensions

Follow the guidance of these post to install JDeveloper extensions:

And you are ready to go.

Oracle BPM enable BAM

BPMN processes created in the BPM Suite can be monitored by standardized dashboard in the BPM workspace. Besides that there a default views to export Oracle BPM metrics to a data warehouse. And there is another option: BAM – Business Activity Monitoring. BAM takes the monitoring of BPMN processes one step further. BAM allows you to create more advanced dashboards and even real-time alerts. BAM enables you to make decisions based on real-time information gathered from your running processes. With BPMN processes you can use the standard Business Indicators that the BPM Suite offers you and use them to with BAM without much extra effort. However you have to enable BAM in BPM processes.

  • In the BPM Project Navigator right click the BPM project
  • Select Project Preferences
  • In the Category tree, select Process Analytics Summary
  • Click the Data Targets tab
  • Check the Enable BAM checkbox
  • Select the JNDI name of the BAM Adapter labeled as eis/bam/soap
  • Click OK

When you run a process that has Oracle BAM enabled the BPMN Service Engine populates Oracle BAM database with information about the business indicators measured in that process. The BPMN Service Engine generates this information based on the Sampling Points preference you defined in your project.

Also read the blog post on how to configure your SOA server to know where your BAM server is running. This is also needed to use BAM for BPM metrics.

Export Oracle BPM metrics to a data warehouse

Managers and teamleads rely on measurements to know how processes and teams are performing. With an increased BPM effort and automated support of processes, more and more questions on solid information from these systems rise. Oracle BPM offers an easy way to export metrics to a data warehouse. Oracle BPM captures standard and business specific metrics and exposes these through a BPM process star schema.

Export Oracle BPM metrics to a data warehouse

To export Oracle BPM metrics to a data warehouse the SOAINFRA schema in which all configuration and (runtime) instance data is stored offers a number fact tables. These standard views enable the extraction of information for BI usage. For Oracle BPM release prior to PS4FP ( the views have to be created manually. From patchset 4 onwards the process has been automated. Please note that it is not recommended to run the BI reports on the BPM process database.

An overview of the standard fact tables:

  • BPM_PROCESS_PERFORMANCE_V – offers standard metrics (like start and end time and running time in seconds) for completed processes.
  • BPM_ACTIVITY_PERFORMANCE_V – offers standard metrics for completed activities, completed intervals, measurement marks and counters for both in-flight and completed process instances.
  • BPM_PROCESS_INSTANCE_V – offers standard metrics for in-flight process instances. Because of that the information is only relevant at the time the view is queried. When processes move forward the information in this view refelcts the progress.
  • BPM_ACTIVITY_INSTANCE_V – offers standard metrics for in-flight activities and interval instances.

An overview of the dimension tables:

  • BPM_PROCESS_DEFINITION_V – including data on domain, composite, label and revision.
  • BPM_ACTIVITY_DEFINITION_V – including the type of activity: UserTask, Gateway, Event, Measurement interval, etc.
  • BPM_ROLE_DEFINITION_V – also allows you to see whether the role is the process owner.

Example queries of BPM process metrics

Average process running time by process:

SELECT process_name
,      avg(process_running_time_in_msec)
FROM   bpm_process_performance_v 
GROUP  BY process_name

The number of faults by process:

SELECT process_name
,      COUNT(sequence_id)
FROM   bpm_process_performance_v
WHERE  process_discriminator = 'instance_system_fault'
GROUP BY process_name

When you run the process in multiple domains on the same server join with the BPM_PROCESS_DEFINITION_V and differentiate on DOMAINNAME.

Example queries of task performance metrics

Average, minimum and maximum time taken by a participant in a process per activity:

SELECT process_name
,      activity_label
,      role_name
,      avg(activity_running_time_in_msec)
,      MIN(activity_running_time_in_msec)
,      MAX(activity_running_time_in_msec)
FROM   bpm_activity_performance_v
GROUP BY process_name
,      activity_label
,      role_name

You could add the revision to see whether certain improvements in the process resulted in faster handling of activities by joining with the BPM_PROCESS_DEFINITION_V. It could also be usefull to join with the BPM_ACTIVITY_DEFINITION_V and discriminate on ACTIVITYTYPE.

VirtualBox – Install Ubuntu 12.04

VirtualBox Install Ubuntu 12.04To install Ubuntu 12.04 in a VirtualBox image, create a new VirtualBox image as described in the blog post on installing Ubuntu 11.04 in VirtualBox. In later versions of VirtualBox you can choose mutiple types of virtual disks (.vdi , .vmdk , et cetera). This is only relevant if you want to share you image across multiple virtualisation platforms.

Check the instructions to install Ubuntu 13.04 in VirtualBox.

Install Ubuntu 12.04

  • Go to the settings of the newly created VirtualBox image;
  • In the storage section add an IDE Controller pointing to the installation disk: ubuntu-12.04-desktop-amd64.iso;
  • Ensure that you have asigned the VBox image enough processing power and memory;
  • Boot the installation iso by starting the VirtualBox image;
  • Watch Ubuntu 12.04 booting;
  • Choose your language and install Ubuntu;
  • After Ubuntu prepared it’s install and checks some stuff for best results, click Continue to go on with the installation;
  • In a new VirtualBox image you can safely choose to erase all stuff on disk and install Ubuntu (it will use ext4 as a file system);
  • Select the created VBOX Harddisk to do so. Choose install now;
  • Choose the location while Ubuntu continues creating the file system in the background;
  • While Ubuntu keeps copying files choose your keyboard layout;
  • Choose your name, the computer’s name, your username and password. For additional security you can choose to encrypt your home folder;
  • Restart the Virtual Machine and log in;

VirtualBox Guest additions

Check this post on Vbox guest additions to install the VirtualBox guest additions.


Uninstall JDeveloper

Uninstall JDeveloperQuick tip: In case you need to uninstall JDeveloper for example when installing a new version of JDeveloper or WebLogic Server, here is how:
Locate and run from the JDeveloper / Middleware home (eg C:\Oracle\Middleware ):

  • On Windows: \utils\uninstall\uninstall.exe
  • On Linux, Unix and Mac OS: /utils/uninstall/uninstall

You can use the silent mode parameter: -mode=silent to uninstall JDeveloper on all supported systems.

JDeveloper 11g with BPM Studio extension

To create Oracle BPM processess with JDeveloper you need to install the BPM Studio extension. This is similar to installing the SOA Suite extension.

Ensure that the desired version of JDeveloper is installed. You can download JDeveloper here. Should you be unsure on how to install JDeveloper check the SOA Suite quick start guide to guide you.

Install JDeveloper BPM Studio extension

Install JDeveloper in a seperate Middleware Home. When starting JDeveloper choose the “Default” role. To enable JDeveloper to perform development for the SOA Suite and develop and deploy SCA composites you have to install an extension called SOA Composite Editor. When you want to develop BPM processess you need to install BPM Studio extension following these steps:

  • Select Help > Check for Updates
  • Click Next
  • Select Oracle Fusion Middleware Products and Official Oracle Extensions and Updates and click Next
  • Select Oracle SOA Composite Editor and Oracle BPM Studio 11g and click Next
  • Check the update has finished and click finished
  • Restart JDeveloper and you’re good to go

JDeveloper BPM Studio extensionShould you choose to install these extensions from a local file make shure you have the correct version for your JDeveloper and SOA Suite install. You can find these extensions in the JDeveloper Update Center. There is also a JDev extensions blog.

How to VirtualBox overview

VirtualBoxIn this post we’ll share some VirtualBox resources that will help you to use Oracle virtualization product VirtualBox.

Installing an Operating System in VirtualBox

There are several great blog post on how to install an Operating System (OS) in VirtualBox. The install Ubuntu 11.04 in VirtualBox not only offers a good step by step guide to install Ubuntu (also check the more recent Ubuntu 12.04 ) , the steps also provide great insights when you want to install other operating systems. It is fairly easy to get from there to installing Windows8 in VirtualBox.

VirtualBox appliances and extending them

There are several great VirtualBox Appliances for Developers. Oracle offers for example both an appliance to test drive SOA Suite 11g and BPM 11g and a very recent appliance running WebLogic Server 12c , including a bunch of Java tools (including NetBeans, OEPE, Subversion, Hudson, Maven).

These VirtualBox Appliances can easily be extended for example with Oracle OSB as described in installing OSB on SOA Suite 11g appliance and extend SOA Suite appliance with Oracle Service Bus. The latter showing you how to extend the SOA domain and the first how to install OSB in a seperate domain.

Dealing with real world problems using VirtualBox

There a several examples on the web. I’d like to share three of them. The first shows you how to create a duplicate disk for use in an additional virtual machine. The second shows you how to update a Vagrant box.

On the side: Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically. It uses Chef or Puppet to provision them. Vagrant is used so other developers can get up and running in just a couple commands.

The third shows you how we solved VBOX_E_FILE_ERROR (0x80BB0004) :
VBoxManage.exe: error: Code VBOX_E_FILE_ERROR (0x80BB0004) – File not accessible or erroneous file contents (extended info not available)

Or how to solve VirtualBox VERR_VMX_MSR_LOCKED_OR_DISABLED (0x80004005)
Failed to open a session for the virtual machine Ubuntu 12.10.
VT-x features locked or unavailable in MSR. (VERR_VMX_MSR_LOCKED_OR_DISABLED).

Since Virtual Machines can be quite demanding for resources on your PC or laptop: Here are some hints to increase appliance performance in VirtualBox.

Have Fun!

Fusion Middleware supported on JDK7

JDK7Trying to keep up with Java versions that are supported for JDeveloper and SOA Suite, like in JDeveloper now supports 64 bit Windows and Java. Redstack pointed me to the OFM supported systems configurations that show that Fusion Middleware is supported on JDK7. The XLS showing certification with OS etc can be found: