Rebuilding Spatial index versus dropping&creating Spatial index.
System: Oracle Enterprise Edition 10g (10.1.0.4.0)
When I rebuilding a Spatial Index is the result the same when I am dropping the index and create a new Spatial Index?
Final result of course will be the same. After rebuild or drop/create you will have the same index.
Some differences:
1. Rebuild uses existing index as the source for new index So, during rebuild process index will consume twise as much space.
2. Rebuild is faster than drop/create
3. Rebuild with online option guarantee that index will be still available for DML during rebuild
Andrejus
Similar Messages
-
REBUILD INDEX vs DROP/CREATE INDEX
Hi there,
Does anyone has already got some performance degradation after REBUILD INDEXes ? Would it be better to perform DROP/CREATE INDEX instead ?
Thank you very much for anu reply.
Best regards,
HelenaHi,
>>so is it then better to DROP/CREATE them ?
Well, In fact I learned that when you rebuild an index, Oracle creates a new index from the old index and does not perform sorting while building the new index, which results in performance enhancement. In this case, depending of the size of your data it's necessary sufficient space on a tablespace for storing the old as well as the new index (while creating the new index). Other advantage, is that Oracle can use the old index for answering queries while it builds the new index too using [alter index <index_name> rebuild online].
Cheers -
Index - How to create an index for multiple InDesign files?
Hi everyone,
I'm using InDesign CS2 to create a 250 page catalogue. Most of it is finished now, and I've come to creating the index.
The catalogue is spread over about 10 InDesign files. How do I create an index for this? No paragraph styles were set up when it was started, but there are character styles.
I've done some searching - does it need to be booked so I Can index? And can I book it without paragraph styles?
(I've only been using InDesign for about a year, mostly self taught.)
Thanks in advance :)
NaomiCreating a book from your files should be no problem at all. ID does
i not
synchronize styles across documents -- unless you order it to! (That's what the checkboxes at the left of the book documents are for. Do Not Use, in your case.)
The Index function itself is book-savvy, but you might want to search this forum for a few recurring problems. -
Spatial index error whilst creating an index for a GeoRaster column
Dear all
Several months ago I inserted 12 Raster map PNG files into Oracle as GeoRaster data. I then viewed these in MapBuilder to check they are were loaded and as they appeared, it seemed to suggest they were.
Today however I realised I had not created an entry for USER_SDO_GEOM_METADATA or a spatial index. Therefore I attempted to do this using the code below. When I first made an entry into USER_SDO_GEOM_METADATA I did not add .spatialextent after the column name, web_raster_map. However whilst reading the MapViewer manual I decided it was required so create a new entry. However the error message, posted at the end, was the same in each case. If any one has any ideas on what I may have done wrong, I would be grateful.
Is the entries eastings-x and northings-y wrong? Should that be X and Y and if so would that resolve the errors? I was using a script I had created previously for vector data and adapting it.
INSERT INTO USER_SDO_GEOM_METADATA
(TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID)
VALUES (
'WEB_RASTER_MAP_FILE',
'web_raster_map.spatialextent',
SDO_DIM_ARRAY( -- full grid size goes here
SDO_DIM_ELEMENT('eastings-x', -3273.58473839662, -8471.66, 0.005),
SDO_DIM_ELEMENT('northings-y', -9694.76, -1632.88473839662, 0.005)),
96163497); -- this is a user created srid
commit;
CREATE INDEX WEB_RASTER_MAP_FILE_IDX ON WEB_RASTER_MAP_FILE (web_raster_map)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
commit;Error message was as follows:
Error starting at line 14 in command:
CREATE INDEX WEB_RASTER_MAP_FILE_IDX ON WEB_RASTER_MAP_FILE (web_raster_map)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
Error at Command Line:14 Column:13
Error report:
SQL Error: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13200: internal error [Unsupported Type] in spatial indexing.
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
29855. 00000 - "error occurred in the execution of ODCIINDEXCREATE routine"
*Cause: Failed to successfully execute the ODCIIndexCreate routine.
*Action: Check to see if the routine has been coded correctly.
commit succeeded.Kind regards
Tim
Edited by: user467357 on Mar 23, 2009 5:45 PM
To add an additional comment.Dear sravada
Thank you for your reply, I very grateful. I didn't spot that mistake because I was coming from the point of only needing to add the column name. When your starting out most mistakes are simple ones.
Kind regards
Tim -
Privilege need to create functional index
Greeting gurus?
What privilege I needed for create functional index
I am writing a definer righted procedure to create index however when creating functional index, it gives me ora-0131 insufficent but unique, bitmap and reverse index works
and I granted create any index and create any indextype already. what else is missing ?CREATE INDEX
To create a function-based index, in addition to the prerequisites for creating a conventional index, if the index is based on user-defined functions, then those functions must be marked DETERMINISTIC. Also, you must have the EXECUTE object privilege on any user-defined function(s) used in the function-based index if those functions are owned by another user. -
How to create secondry index on database table
how to create secondry index on database table
Hi
By trx SE11:
- Choose your table and press CHANGE ICON, so INDEX
When you create an index you should consider if your index is contained in another index.
If the fields of your index are:
- FIELD1, FLIED2, FIELD3
...it'll be triggered only if the select is:
SELECT * FROM <TABLE> WHERE FIELD1
AND FIELD2
AND FIELD3
A select like this
SELECT * FROM <TABLE> WHERE FIELD1
AND FIELD3
AND FIELD2
doesn't use your index.
Max -
Creating DOMAIN INDEX (SPATIAL) on INTERVAL PARTITIONING
Hi !
I hava a problem, and I hope someone can help me!
Two questions are asked below:
1. Main question: HOW CAN I SOLVE THIS PROBLEM, ARE THERE OTHER WAYS DOING THE SAME JOB (MAYBE FASTER) ?
2. Additionally: Is there a way to accelerate the deletion process
Step 1: Creating the table For Information how I create the table:
CREATE TABLE LOC_EXAMPLE
COLUMN1 NUMBER
COLUMN2 NUMBER
COLUMN3 NUMBER
COLUMN4 NUMBER
START_TIME TIMESTAMP
GEOLOC MDSYS.SDO_GEOMETRY,
TABLESPACE DB_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
NOLOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING
PARTITION BY RANGE (START_TIME)
INTERVAL (NUMTODSINTERVAL(1,'DAY'))
PARTITION PART_LOC_EXAMPLE VALUES LESS THAN (TO_DATE('01-01-2008','dd-MM-yyyy'))
ALTER TABLE LOC_EXAMPLE
ADD CONSTRAINT PK_LOC_EXAMPLE PRIMARY KEY (COLUMN2,COLUMN4)
DELETE FROM USER_SDO_GEOM_METADATA VALUE WHERE TABLE_NAME = 'LOC_EXAMPLE'
INSERT INTO USER_SDO_GEOM_METADATA VALUES ('LOC_EXAMPLE','GEOLOC', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.001111949), MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.001111949) ), 8307)
STEP 2: I TRY TO CREATE SPATIAL INDEX (ITS A DOMAIN INDEX IF I'M NOT WRONG) ON PARTITIONED TABLE
(PARTITIONED TABLE is an extension of range partitioning)
CREATE INDEX LOC_EXAMPLE_idx ON LOC_EXAMPLE'(GEOLOC)
INDEXTYPE IS MDSYS.SPATIAL_INDEX LOCAL;
THE SECOND STEP IS NOT POSSIBLE AS THE ORACLE DOCUMENTATION SAYS:
When using interval partitioning, consider the following restrictions:
-You can only specify one partitioning key column, and it must be of NUMBER or DATE type.
-Interval partitioning is not supported for index-organized tables.
-You cannot create a domain index on an interval-partitioned table.
1) I THINK IT IS IMPOSSIBLE FOR ME TO PASS ON INTERVAL PARTITIONING (AMOUNT OF DATA IS REALY BIG).
This partitioning is also used to delete datas from database once a mounth (scheduled on the basis of the partitions).
Is there a way to accelerate the deletion process?
2) I NEED A SPATIAL INDEX! NO WAY TO PASS ON IT!
HOW CAN I SOLVE THIS PROBLEM, ARE THERE OTHER WAYS DOING THE SAME JOB (MAYBE FASTER) ?
Why is it not possible to create a domain index on interval partitioning, any reason?
Will this be possible anytime?
I would be grateful to read any advise ...!
Thanking you in anticipation,
AliIs it possible to just use a normal range-partitioned table?
CREATE TABLE LOC_EXAMPLE
START_TIME TIMESTAMP
GEOLOC MDSYS.SDO_GEOMETRY,
PARTITION BY RANGE (START_TIME)
PARTITION P1 VALUES LESS THAN (TO_DATE('01-01-2008','dd-MM-yyyy'))
alter table loc_example add partition p2 VALUES LESS THAN (TO_DATE('02-01-2008','dd-MM-yyyy'));
alter table loc_example drop partition p1;
I understand it is not as perfect as interval partitioning, since
you have to drop an old partition/add a new one either manually
or by some script. But you should be able to create a spatial domain index
on it. -
Performance of Creating Spatial Indexes
I have a spatial database with about 75GB of data in it. When I load this data initially it takes about 6 hours to load using 6 processes. To get this performance level I did not create any of the indexes or contsraints. So after the load I have to run the scripts to create the indexes and constraints.
To improve the performance of this I have written a script on UNIX which parses my SQL files and runs each create or alter statement in a separate process. The script makes sure that there are only a certain number of concurrent processes (10).
Creating the indexes is taking longer than the database load itself. There is one point layer in particular which has serveral hundred million rows which takes around 6 hours to complete. Are the any ways you can improve the performance of index creation. I did try the parallel option once but it did not reliably complete when I did my testing.
Does using Oracle Partitioning improve the performance of index creation? I do have a mapsheet attribute which could be used for the partitioning.
PaulHi Paul,
Parallelism should have reliably helped. I've heard a lot of good things about it more recently (i.e. if you tested on an earlier version you may want to upgrade/patch and check it out).
Partitioning should improve index creation speed as well. If you tend to query by an attribute, use that attribute as the partition key. If you tend to query by location (spatial query), try to use a partition key that reflects location (state, county, etc).
When you first create the index, create it local (partitioned) as unusable, then create each partition's index separately in parallel - you can use the script you've already written to do this.
Since it is point data, make sure to use layer_gtype=point
Here is a quick example:
CREATE INDEX partn_table_sidx ON partn_table(geom)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
PARAMETERS ('LAYER_GTYPE=POINT')
LOCAL (
PARTITION P1 PARAMETERS (TABLESPACE=’P1_TBS’),
PARTITION P2 PARAMETERS (TABLESPACE=’P2_TBS’),
PARTITION P3 PARAMETERS (TABLESPACE=’P3_TBS’),
PARTITION P4 PARAMETERS (TABLESPACE=’P4_TBS’))
UNUSABLE;
ALTER INDEX partn_table_sidx REBUILD PARTITION P1;
ALTER INDEX partn_table_sidx REBUILD PARTITION P2;
ALTER INDEX partn_table_sidx REBUILD PARTITION P3;
ALTER INDEX partn_table_sidx REBUILD PARTITION P4; -
What is the difference between the drop and create the index and rebuild index ?
Hi All,
what is the difference between drop and create index & rebuild index ? i think both are same...Please clarify if both are same or any difference...
Thanks in Advance,
rupBoth are same. Rebuilding an index drops and re-creates the index.
Ref:
SSMS - https://technet.microsoft.com/en-us/library/ms187874(v=sql.105).aspx
TSQL - https://msdn.microsoft.com/en-us/library/ms188388.aspx
I would suggest you to also refer one of the best index maintenance script as below:
https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html -
Error when creating spatial index in 10g
Hello.
I have a problen when I try to create a spatial index. The strange thing is that the same commands always works fine in some machines, but if always fails in others. I tryed in diferent versiones of Oracle, but I have the error in al of them. The versions I have tryed are:
- 10.2.0.1
- 10.2.0.4
The operating systems are:
Windows XP professional 32 bits
Windows 2003 Server 32 bits
These are the steps i make:
1) Create a Table with a SDO_GEOMETRY column (GEOMETRY)
2) Load data with SQLLDR (I hve tryed different SRID's, and all fail)
So far everything is ok
3) Create the INDEX
When I execute the CREATE INDEX command CREATE INDEX MADRID_SX ON MADRID (GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
I obtain the error:
ERROR en linea 1:+
ORA-29855: se ha producido un error en la ejecucion de la rutina+
ODCIINDEXCREATE+
ORA-13282: fallo al inicializar la transformacion de coordenadas+
ORA-06512: en "MDSYS.SDO_INDEX_METHOD_10I", line 10+
I too have noticed that if I execute the next command, I have an error:
SELECT MDSYS.sdo_cs.transform(sdo_geometry(2001,8192,sdo_point_type(13.6,52.4,null),null,null),25830) from dual;
ERROR en linea 1:+
ORA-13282: fallo al inicializar la transformacion de coordenadas+
ORA-06512: en "MDSYS.SDO_CS", linea 75+
ORA-06512: en "MDSYS.SDO_CS", linea 112+
ORA-06512: en "MDSYS.SDO_CS", linea 2678+
And if I execute the next command, I too have another error:
SELECT SDO_CS.VALIDATE_WKT(25830) FROM DUAL;
FALSE (169)*
Any ideas? Could it be related with something inside the machines, user privileges, etc.?
Thanks in advance.I have found that the problem is to use a SRID of AUTH_NAME column in MDSYS.CS_SRS table without the value "Oracle." in it.
If I use an Oracle’s SRID, everything works fine. If I use an EPSG’s SRID, fails.
For example, this command uses an Oracle SRID (8192) and one from the EPSG (25830), and fails:
SELECT MDSYS.sdo_cs.transform(sdo_geometry(2001,8192,sdo_point_type(13.6,52.4,null),null,null),25830) from dual;
ERROR en linea 1:
ORA-13282: fallo al inicializar la transformacion de coordenadas
ORA-06512: en "MDSYS.SDO_CS", linea 79
ORA-06512: en "MDSYS.SDO_CS", linea 116
ORA-06512: en "MDSYS.SDO_CS", linea 2690
However, if I use two Oracle SRID (8192 and 83030), it works.
SELECT MDSYS.sdo_cs.transform(sdo_geometry(2001,8192,sdo_point_type(13.6,52.4,null),null,null),83030) from dual;
SDO_GEOMETRY(2001, 83030, SDO_POINT_TYPE(1625183.71, 5936269.06, NULL), NULL, NULL
Therefore, the problem seems to be to use a non Oracle SRID. -
Hi all.
I have a problem during the creation of a spatial index for a table column.
The metadata is in the USER_SDO_GEOM_METADATA VIEW, but Oracle throws the message:
ORA-29855: se ha producido un error en la ejecución de la rutina ODCIINDEXCREATE
ORA-13203: fallo al leer la vista USER_SDO_GEOM_METADATA
ORA-13203: fallo al leer la vista USER_SDO_GEOM_METADATA
ORA-06512: en "MDSYS.SDO_INDEX_METHOD_10I", línea 10
The code that i use to create the index is:
DELETE FROM USER_SDO_GEOM_METADATA;
INSERT INTO USER_SDO_GEOM_METADATA
VALUES (
'E011_CIUDADES',
'F011_GEO',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('Longitud', -180, 180, 10), -- 10 meters tolerance
MDSYS.SDO_DIM_ELEMENT('Latitud', -90, 90, 10) -- 10 meters tolerance
8307 -- SRID for 'Longitude / Latitude (WGS 84)' coordinate system
CREATE INDEX IX_SPATIAL_011_GEO
ON SYSTEM.E011_CIUDADES(F011_GEO)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
PARAMETERS ('tablespace=ASOUSU');
I will apreciate any help. Thanks.This is very bad:
CREATE INDEX IX_SPATIAL_011_GEO ON SYSTEM.E011_CIUDADES(F011_GEO)
INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('tablespace=ASOUSU');It means you've stored spatial data in the SYSTEM user's schema, which, as noted, is mucho malo. Either that, or it is a typo and that is why you got: fallo al leer la vista USER_SDO_GEOM_METADATA -
Numeric character problems when creating spatial index
Hi,
We have run into a problem when trying to create spatial indexes. The problem seems to be that an mdsys-procedure tries to use a number with a comma as decimal symbol in an update statement
Error message:
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Stmt-Execute Failure: begin mdsys.prvt_idx.execute_update(NULL,NULL,'set sdo_rtree_quality = 1,00000000 where UPPER(sdo_index_owner) = UPPER(''BK'') AND UPPER(sdo_index_name)=UPPER(''TEST_RTREE_IDX'') AND UPPER(sdo_index_table)=UPPER(''MDRT_8120$'')',NULL); end;
ORA-29400: data cartridge error
ORA-01747: invalid user.table.column, table.column, or column specification
ORA-06512: at "MDSYS.PRVT_IDX", line 17
ORA-06512: at line 1
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 7
ORA-06512: at line 1
Our problem seems to be identical to the one discussed in this thread: create RTREE falied on 9.2.0.4
Regional settings, language versions etc:
Client:
OS: Windows 2000
Regional options (OS): Swedish, Sweden
Sqlplus (console and windows versions): v 9.2.0.1.0
Registry: NLS_LANG =SWEDISH_SWEDEN.WE8MSWIN1252
Server:
OS: Windows Server 2003
Regional options (OS): Swedish, Sweden
Oracle: v 9.2.0.3.0
Registry: NLS_LANG =SWEDISH_SWEDEN.WE8MSWIN1252
We have also tried building the indexes after overriding these settings by setting the environment variables NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 on both the client- and the server computer. This gives exactly the same error. We have tried setting NLS_NUMERIC_CHARACTERS to '.,' instead of ',.', but this does not help either.
We haven't tried changing the NLS_LANG registry entry on the server, because this is a production server at a customer's site that hosts several other databases, so we would prefer not to have to restart it if we can avoid it. However, as we understand it, the environment variable NLS_LANG should override the registry setting anyway, right?
We first experienced the problem when trying to build indexes on imported data. To verify that the problem was not with the data, we wrote a simple test script that:
1)Creates a table
2)Creates metadata
3)Inserts a simple geometry
4)Tries to create an index
The error message above is from running this script. We have verified that the script
works ok on another database server.
Below are the values of some of the language parameters right before running the script
(we have tried many other settings with the same result).
parameter...........................db................................instance...............session
NLS_CHARACTERSET.......WE8MSWIN1252..................................................
NLS_LANGUAGE...............AMERICAN...................AMERICAN...........AMERICAN
NLS_NCHAR_CH...............AL16UTF16 ..........................................................
NLS_NCHAR_CONV... ......FALSE..........................FALSE..................FALSE..
NLS_NUMERIC_CH...---------.,---------------------------------------------------------------.,
NLS_TERRITORY..............AMERICA......................AMERICA..............AMERICA
The guy who started the thread referenced above solved the problem, but we haven't been able to get it working by changing registry entries and session parameters.
The question is: Which setting will make the number in 'set sdo_rtree_quality = 1,00000000...' be generated with a . instead of a , as decimal symbol?Ok, so here is my plan to solve this:
1) Change the default user locale (the language under "standards and formats") to English for the account under which the Oracle server runs.
2) Reboot (or is there an easier way to make Oracle reload the settings?)
This should make the index creation work. It may break something else however, so to avoid this I can set the user locale back to Swedish afterwards .
You can subsequently change the setting and update the sdo_rtree_quality in
the metadata and it should work fine. Do you mean I have to update the sdo_rtree_quality in some way to make it work after I have changed the default user locale back to Swedish? How do I do this?
Thanks a million both of you! -
Creating spatial indexes at the same time
Are there any locks on common DB objects when spatial index is created on one table?
We have application which creates a table with geometry column, fills this table and at the finish creates the spatial index. It seems, that this blocks other users to do this on other tables. The problem is also when the index on large table is created outside the application and this blocks the index creation for app users.
regards
SasoHi,
I believe you can create multiple spatial indexes concurrently. I'm not sure if there are special database parameters, but on my default Oracle9i release 2 install I can create multiple indexes at the same time.
Users cannot query the table using spatial operators until the index is built. Adding/deleting data may also be disabled while the index is building. Accessing data is allowed.
Can you describe the sequence of steps where the blocking occurs? -
ORA-29855 - Error creating Spatial Index using a Stored Procedure
Hi
I am using Oracle 10gR2 database and I have written a stored procedure to create spatial index. But when i execute this function i get the following error message.
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in R-tree: [mdrcrtscrt]
ORA-13231: failed to create index table [MDRT_217C1$] during R-tree creation
ORA-13249: Stmt-Execute Failure: CREATE TABLE FGDABZ40.MDRT_217C1$ (NODE_ID NUMBER, NODE_LEVEL NUMBER, INFO BLOB) LOB (INFO) STORE AS (CACHE) NOLOGGING PCTFREE 2
ORA-29400: data cartridge error
ORA-01031: insufficient privileges
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
ORA-06512: at line 1
ORA-06512: at "FGDABZ40.PKG_PSSDBE_APPLICATION", line 298
ORA-06512: at line 17
The tables that i am passing are registered in metadata and I am able to create indexes directly in sql plus. But when i try to create using this stored procedure, it fails.
it should be possible to create indexes using a generic function. Has any faced a similar problem?
regards
samHi,
I am having a same error on Oracle 10gR2 database. When I execute the same statement in sqlplus, it works. But it gives this error when I call the procedure which has this create spatial index statement.
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in R-tree: [mdrcrtscrt]
ORA-13231: failed to create index table [MDRT_20CDA$] during R-tree creation
ORA-13249: Stmt-Execute Failure: CREATE TABLE "SDOMGR".MDRT_20CDA$ (NODE_ID NUMBER, NODE_LEVEL NUMBER, INFO BLOB) LOB (INFO) STORE AS (CACHE) NOLOGGING PCTFREE 2
ORA-29400: data cartridge error
ORA-01031: i
Any help will be appreciated.
Thanks,
Sri -
Problem on creating spatial index
Hi,
I am newbie in Oracle Spatial and looking for help on creating spatial index
I am working on OpenStreetMap data. I intended to import the OSM data from PostGis to Oracle Spatial. This code is executed to import the data
ogr2ogr -f OCI OCI:osm/password@pdborcl PG:"host=localhost user=postgres password=password dbname=gis port=5432" -lco OVERWRITE=yes -lco SRID=8307 -nln planet_osm_polygon planet_osm_polygon
However, I got this error when importing the data.
ERROR 1: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in spatial index: [mdrcrtxfergm]
ORA-13249: Error in spatial index: [mdpridxtxfergm]
ORA-13200: internal error [ROWID:AAAW/iAAQAAAIfsAAP] in spatial indexing.
ORA-13206: internal error [] while creating the spatial index
ORA-13033: Invalid data in the SDO_ELEM_INFO_ARRAY in SDO_GEOMETRY object
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
in CREATE INDEX "OSI_12283" ON PLANET_OSM_POLYGON("ORA_GEOMETRY") INDEXTYPE IS
MDSYS.SPATIAL_INDEX
This creating index failure only happen when I tried to import planet_osm_polygon table. I did not get this error when I imported the planet_osm_point, planet_osm_roads and planet_osm_line and indexing worked fine. The geometry type of column which was failed to index is ST MultiPolygon ( I am not sure if this is the cause).
Apparently, the data is imported to database. I tried to create index on that table, and it returns the same error.
CREATE INDEX PLANET_OSM_POLYGONI ON PLANET_OSM_POLYGON(ORA_GEOMETRY)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
Please help!Hi Ivan Bush
Thank you for the reply.
Sorry for the lengthy reply. To be honest, I dont understand how to read query result. This is the query that I executed:
select * from (select sdo_geom.validate_geometry_with_context(p.ora_geometry, 0.05) from planet_osm_polygon p) where rownum <100;
And the snippet of the query result:
Could you help me to explain the meaning of the query result? I chose 0.05 as tolerance value based on this reference (http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_intro.htm#i884589) .
Anyway, this information might be useful in solving the problem. When I imported the OSM data to PostGis, the SRID of geometry data was 900913. Since I want the data in WGS84 coordinate system, I change the SRID of the geometry data to 4326. I could perform this below-mentioned PostgreSQL query to change its SRID for geometry column in table planet_osm_point, planet_osm_roads and planet_osm_line. However, this query did not work on planet_osm_polygon one since this query does not recognize multipolygon datatype.
ALTER TABLE planet_osm_point
ALTER COLUMN way TYPE geometry(point,4326) USING ST_Transform(way,4326);
So for planet_osm_polygon case, I check this post (QGIS, Postgis: Geometry type does not match column type - Geographic Information Systems Stack Exchange) and follow @dbaston's answer to change the geometry data type to generic'geometry'. Then change the SRID, and return the geometry data type to MultiPolygon.
ALTER TABLE planet_osm_polygon ALTER COLUMN way SET data type geometry(MultiPolygon) USING ST_Multi(way);
Let me know if this might be the cause of the indexing problem.
Maybe you are looking for
-
Column not available after personalization to be included in user views
My client is trying to add a new column in the Cost Details table in the Task Summary page (Under Project Performance Reporting in PJT) through personalization. They are on 11i.PA.RUP3 They have an extended VO which basically is based on the standard
-
Problems with switching from onetab to another
I'm having problems where tabs windows hang up and I can not transition from one to another!! Very annoying...happening more in the last week!
-
Normally when you open the Hard Drive you should see the Applications Folder together with several other items. I have just noticed that ALL my applications are OUTSIDE the Applications Folder and the folder has no disclosure triangle. I cannot make
-
AXL: HTTP-Socket needs to be initiated for every packet?
Hi, may be this is a little off-topic: I use Java to program AXL-API. Example: addRoutePattern. I would like to add 20 route pattern to CM. Is there a chance to open a http-socket (once), send the route patterns and close it? As far as my experience
-
Months agao I had a 10MB metro ethernet link installed between two of my locations within 3 miles of each other. The link is fiber with a conversion module to copper, 10MB ethernet. I have the link on one end coming into a fastether port on a cisco 2