My Oracle Support Banner

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

Last updated on JUNE 08, 2021

Applies to:

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


When executing the following query:

prefix cdm: <http://publications.<domain>.com/ontology/cdm#>
prefix xsd: <>
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


To view full details, sign in with your My Oracle Support account.

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

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.