Hi,

We are using SDB (1.3.5-SNAPSHOT) backed by Oracle to store and access
triples, and encountered this error:

[ERROR]- Error in thread: Problem making new tupleloader
com.hp.hpl.jena.sdb.SDBException: Problem making new tupleloader
 at
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.updateOneTuple(LoaderTuplesNodes.java:292)
 at
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.access$200(LoaderTuplesNodes.java:43)
 at
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes$Commiter.run(LoaderTuplesNodes.java:362)
 at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.GeneratedConstructorAccessor403.newInstance(Unknown Source)
 at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
 at
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.updateOneTuple(LoaderTuplesNodes.java:288)
 ... 3 more
Caused by: com.hp.hpl.jena.sdb.SDBException: Problem initialising loader
for [Quads]
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.<init>(TupleLoaderBase.java:59)
 at
com.hp.hpl.jena.sdb.layout2.hash.TupleLoaderHashBase.<init>(TupleLoaderHashBase.java:29)
 at
com.hp.hpl.jena.sdb.layout2.hash.TupleLoaderHashOracle.<init>(TupleLoaderHashOracle.java:34)
 ... 7 more
Caused by: java.sql.SQLSyntaxErrorException: ORA-00955: name is already
used by an existing object

 at
oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
 at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
 at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
 at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
 at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
 at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:942)
 at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
 at
oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770)
 at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739)
 at
oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:299)
 at com.hp.hpl.jena.sdb.sql.SDBConnection.exec(SDBConnection.java:183)
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.createTempTables(TupleLoaderBase.java:344)
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.ensureTempTables1(TupleLoaderBase.java:368)
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.ensureTempTables(TupleLoaderBase.java:351)
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.init(TupleLoaderBase.java:64)
 at
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.<init>(TupleLoaderBase.java:57)

The documentation on ORA-00955 is this:


ORA-00955 name is already used by an existing object

Cause: An attempt was made to create a database object (such as a table,
view, cluster, index, or synonym) that already exists. A user's database
objects must have distinct names.

Action: Enter a unique name for the database object or modify or drop the
existing object so it can be reused.


We do have multiple threads potentially creating new Stores and SDB models
to the same underlying named models.  Also, we tend to see Oracle churning
quite heavily (70% internal usage) during operation.  Is SDB creating
indexes or constraints on the fly as data is inserted?

Thanks,

Aaron

-- 
Aaron Jackson
Lead Solution Architect
Blue Slate Solutions | Phone: 518.810.0372 | Cell: 845.392.6923
Email: [email protected] | www.blueslate.net

Reply via email to