Montag, 12. November 2012

MDS-01370: MetadataStore configuration for metadata-store-usage

Folgendes Problem hat mich gerade etwas Zeit gekostet: die SOA bzw. BPM-Suite startet nicht aufgrund folgender Fehler:

<Nov 12, 2012 10:01:50 PM CET> <Error> <oracle.mds> <BEA-000000> <
oracle.mds.lcm.exception.MDSLCMException: MDS-01330: unable to load MDS configuration document   
MDS-01329: unable to load element "persistence-config"
MDS-01370: MetadataStore configuration for metadata-store-usage "soa-infra-store" is invalid.   
MDS-01376: Unable to get database connection from data source "mds-soa" configured with JNDI name "jdbc/mds/MDS_LocalTxDataSource".    
weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: Socket read timed out


Danach gibt es dann die üblichen mehrseitigen Exceptions. Die Lösung fand sich dann im OTN Discussion Forum. Zusammenfassend half folgendes:

Auf der Datenbank:
conn / as sysdba
alter system set PROCESSES=500 scope=SPFILE;
alter system set open_cursors=500 scope=SPFILE;

startup force

Auf der Commandline:
set RCU_JDBC_TRIM_BLOCKS=TRUE (Windows)
bzw.
export RCU_JDBC_TRIM_BLOCKS=TRUE (Unix)

Und als letzten Schritt das RCU ($RCU_HOME/bin/rcu) neu laufen lassen. Das bestehende Repository löschen und mit den gleichen Parametern wieder anlegen.

Bei der Gelegenheit sollte vielleicht gleich -XX:+UseCodeCacheFlushing in der setSOADomainEnv.sh gesetzt werden, um den JVM-Fehler 'CodeCache is full. Compiler has been disabled' zu vermeiden. Eine sehr gute Beschreibung dazu findet sich hier.