I recently had to recover a SOA suite server after something went wrong with one of the composite deployments. During startup of the server it would show in the diagnostic logs that there was a problem finding the composite.xml of one of the composites. That resulted in the soa-infra deployment being unable to start (Really Oracle!!? Why would this be a terminal failure?)
Anyway, luckily there is a way of deleting that particular composite from the MDS. I found the solution in this note on Oracle Support: 1380835.1
Once you've obtained the EAR file from the support note, the steps are pretty simple:
- Download and copy the ShareSoaInfraPartition.ear file to $MIDDLEWARE_HOME/oracle_common/common/bin
- cd to $MIDDLEWARE_HOME/oracle_common/common/bin
- run wlst.sh
- connect to AdminServer ex. connect('weblogic','password','t3://localhost:7001')
- run deploy('ShareSoaInfraPartition','ShareSoaInfraPartition.ear',upload='true')
- run exportMetadata(application='ShareSoaInfraPartition',server='AdminServer',toLocation='/fmw11g/fmw1115/Middleware',docs='/deployed-composites/deployed-composites.xml')
- Updated the deployed-composites.xml file and delete the offensive composite from the file.
- run importMetadata(application='ShareSoaInfraPartition',server='AdminServer',fromLocation='/fmw11g/fmw1115/Middleware',docs='/deployed-composites/deployed-composites.xml')
- Disconnect from the server ex. disconnect()
- Restart your SOA servers