WebLogic in its wisdom wraps BLOBS from Oracle when accessing Oracle via DataSources. OracleRDBMSAdapter hard codes in the Blob class "oracle.sql.BLOB" but when accessing Blobs via a WebLogic DataSource, this needs to be "weblogic.jdbc.vendor.oracle.OracleThinBlob". To work around this we just extended OracleRDBMSAdapter to create an OracleWebLogicRDBMSAdapter which overrode the Constructor and set the above class as the classname in the Class.forName() method. A slightly better solution would be to allow the blob class to be fed in as a parameter in Domain.xml. This would require setParameters() to be overriden in OracleRDBMSAdapter. The default class could be set in the constructor and the call to Class.forName could be delayed until the setParameters() call. If no suitable "blobClass" parameter was set, it would default to the current code.
This appears to be an alternative solution to bug #30445 but that seems to have been closed but never fixed. The suggestions below have the added advantage of not requiring weblogic.jar to compile.