This blog contains experience gained over the years of implementing (and de-implementing) large scale IT applications/software.

SAP – Oracle on VMware

Whilst researching the whole Oracle on VMware thing recently, I found a great number of articles on the subject.  Here’s a collection of the links I found most helpful whilst getting to know the principles of virtualisation all the way through to publicly available information on the performance of Oracle on the VMware vSphere platform.

Hardware Abstraction Layer definition (https://en.wikipedia.org/wiki/Hardware_abstraction_layer).

Hypervisor:
Wikipedia definition (https://en.wikipedia.org/wiki/Hypervisor),
VMware’s definition (https://blogs.vmware.com/vmtn/2007/03/hypervisor_that.html),
VMware’s definition (https://www.vmware.com/technical-resources/advantages/robust-foundation.html).

Intel VT-x Instruction Sets (https://www.intel.com/technology/itj/2006/v10i3/1-hardware/5-architecture.htm).

VMware ESX and ESXi:
What does ESX stand for (https://vmfaq.com/entry/32/),
Comparing ESX with ESXi (https://www.vmware.com/products/vsphere/esxi-and-esx/compare.html),
ESXi v5.0 released (https://www.vmware.com/company/news/releases/vmw-vsphere-ga-082511.html),
ESXi architecture white paper (https://www.vmware.com/files/pdf/ESXi_architecture.pdf).

VMware vSphere:
Product offerings (https://www.vmware.com/products/vsphere/mid-size-and-enterprise-business/buy.html),
Support (https://www.vmware.com/support/services/options.html),
Kits (https://www.vmware.com/products/datacenter-virtualization/vsphere/small-business/essentials-kits.html),
What’s new in v5 (https://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vCenter-Server-50-Technical-Whitepaper.pdf),
Supported guest OS (https://www.vmware.com/files/pdf/GuestOS_guide.pdf),
VMware Oracle support policy (https://www.vmware.com/support/policies/oracle-support.html),
VMware HCL (https://www.vmware.com/resources/compatibility),
vSphere Licensing and cost (https://www.vmware.com/files/pdf/vsphere_pricing.pdf),
Forrester Report – Total Economic Impact Of VMware vSphere Virtualizing Mission-Critical Oracle Databases (https://www.vmware.com/files/pdf/solutions/total-economic-impact-of-vmware-vsphere-oracle-database.pdf),
Oracle on VMware vSpehere 4 Essential Deployment Tips (https://www.vmware.com/files/pdf/Oracle_Databases_on_vSphere_Deployment_Tips.pdf),

RedHat Certifies Linux on VMware (https://hardware.redhat.com/show.cgi?id=674998).

Microsoft will support Windows on VMware (https://support.microsoft.com/?kbid=897615), (https://support.microsoft.com/kb/944987).

Oracle:
Support Oracle RDBMS, Linux on VMware (https://blogs.oracle.com/UPGRADE/entry/is_oracle_certified_to_run_on),
Oracle Linux same as RHEL (https://www.oracle.com/us/technologies/linux/025987.htm),
Oracle licensing (https://www.orafaq.com/wiki/Oracle_licensing), (https://www.oracle.com/us/corporate/pricing/specialty-topics/index.html),
Oracle License & Service Agreement (https://www.oracle.com/us/corporate/contracts/license-service-agreement/index.html),
Oracle Processor Core Factor Table (https://www.oracle.com/us/corporate/contracts/processor-core-factor-table-070634.pdf),
Oracle VM Tolly Group report (https://www.oracle.com/us/026997.pdf).
Running Oracle Production Databases on VMware (https://www.it-implementor.co.uk/2012/02/running-oracle-production-database-on.html).

Tolly Group (https://www.tolly.com).

SAP:
Running SAP on VMWare (https://www.vmware.com/solutions/partners/alliances/sap.html),
TCO and ROI of running SAP on VMWare (https://www.vmware.com/files/pdf/partners/sap/SAP_TCOROI_Customers_Final.pdf),
SAP Note: 1122387 – Linux: SAP Support in virtualized environments (https://service.sap.com/sap/support/notes/1122387),
SAP Note: 1122388 – Linux: VMware vSphere Configuration guidelines (https://service.sap.com/sap/support/notes/1122388),
SAP Note: 1492000 – General Support Statement for Virtual Environments (https://service.sap.com/sap/support/notes/1492000),
SAP Insider – 3 common misconceptions (https://www.vmware.com/files/pdf/partners/sap/sap-insider-virtualization-cloud.pdf)

Restarting SAP During Online BRBackup

If your online BRBackup has been started from outside of SAP (e.g. by an enterprise scheduling tool perhaps), then you can safely restart the SAP application without affecting the backup.

Simply use the “stopsap r3” command option to bring down only the SAP application and leave the database running.

If the backup was scheduled within SAP (e.g. through DB13), then you are not advised to do this since SAP will be waiting for the BRBackup return code.

SAP Statistics & DBSTATC

As I’ve blogged about before, SAP recommend that you disable the Oracle stats gathering job in Oracle 10g databases, and use their own job controlled through DB13 (or DB13c).

The reason for this, is that some of the SAP database tables have specific requirements when it comes to statistics gathering.  These tables are registered in the SAP table DBSTATC.
This table controls which tables should have statistics collected (active or not active) and the method used to collect the stats (estimate or full).
All other tables not in DBSTATC, will have their stats collected using the default BRConnect settings.

If you have custom “Z” tables, you can insert your own entry into the DBSTATC table if you know for sure that your table has specific requirements.

You can use transaction DB20 to check the status of statistics on tables.

When BRConnect runs, you will see in the log file how many tables have stats gathered using the default setting, vs those that are in DBSTATC.

Entries in DBSTATC which are disabled (should have not stats gathered) will register in BRConnect’s DBCHECK log as having harmful statistics if those tables are found to have statistics on them.  You can then use BR*Tools to remove the harmful statistics, but you should attempt to work out why you have got statistics on a table that you shouldn’t, otherwise they may re-appear.

You need to be aware that SAP provide a specific SAP note, 403704 that contains updates/revisions for entries in DBSTATC.  It may be worth reviewing this note once a year, as you may find some performance benefit from updated statistics, or removal of statistics on tables.

Take a look at Tom Cenens’ blog for additional information on this subject: https://scn.sap.com/people/tom.cenens3/blog/2011/01/24/improving-oracle-performance-by-maintaining-exception-table-dbstatc

SAP help for BRConnect: https://help.sap.com/saphelp_nw04/helpdata/en/88/fce73a86e99c77e10000000a114084/content.htm

SAP PI RSXMB_DELETE_MESSAGES – Copy job failed

Whilst implementing a process for the “switch” deletion of XML messages from the SAP PI persistence layer you may end up, at some point, in a situation where the deletion job simply fails to run.

The contents of the job log state: “Repeat terminated copy job first”. No further information is displayed and there are no errors in the system log (SM21).

By executing the ABAP program RSXMB_DELETE_MESSAGES (same as the delete job step) in SE38, you can then double click the error at the bottom of the screen:

Finally you will get an explanation and a process for resolution:

Call transaction SXMB_MONI and choose Job Overview. Repeat the incomplete job. If the job cannot be completed due to database errors, first correct the database errors, and then repeat the job again.”.

It seems the jobs displayed using the “Job Overview” in SXMB_MONI is not simply a view of SM37 jobs, but a view of the underlying job control and enqueue function specifically for the messaging framework.

SAP PI – Persistence Layer Deletion – Oracle Stats

When configuring persistence layer deletion in SAP PI 7.0, you should be aware that the very first time you enable the “switch” procedure and execute the delete jobs, the new tables will be created in the database.

These tables (SXMS*2) will NOT have any database statistics on them.

Therefore, once the switch procedure is completed, until your stats gathering job is executed in DB13, your PI system may run very slow indeed!

Either schedule a one-off stats gathering after the very first “switch”, or schedule the stats gathering frequently (e.g. daily).