Tuesday, September 13, 2011

Create multiple SoaSuite10g instance under one Database Instance

Problem Description: 

During installation of SOA Suite limited to this version, since I have tested personally on this version therefore I have mentioned this version number here), the SOA Suite Installer first run the IRCA (Integration Repository Creation Assistant) internally which create three schema orabpel, oraesb, orawsm schema in given Database instance. A Database Software and Database Instance should be installed before running SOA suite 10g installer, its prerequisite for SOA Suite10g. IRCA will create above three schema and will create all product tables inside it and user can access BPEL console, esb console, owsm console after installation but now problem comes when requirement comes to install multiple SOA Suite instance in same machine because team needs multiple SOA Suite environment to continue their development, ST testing, SIT testing, UAT Testing, Pre Production etc.

Each SOA Suite Instance need a separate database instance coz during SOA Suite installation, installer won't allow user to change the name of orabpel, oraesb, orawsm schema and these schema name already exist in previous database instance. So the same schema name can’t be used in same Database instance name. e.g DBA first installed the Database software after that he/she created an Database instance called “XE”. In next steps Fusion infrastructure person run the SOA Suite10g installer and created three above schema in it without any problem and one SOASuite10g environment is ready.

Now for second SOASuite10g environment when user will again run the SOA Suite10 installer then user won’t be able to continue with same database instance XE since all above three schemas already exist in XE database. The only option remain is to create another database instance XE1 which will consume more primary and secondary memory and will be useless coz these all just testing environment.

Figure 1:  SOA Schema Connect info.

To overcome above problem there is one option available which we came to know after lots of effort.
IRCA also provide a command line utility and shell .sh script for unix/solaris which support an attribute called –overwrite which help to rename the existing schema name to new schema name. So orabpel schema name now can be changed to orabpel_ST, orabpel_dev etc. and then when user install second instance or SOA Suite10g on same machine under same Database instance it won’t get conflict with existing schema names since existing one got renamed and won’t create any problem during installation and second instance of SOA Suite10g will get installed successfully on same machine using same XE database instance.

Command to run or irca.bat

Syntax: [all "<db_host> <db_port> <db_service_name>" <sys_password> overwrite] newSchemaName newSchemaPWD

e.g. all " 1521 XE" welcome –overwrite orabpel_dev welcome1
irca.cmd orabpel “ 1521 XE" welcome –overwrite orabpel_dev welcome1

above command will rename the existing orabpel/all (three) schema name to orabpel_dev and another SOA Suite10g instance can be installed under same Database instance XE.

Note: After making changes, datasource configuration at application server also need to change at Weblogic or Oracle application server whichever has been used then only new schema name will be linked to newly created SOASuite10g environment.

Objective: This post will help to maximize the usage of hardware, reduce the cost of installing multiple hardware for multiple environments.  In every project implementation multiple environment of SOASuite is required for smooth implementation of project for all the phases. This post will help to remove the technical hurdle which comes with SOASuite installer as showed in above screenshot coz user can’t change or select any other schema name for SOASuite10g installation name. SOASuite10g has predefined the schema name for installation purpose but using above steps that situation can be worked out.

No comments:

Post a Comment