Sunday, March 13, 2011

Oracle App Performance tips !!

Topic 1: Error: nca_connect_server: cannot communicate with host x on port xxxx  

Action.c(209): Warning: ifError expired (5)
Action.c(209): Error: nca_connect_server: cannot communicate with host XXXX on port XXXX
Abort was called from an action.

I have done many projects with Oracle Applications up to 11.5.9 with
LoadRunner versions up to 8.1.4 without any issue.

While preparing for a big migration project to Oracle Applications 12.1.1
using the latest LoadRunner 11 (Patches 2 & 3 applied), it seems no matter which way I tried it, the script would not play back.....


I finally found some reference to there being a LoadRunner bug in version 9.x with Oracle Applications, to try 8.1.4, and, Shazaam, it worked. I have not fully tested out all of the functionality -- scripting, playback....I have yet to record, parameterize, and play back a full business process in the Controller.
And, I do not yet know if it must be run from a 8.1.4 Controller or if
it can be run from a 9.0 Controller...

As for the "?record=names" thing, it is an Oracle Applications Setup
task best left to an Oracle Applications Developer, unless you've done
it before. I have done it many times and one wrong fat-fingered mistake
will prevent the user / group from working at all. What this does is
turn on the Oracle Developer Names so what is recorded in LoadRunner is
the Forms field name instead of the field number. It makes the script
more stable. A small change, like adding one field on a page, will
cause the form field numbers to change and totally negate the scripts.
However, the form field NAMES never change, and so remain the same
throughout the development test cycles....

Let's keep this dialog about Oracle Applications going, as currently,
there's precious little in the HP support site, the HP vendor
sites,.....nowhere

**************************************************************
The Challenge


We recently load tested our first Oracle R12 release (Order Management modules). We knew we’d be “cutting new ground” with LoadRunner on R12. This became evident with our first test record-and-playback, which failed even after finding and fixing all the missing correlations. We filed an SR with HP, and with their initial help, step by step we overcame all the nuances of coaxing VuGen to record successfully, and then creatively working around its inability to recognize the full set of identifiers for a new java ITEMTREE object.


This Practical Solution describes the challenges we encountered and how we overcame them. See the Technical Issues and Solutions section for the gory details.


Before You Start:
As with 11i, remember that you must expose “Oracle Developer Names*” on the instance before recording. There’s an HP technote on this, but here are the steps:
1. Launch Oracle, log in with Administrator privs, and select System Administrator responsibility
2. Select Navigator/Profile/System
3. Within the Find System Profile Values form:
a. Check the Display: Site
b. Enter Profile = ICX: Forms Launcher
c. Press the Find button
d. Update the site value by appending “?play=&record=names” at the end of the site level
URL
4. Save your transaction.
* Failure to do this will result in generic field names that make scripting much more difficult and harder to
maintain.

Lessons Learned

• HP Support can help!
• Oracle Metalink documents provide good info on R12 architecture and configuration
• If VUGen stumbles on a new object, try the QTP Object Spy.
• R12 can be installed in two distinct communication modes; make sure it’s in the more efficient
“socket mode” before you begin scripting.
• Porting scripts is a pretty common requirement – save crucial time at “show time” by
parameterizing the instance-specific values up-front.