ORA-16000 With A Semantic Query On A Read-only Database (Doc ID 1928638.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial and Graph - Version 11.2.0.3 and later
Information in this document applies to any platform.

Symptoms

When executing the following query:

prefix cdm: <http://publications.domain.com/ontology/cdm#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?uri ?ojclass ?ojnumber ?ojcollection ?ojyear ?workdatedoc
WHERE {?uri cdm:official-journal_class ?ojclass .
?uri cdm:official-journal_number ?ojnumber .
?uri cdm:official-journal_part_of_collection_document ?ojcollection .
?uri cdm:official-journal_year "2006"^^xsd:gYear .
?uri cdm:official-journal_year ?ojyear .
?uri cdm:work_date_document ?workdatedoc .
FILTER( ?workdatedoc >= xsd:date("2006-08-19")&& ?workdatedoc < xsd:date("2006-08-20"))
}

Failes with an ora-16000.

16000, 00000, "database open for read-only access"
// *Cause: The database was opened for read-only access. Attempts to
// modify the database using DML or DDL statements generate this
// error.

The tracefile shows that it tries to create a type and update obj$ which is not possible with a RO instance
 
If the FILTER is changed to

FILTER( ?workdatedoc >= "2006-08-19" ^^xsd:date && ?workdatedoc < "2006-08-20"xsd:date

The query works.

In Summary:

xsd:date("2006-08-19") -> ORA-16000

"2006-08-19"^^xsd:date -> Works OK

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms