Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> range partitioning problem...

range partitioning problem...

From: Volker Hetzer <firstname.lastname_at_ieee.org>
Date: Sat, 13 May 2006 20:24:35 +0200
Message-ID: <e45882$ak5$1@nntp.fujitsu-siemens.com>


Hi!
(10.2.0.1, linux)
I've got an error (ORA-14037: partition bound of partition P_Y8_X1 is too high) when trying to partition my spatial table:

CREATE TABLE LYC_GEOM_OBJECT (

     SESSION_ID VARCHAR2(40) CONSTRAINT NN_LYC_GEOM_OBJECT_SESSION_ID NOT NULL,
     GEOM_ID NUMBER(10) CONSTRAINT NN_LYC_GEOM_OBJECT_GEOM_ID NOT NULL,
     MinX NUMBER CONSTRAINT NN_LYC_GEOM_OBJECT_MinX NOT NULL,
     MinY NUMBER CONSTRAINT NN_LYC_GEOM_OBJECT_MinY NOT NULL,
     dX NUMBER CONSTRAINT NN_LYC_GEOM_OBJECT_dX NOT NULL,
     dY NUMBER CONSTRAINT NN_LYC_GEOM_OBJECT_dY NOT NULL,
     GEOMETRY MDSYS.SDO_GEOMETRY,
     ValidationCode VARCHAR2(4000),
     CONSTRAINT PK_LYC_GEOM_OBJECT PRIMARY KEY (SESSION_ID, GEOM_ID),
     CONSTRAINT UC_LYC_GEOM_OBJECT_GEOM_ID UNIQUE (GEOM_ID)
)
PARTITION BY RANGE (DX,DY,MINY,MINX)
	(
	PARTITION P_Y1_X1 VALUES LESS THAN (50,50,-150,-150),
	PARTITION P_Y1_X2 VALUES LESS THAN (50,50,-150,-100),
	PARTITION P_Y1_X3 VALUES LESS THAN (50,50,-150,-50),
	PARTITION P_Y1_X4 VALUES LESS THAN (50,50,-150,0),
	PARTITION P_Y1_X5 VALUES LESS THAN (50,50,-150,50),
	PARTITION P_Y1_X6 VALUES LESS THAN (50,50,-150,100),
	PARTITION P_Y1_X7 VALUES LESS THAN (50,50,-150,150),
	PARTITION P_Y1_X8 VALUES LESS THAN (50,50,-150,MAXVALUE),
	PARTITION P_Y2_X1 VALUES LESS THAN (50,50,-100,-150),
	PARTITION P_Y2_X2 VALUES LESS THAN (50,50,-100,-100),
	PARTITION P_Y2_X3 VALUES LESS THAN (50,50,-100,-50),
	PARTITION P_Y2_X4 VALUES LESS THAN (50,50,-100,0),
	PARTITION P_Y2_X5 VALUES LESS THAN (50,50,-100,50),
	PARTITION P_Y2_X6 VALUES LESS THAN (50,50,-100,100),
	PARTITION P_Y2_X7 VALUES LESS THAN (50,50,-100,150),
	PARTITION P_Y2_X8 VALUES LESS THAN (50,50,-100,MAXVALUE),
	PARTITION P_Y3_X1 VALUES LESS THAN (50,50,-50,-150),
	PARTITION P_Y3_X2 VALUES LESS THAN (50,50,-50,-100),
	PARTITION P_Y3_X3 VALUES LESS THAN (50,50,-50,-50),
	PARTITION P_Y3_X4 VALUES LESS THAN (50,50,-50,0),
	PARTITION P_Y3_X5 VALUES LESS THAN (50,50,-50,50),
	PARTITION P_Y3_X6 VALUES LESS THAN (50,50,-50,100),
	PARTITION P_Y3_X7 VALUES LESS THAN (50,50,-50,150),
	PARTITION P_Y3_X8 VALUES LESS THAN (50,50,-50,MAXVALUE),
	PARTITION P_Y4_X1 VALUES LESS THAN (50,50,0,-150),
	PARTITION P_Y4_X2 VALUES LESS THAN (50,50,0,-100),
	PARTITION P_Y4_X3 VALUES LESS THAN (50,50,0,-50),
	PARTITION P_Y4_X4 VALUES LESS THAN (50,50,0,0),
	PARTITION P_Y4_X5 VALUES LESS THAN (50,50,0,50),
	PARTITION P_Y4_X6 VALUES LESS THAN (50,50,0,100),
	PARTITION P_Y4_X7 VALUES LESS THAN (50,50,0,150),
	PARTITION P_Y4_X8 VALUES LESS THAN (50,50,0,MAXVALUE),
	PARTITION P_Y5_X1 VALUES LESS THAN (50,50,50,-150),
	PARTITION P_Y5_X2 VALUES LESS THAN (50,50,50,-100),
	PARTITION P_Y5_X3 VALUES LESS THAN (50,50,50,-50),
	PARTITION P_Y5_X4 VALUES LESS THAN (50,50,50,0),
	PARTITION P_Y5_X5 VALUES LESS THAN (50,50,50,50),
	PARTITION P_Y5_X6 VALUES LESS THAN (50,50,50,100),
	PARTITION P_Y5_X7 VALUES LESS THAN (50,50,50,150),
	PARTITION P_Y5_X8 VALUES LESS THAN (50,50,50,MAXVALUE),
	PARTITION P_Y6_X1 VALUES LESS THAN (50,50,100,-150),
	PARTITION P_Y6_X2 VALUES LESS THAN (50,50,100,-100),
	PARTITION P_Y6_X3 VALUES LESS THAN (50,50,100,-50),
	PARTITION P_Y6_X4 VALUES LESS THAN (50,50,100,0),
	PARTITION P_Y6_X5 VALUES LESS THAN (50,50,100,50),
	PARTITION P_Y6_X6 VALUES LESS THAN (50,50,100,100),
	PARTITION P_Y6_X7 VALUES LESS THAN (50,50,100,150),
	PARTITION P_Y6_X8 VALUES LESS THAN (50,50,100,MAXVALUE),
	PARTITION P_Y7_X1 VALUES LESS THAN (50,50,150,-150),
	PARTITION P_Y7_X2 VALUES LESS THAN (50,50,150,-100),
	PARTITION P_Y7_X3 VALUES LESS THAN (50,50,150,-50),
	PARTITION P_Y7_X4 VALUES LESS THAN (50,50,150,0),
	PARTITION P_Y7_X5 VALUES LESS THAN (50,50,150,50),
	PARTITION P_Y7_X6 VALUES LESS THAN (50,50,150,100),
	PARTITION P_Y7_X7 VALUES LESS THAN (50,50,150,150),
	PARTITION P_Y7_X8 VALUES LESS THAN (50,50,150,MAXVALUE),
	PARTITION P_Y8_X1 VALUES LESS THAN (50,50,MAXVALUE,-150),
	PARTITION P_Y8_X2 VALUES LESS THAN (50,50,MAXVALUE,-100),
	PARTITION P_Y8_X3 VALUES LESS THAN (50,50,MAXVALUE,-50),
	PARTITION P_Y8_X4 VALUES LESS THAN (50,50,MAXVALUE,0),
	PARTITION P_Y8_X5 VALUES LESS THAN (50,50,MAXVALUE,50),
	PARTITION P_Y8_X6 VALUES LESS THAN (50,50,MAXVALUE,100),
	PARTITION P_Y8_X7 VALUES LESS THAN (50,50,MAXVALUE,150),
	PARTITION P_Y8_X8 VALUES LESS THAN (50,50,MAXVALUE,MAXVALUE),
	PARTITION PLARGE VALUES LESS THAN (MAXVALUE,MAXVALUE,MAXVALUE,MAXVALUE)
	);


This is the first time I have tried to do partitioning at all so this is likely not a difficult problem. (No idea if this is the optimum partitioning but I can only test that if I can generate partitioned tables at all.) The idea here is to partition a spatial table such that each partition is a "tile" of my plane and to have a set of "infinite" partitions around the circumference of the square area (MinX=-150,MinY=-150,MaxX=150,MaxY=150). The first two parameters of the partitioning clause are supposed to make sure that all geometries spanning more than two tiles get inserted into the last partition (PLARGE).

Can anyone help me out?

Lots of Greetings and Thanks!
Volker

-- 
For email replies, please substitute the obvious.
Received on Sat May 13 2006 - 13:24:35 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US