ORA-01450: maximum key length (6398) exceeded
3054700 Apr 20, 2017 11:42 AMDear 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 ofVARCHAR2
expressions duringCREATE 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-byteNVARCHAR2
, orRAW(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-byteNVARCHAR2
, orRAW(2000)
typed expression columns.- Materialized views will be updated with new metadata
VARCHAR2(4000)
, 4000-byteNVARCHAR2
, andRAW(2000)
typed expression columns
Fred
Message was edited by: Fred