The Wall Street Journal posted a video on their Video Center in which it is very clearly explained how internet cookies are used to track you while browsing the web.
In the real world it is very hard to keep track of your preferences, especially between a variety of shops. In the virtual world it is too easy.
It is possible you noticed that after the installation of Oracle AIA 11g R1 starting the Managed Server of WLS takes more time than before the installation. This is not only due to the new Composites. There are also some settings you could change to reduce the time the Managed server to which you deployed AIA needs to start up.
Change JDBC settings
JDBC Settings
To alter some of the JDBC settings that are configured during the AIA 11g installation go to the WLS Adminnistartion console – http://yourserver:port/console. In the Domain Structure choose: > Services > JDBC > Data Sources.
Change the settings of the following JDBC Data Sources that were created during the install of AIA of the AIA Demo:
AIACentralDS
AIADataSource
FODDataSource
FODDS
LifeCycleDataSource
mds-soa
XrefDataSource
Data Source Settings
In the Settings for "Data Source Name" select the Configuration and the Connection Pool tab. Expand the the Connection Pool tab by clicking the Advanced link. The alter the Login Delay from 30 to 0 seconds.
Login Delay
This will reduce the time that is needed to start the Managed Server by several minutes.
There are several advantages when working in a project with Oracle SOA Suite to have a local installation of the SOA Suite on your workstation. While developing and trying bits of code you can’t break other peoples work as you can on a central server. Running FMW 11g on a workstation with say memory on the low end of the spectrum can be challenging. In this blog I’ll show you some additional (to this previous post) measure that my blogless colleague Rob Heikoop came up with.
Rob came up with two things:
Create an All in One AdminServer as described on the Oracle wiki. We skipped BAM in the installation Use only one Domain in WLS. You’ll have to combine the admin en the SOA_domain. Running just one domain saves memory.
Keep the database centralized. In the central database each developer has it’s own SOA schema that is especially created for him. To do this run the RCU for every developer and use the prefix to reflect for example the developers initials (example of using RCU on slideshare). Not running the database on your workstation saves memory and CPU.
In order to have new developers being able to use this quickly we copy the reference installation (with plug-ins, patches and the works) and alter the configuration:
Alter the scripts in the C:\Devel\SOAMiddleware\user_projects\domains\soa_domain\bin directory to reflect your workstation name instead of that of the reference machine. You can do this easily by using an editor like Notepad++ and use Search > Find in files > Replace in files. Otherwise you’ll be stopping your teammates server…. (again sorry Rob)
Change the configuration files in C:\Devel\SOAMiddleware\user_projects\domains\soa_domain\config\jdbc to reflect the prefix created especially for you while using the RCU. Again Notepad++ can help you here.
On January 27th Larry Ellison and other Oracle executives outlined the Oracle Sun strategy in a live event. The webcast and sheets are available online. There is also a FAQ overview available.
Although there were already several posts on querying AQ, like “in the queue” and “enqueue“, the next one is great when monitoring queues. We are using this to monitor AQ, especially for Oracle ESB (hence the commented addition):
1
2
3
4
5
6
7
8
9
SELECT aq.name
, aq.queue_table
, aq.queue_type
, v$aq.*FROM v$aq
, all_queues aq
WHERE aq.qid = v$aq.qid
-- use if looking for ESB AQ: and aq.queue_table = 'ESB_JAVA_DEFERRED';
;
The query will result in something like:
It contains the following metrics:
Waiting – Number of waiting message;
Ready – Number of messages with status ready;
Expired – Number of expired messages;
Total Wait – Total waiting time per queue;
Average Wait – Average waiting time per queue.
A describtion of the AQ and Streams views can be found here.
If you are using AQ within Oracle ESB there might be a point in time you want to tune AQ performance. In this post you’ll find the results of Metalink research, and our experience on a production system.
Queue compatibility
When creating the ORAESB schema (in version 10.1.3.3) using the script $ORACLE_HOME/integration/esb/sql/oracle/create_esb_topics.sql, the queues are created with 8.1 compatibility. This is solved in 10.1.3.4. To alter this find the statement
look for the streams pool. There are several Metalink notes on this setting (including 316889.1, 102926.1 and 335516.1). The latter has a general recommandetion per RDBMS version:
11g: set STREAMS_POOL_SIZE to be greater or equal to 100 MB;
10gR2: set SGA_TARGET > 0 and STREAMS_POOL_SIZE=0 to enable autotuning of the Streams pool;
10gR1: use the STREAMS_POOL_SIZE init.ora parameter to configure the Streams memory allocation;
And of course you could use V$STREAMS_POOL_ADVICE to get advice for your specific situation.
Upgrade the JDK
A described here upgrading the JDK can also give a performance boost.
This post describes how to change the JDK for an Oracle Application Server 10.1.3.x installation. To check which JDK versions are supported with Application Server releases, check Metalink note 258833.1.
Stop all running Application Server processess.
Rename the current JDK directory:
1
2
cd $ORACLE_HOME
mv jdk jdk.old
Install or copy the JDK version you need into $ORACLE_HOME/jdk
Start the Application Server processess.
You can check the JDK version:
1
$ /jdk/bin>./java -version
AIX 5L specials
If your systems are running AIX 5L there is some patching to be done. Assuming you’re using JDK 1.5 you have to apply patch 5261515.
After upgrading to a IBM JDK it is very well possible to run into the JAVAX.NET.SSL.SSLKEYEXCEPTION:RSA PREMASTER SECRET ERROR. In that case you have to modify the $ORACLE_HOM/jdk/jre/lib/security/java.security to
and create a symbolic link (or copy the jar) from the directory $ORACLE_HOME/jre/lib/ext/ibmjsseprovider2.jar to $ORACLE_HOME/jdk/jre/lib/ibmjsseprovider2.jar as described in Metalink note 746423.1.
From today there is a SOA Suite 10.1.3 familiy member available for WebLogic Server 10.3. Oracle SOA Suite 10.1.3.5.1 has been released. As describedearlier we were looking for a recent SOA Suite version that is certified for a recent WebLogic server version. And here it is: Oracle BPEL Manager, Oracle ESB, Oracle Rules, and OWSM (basically all versioned 10.1.3.5.1) are certified with WLS 10.3.1.
In today’s post you can find out why you need a changelog, and what activity to add to your upgrade roadmap.
After a recent upgrade of SOA Suite to a more recent patch level, we saw errors that some of us vaguely remembered. They were traced back to transaction timeouts in the BPEL Server. Searching Metalink, OTN, and of course Google we found out we had to change the transaction-timeout and min-instances in the orion-ejb-jar.xml. More detailed information on these settings can be found on in the SOA Suite best practises. However they are not in the spotlight of this post. So let’s go back to the main story.
At that time it seemed strange that the suggested values in the documentation, and as mentioned in blogposts, conformed with the ones we thought set in production.
Need for a changelog
Fortunately we have a changelog. We checked it, and indeed the values should correspond. We set these during a previous tuning effort. Time to check the actual orion-ejb-jar.xml in the production environment. Oops! During the SOA Suite upgrade our fine tuned orion-ejb-jar.xml was overwritten with one with default values
Recommendations
What can you learn from our experience:
Maintain a changelog – also for configuration settings;
Include a post upgrade action in your plan to check whether all tuning and other configuration settings are still at the appropriate values;
Oh, and by the way, keep your test environment in sync with production (including all configuration settings)! So all this can be well planned and tested before the actual go live.