Dear all,
On creating a string data type index on RDF_VALUE$, I'm getting the SQL Error: ORA-01450: maximum key length (6398) exceeded.
EXECUTE SEM_APIS.ADD_DATATYPE_INDEX('http://www.w3.org/2001/XMLSchema#string')
Error starting at line : 1 in command -
EXECUTE SEM_APIS.ADD_DATATYPE_INDEX('http://www.w3.org/2001/XMLSchema#string')
Error report -
ORA-13199: SQLERRM=ORA-01450: maximum key length (6398) exceeded [index_name=RDF_V$STR_IDX datatype=http://www.w3.org/2001/XMLSchema#string dss=CREATE INDEX RDF_V$STR_IDX
ON MDSYS.RDF_VALUE$(sem_apis.getV$StringVal(value_type,vname_prefix,vname_suffix,literal_type,language_type)) TABLESPACE "RDF_USERS" ]
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 19260
ORA-06512: at "MDSYS.SDO_RDF", line 5250
ORA-06512: at "MDSYS.RDF_APIS", line 2193
ORA-06512: at line 1
13199. 00000 - "%s"
*Cause: This is an internal error.
*Action: Contact Oracle Support Services.
Any idea what can be going on here?
UPDATE
I think it happens because I changed MAX_STRING_SIZE
from STANDARD
to EXTENDED
on my database. Is there a way to use a string datatype index on RDF_VALUE$ when MAX_STRING_SIZE is EXTENDED?
The documentation says:
By setting MAX_STRING_SIZE
= EXTENDED
, users are taking an explicit action that could introduce application incompatibility in their database. Applications that do not want to use the expanded data types can be rewritten for compatibility with either setting; for example, these applications could use explicit CASTs to fix the length of VARCHAR2
expressions during CREATE TABLE AS SELECT
.
Altering MAX_STRING_SIZE
will update database objects and possibly invalidate them, as follows:
- Tables with virtual columns will be updated with new data type metadata for virtual columns of
VARCHAR2(4000)
, 4000-byte NVARCHAR2
, or RAW(2000)
type.- Functional indexes will become unusable if a change to their associated virtual columns causes the index key to exceed index key length limits. Attempts to rebuild such indexes will fail with
ORA-01450: maximum key length exceeded
.
- Views will be invalidated if they contain
VARCHAR2(4000)
, 4000-byte NVARCHAR2
, or RAW(2000)
typed expression columns. - Materialized views will be updated with new metadata
VARCHAR2(4000)
, 4000-byte NVARCHAR2
, and RAW(2000)
typed expression columns
Fred
Message was edited by: Fred