Re: ora-1450 even though max key length is well below the max
- From: Chuck <skilover_nospam@xxxxxxxxxxxxxx>
- Date: Thu, 22 Jun 2006 15:39:50 GMT
Anurag Varma wrote:
Chuck wrote:
Gints Plivna wrote:
You can't determine key length by adding the max defined size of theSingle byte character set on both databases - WE8ISO8859P1Yea but you said that error message gave you 3118. But looking at your
table definition -length of both varcahr2 columns together (2000 +
2000) is more than 3118.
So at least the error message is completely justifiable.
Gints Plivna
http://www.gplivna.eu/
columns. To determine key length you must query
max(length(col1)+length(col2)...) + number of columns.
See metalink note # 136158.1.
Chuck,
For the index creation, oracle will consider the total key length as
the sum total of defined key lengths.
If max it allows for your case is 3118 bytes, and you have
defined columns being indexed of total size > 4000 bytes.
That said, 3118 limit seems to be for a 4K block size. Are you sure
that your block size is 8K?
Here is an example:
Oracle 10.2.0.2 on Linux
SQL> show parameters db_block_size
NAME TYPE VALUE
------------------------------------ ----------
------------------------------
db_block_size integer 8192
SQL> select value from NLS_DATABASE_PARAMETERS where parameter =
'NLS_CHARACTERSET';
VALUE
---------------------------------------------
WE8ISO8859P1
SQL> create table Y (a date, b varchar2(4000),c varchar2(4000));
Table created.
SQL> create index Y_IDX on Y (a,b,c);
create index Y_IDX on Y (a,b,c)
*
ERROR at line 1:
ORA-01450: maximum key length (6398) exceeded
I did not even have to insert a single row. The limit is on
the total of defined column sizes!
Anurag
At carumba.
Does anyone around here read? I'll say it one last time... this works in
a 9205 instance with the exact same DDL. If as you say it's based on the
max defined width of the varchars how does this work on 9205?
desc mytable
Name Null? Type
----------------------------- -------- --------------------
LOGDATE NOT NULL DATE
URI VARCHAR2(2000)
REFERRER VARCHAR2(2000)
PAGEVIEWS NUMBER(38)
CREATE UNIQUE INDEX MYINDEX_U1 ON MYTABLE
(LOGDATE, URI, REFERRER)
COMPRESS 2;
Index created.
.
- Follow-Ups:
- Re: ora-1450 even though max key length is well below the max
- From: Matthew Winn
- Re: ora-1450 even though max key length is well below the max
- From: Brian Peasland
- Re: ora-1450 even though max key length is well below the max
- References:
- ora-1450 even though max key length is well below the max
- From: Chuck
- Re: ora-1450 even though max key length is well below the max
- From: Gints Plivna
- Re: ora-1450 even though max key length is well below the max
- From: Chuck
- Re: ora-1450 even though max key length is well below the max
- From: Gints Plivna
- Re: ora-1450 even though max key length is well below the max
- From: Chuck
- Re: ora-1450 even though max key length is well below the max
- From: Anurag Varma
- ora-1450 even though max key length is well below the max
- Prev by Date: Re: ora-1450 even though max key length is well below the max
- Next by Date: Re: Listener failed to start
- Previous by thread: Re: ora-1450 even though max key length is well below the max
- Next by thread: Re: ora-1450 even though max key length is well below the max
- Index(es):
Relevant Pages
|
Loading