Powered By Blogger

Tuesday, June 29, 2010

How to change dehydration store DB for SOA Suite

This article explains about pointing SOA 10g suite dehydration data store to another database.
  • Install another database instance and ensure that the new target database is running.
  • Run IRCA script to create schemas for BPEL, ESB and OWSM in the new Database. example: irca all "localhost 1521 v102" welcome -overwrite
  • Backup the file- ${OC4J_HOME}\config\data-sources.xml
  • Change the following ESB and BPEL connection pools to point to new DB resource
  1. BPELPM_CONNECTION_POOL
  2. ESBAQJMSPool
  3. ESBPool
You can use either Enterprise Manager Console to perform these changes or edit the file: ${OC4J_HOME}\config\data-sources.xml


Below is a sample of configuration for BPELPM_CONNECTION_POOL in data-sources.xml<



<connection-pool name="BPELPM_CONNECTION_POOL">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="orabpel_OracleAS_1" password="orabpel" url="jdbc:oracle:thin:@localhost:1521:xe"/>
</connection-pool>
  • If you are changing from Olite DB to Oracle EE, look in the project's build.properties files for DB_URL and change DB_VENDOR from "olite" to "oracle"
    DB_VENDOR=oracle
    otherwise no change is neccesary.
  • Update ESB Metadata - Connect to ESB schema (ORAESB) and change the value of DT_OC4J_HOST and DT_OC4J_HTTP_PORT to match your environment Hostname and Port and by running the following SQL script:
insert into esb_parameter values('ACT_ID_RANGE', '400');
insert into esb_parameter values('DT_OC4J_HOST', 'soainternal.mycompany.com');
insert into esb_parameter values('DT_OC4J_HTTP_PORT', '7777');
insert into esb_parameter values('PROP_NAME_INITIAL_CONTEXT_FACTORY', 'com.evermind.server.rmi.RMIInitialContextFactory');
insert into esb_parameter values('PROP_NAME_DEFERRED_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_DEFERRED_XATCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_DEFERRED_TOPIC_JNDI','OracleASjms/ESBDeferredTopic');
insert into esb_parameter values('PROP_NAME_ERROR_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_ERROR_XATCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_ERROR_TOPIC_JNDI', 'OracleASjms/ESBErrorTopic');
insert into esb_parameter values('PROP_NAME_ERROR_RETRY_JNDI', 'OracleASjms/ESBErrorRetryTopic');
insert into esb_parameter values('PROP_NAME_ERROR_RETRY_TCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_MONITOR_TCF_JNDI', 'OracleASjms/MyTCF');
insert into esb_parameter values('PROP_NAME_MONITOR_TOPIC_JNDI', 'OracleASjms/ESBMonitorTopic');
insert into esb_parameter values('PROP_NAME_CONTROL_TCF_JNDI', 'OracleASjms/MyXATCF');
insert into esb_parameter values('PROP_NAME_CONTROL_TOPIC_JNDI', 'OracleASjms/ESBControlTopic');
commit;
  • Review the inserted values using- select * from esb_parameter
  • Restart the SOA container and verify the opmn and J2EE container logs for any errors.

1 comment:

  1. I have some questions this interesting post. Our team wants to make a copy of a production dehydration database then be able to use it with BPEL Console on another SOA-BPEL(TEST) server enviroment. We want to do this so we still will have audit data when we begin dehydration database purging. I was thinking perhaps a new BPEL Domain would be required but will your method accomplish our goals?

    Thank you!
    Henry

    ReplyDelete