Oracle DBA – A lifelong learning experience

Posts Tagged ‘ORA-01450: maximum key length (3800) exceeded’

ORA-01450: maximum key length (3800) exceeded

Posted by John Hallas on December 13, 2017

This is an oddity as essentially I have an index on a table but I cannot rebuild it because it suggests the block size should be bigger than 8K – however both the database and tablespace block size are 16K already.

The maximum allowed index key length depends on your block size. So the minimum allowed size reported in ORA-01450 varies, depending on which block size your index is using:

ORA-01450 maximum key length (758) exceeded -> (2K Block)

ORA-01450 maximum key length (1578) exceeded -> (4K block)

ORA-01450 maximum key length (3218) exceeded -> (8K Block)

ORA-01450 maximum key length (6498) exceeded -> (16K Block)
See MOSC Note 136158.1 and MOSC Note 236329.1 for more details on the ORA-01450 error and key length.

Even more odd was that I could drop the index and recreate it with no issues and yet rebuild failed every time, even after the recreate. Studying the table and data there did not seem to be a value that was much bigger than the others and certainly nothing that would cause one or more rows to be much larger than the others. Read the rest of this entry »

Advertisements

Posted in Oracle | Tagged: | 2 Comments »