Slow spatial index creation
Hi,
I am using v11.2.0.2 and it took 9.5 hours to create a spatial index for 88 million geodetic points. The table itself was created in 15 minutes (with a CTAS from another table with lat/lons) and only has two columns: ULL and GEOM. Does this seem excessive? What can I do to reduce the time to create the spatial index?
CREATE INDEX POINT_LL_SIDX ON POINT_LL (GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS('TABLESPACE=ORDERS_IDX WORK_TABLESPACE=ORDERS_03 LAYER_GTYPE=POINT')Thanks,
David
Hi David,
If you have several CPU cores in your computer, you may try to create your spatial index in parallel,
especially, you can create a partitioned table and create a local spatial index on it in parallel.
BTW, on 11.2.0.2, bug 9588219 may affect index creation performance. Please get a patch for it,
or try your test case on 11.2.0.3.
Thanks,
Ying
Edited by: yhu on Jun 13, 2012 7:19 AM
Similar Messages
-
Spatial index creation fails in oracle9i but works in 8i
Hi--
i'm using oracle9.0.1.2.0 and arcSDE on solaris 8
when i create a spatial feature table and index oracle gives me the foloowing error:
Extended error code(29855): 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-13236: internal error in R-tree processing: [failed to cluster in memory]
ORA-13249: Internal error in Spatial index: [mdrcrclmem]
ORA-13232: failed to allocate memory during R-tree creation
ORA-13249: Error in Rtree: [mdrcrrdtbl, select /*+ PARALLEL 4 */ rid , min_d1, max_d1 , min_d2, max_d2 from (select rownum rnum, rid , m(MDSYS.SPATIAL_INDEX)
this occurs whether i use cov2sde at the command line or Create Index in sqlplus:
SQL> create index COUNTY_IDX on COUNTY_SDO(shape)
2 indextype is mdsys.spatial_index
3 parameters ('SDO_INDX_DIMS=2 tablespace=sde2_idx');
create index COUNTY_IDX on COUNTY_SDO(shape)
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: SELECT count(*) from SDE.COUNTY_SDO
ORA-29400: data cartridge error
ORA-01116: error in opening database file 14
ORA-01110: data file 14: '/u04/oradata/GIS2/sde3_idx01.dbf'
ORA-27041: unable to open file
SVR4 Error: 24: Too many open files
Additional information: 3
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 7
ORA-06512: at line 1
the bizarre thing is that everything works tickety-boo in oracle 8i *8.1.7.3)
has anyone run across this?
cheers
--kassimthanks for the suggestion, but that didnt work either
i increased the file descriptor limit from 256 to 2048 (my sysadmin sez that could break lots of things in solaris and had another go:
elvis{1}% ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 8192
coredump(blocks) unlimited
nofiles(descriptors) 2048
vmemory(kbytes) unlimited
lvis{2}% cov2sde -o create -l plstrfill_sdo,shape -f $GISDATA/survey.ws/plstr_fill,poly -e a -R 1 -k spatial -a file=$GISDATA/survey.ws/plstr_fields.txt -g SPIDX_RTREE
ArcSDE 8.2 Build 115 Wed Mar 6 09:48:27 PST 2002
Coverage to Layer Loading Administration Utility
Reading column selection file "/data/jack02/in_put/survey.ws/plstr_fields.txt"
Library /data/jack02/in_put/survey not found.
Unable to open library "/data/jack02/in_put/survey"
Loading feature class/subclass "poly"
from Coverage "/data/jack02/in_put/survey.ws/plstr_fill"
sde_layer_plstrfill_sdo: plstrfill_sdo is in LOADONLY mode
Imported 158399 features into SDE plstrfill_sdo,shape from coverage /data/jack02/in_put/survey.ws/plstr_fill,poly
SDE Error(-51) Underlying DBMS error
Extended error code(29855): 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-13230: failed to create temporary table [M2_8496$$] during R-tree creation
ORA-13249: Error in stmt: CREATE TABLE M2_8496$$ NOLOGGING tablespace SDE_IDX STORAGE (initial 4096K next 4096K pctincrease 0 maxextents unlimited) as (select rid , min_d1, max_d1 , min_d2, max_d2 from M0_8496$$ a, (select (min_d2+max_d2) value fro(MDSYS.SPATIAL_INDEX)
Not able to set layer into Normal-IO mode.
Cov2SDE completed.
No libraries currently set.
SQL> create index plstrfill_idx on plstrfill_sdo(shape)
2 indextype is mdsys.spatial_index
3 parameters ('SDO_INDX_DIMS=2 tablespace=sde4_idx');
create index plstrfill_idx on plstrfill_sdo(shape)
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-13230: failed to create temporary table [M2_84A5$$] during R-tree creation
ORA-13249: Error in stmt: CREATE TABLE M2_84A5$$ NOLOGGING tablespace SDE4_IDX
STORAGE (initial 4096K next 4096K pctincrease 0 maxextents unlimited) as
(select rid , min_d1, max_d1 , min_d2, max_d2 from M0_84A5$$ a, (select
(min_d2+max_d2) value from M0_84A5$$ where rowid='AAAISqAAPAAACCYABK') b where
(((a.min_d2+a.max_d2) < b.value) or (((a.min_d2+a.max_d2) = b.value) and (a.rid
<= 'AAAISeAAJAAAnvnAASZ'))))
ORA-13230: failed to create temporary table [M2_84A5$$] during R-tree creation
ORA-29400: data cartridge error
ORA-00210: cannot open the specified controlfile
ORA-00202: controlfile: '/u01/oradata/GIS2/control01.ctl'
ORA-27041: unable to open file
SVR4 Error: 24: Too many open files
Additional information: 3
ORA-06512: at "MDSYS.SDO_INDEX_METH
this is really killing me
my oracle is setup following the esri and oracle guidelines:
all our tablespaces are with UNLIMITED extent and maxsize on
any files. All the tablespaces follow Oracle9i best practices
such as OFA, SAFE, and SAME including Temporary Tablespace.
any suggestions would be realy helpful
--kassim -
Spatial index creation for table with more than one geometry columns?
I have table with more than one geometry columns.
I'v added in user_sdo_geom_metadata table record for every column in the table.
When I try to create spatial indexes over geometry columns in the table - i get error message:
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA table
ORA-13203: failed to read USER_SDO_GEOM_METADATA table
ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 8
ORA-06512: at line 1
What is the the solution?I'v got errors in my user_sdo_geom_metadata.
The problem does not exists! -
Spatial Index Creation Problem - 11g
Dear all,
I have a customer with a problem creating a spatial index in her database. The thing is, she is also storing rasters in the database in a different schema and those indices are created OK. Also in 2 other databases, mine & another consultant, the indices are created OK. The error is:
Error starting at line 1 in command:
CREATE INDEX rs_idxSPAT ON road_segments(RD_GEOMETRY)
INDEXTYPE IS mdsys.spatial_index
PARAMETERS ('SDO_INDX_DIMS=2 SDO_RTR_PCTFREE=20 geodetic = false layer_gtype=LINE')
Error at Command Line:1 Column:13
Error report:
SQL Error: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13205: internal error while parsing spatial parameters
ORA-13249: Stmt-Execute Failure: SELECT DBMS_ASSERT.QUALIFIED_SQL_NAME( :1 ) FROM DUAL
ORA-29400: data cartridge error
ORA-44004: invalid qualified SQL name
ORA-06512: at "SYS.DBMS_ASSERT", line 188
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.
The table road_segments is empty when the statement is executed.
Any thoughts, anyone?
Thanks very much,
Jim GreethamJim,
We typically don't support these kind of schema names for Spatial schemas
as they have to be created with double quotes.
Like create user "3droads".
In this case, the schema name is the problem. They should pick a schema name
they can create without using the double quotes.
siva -
Spatial index creation error -ORA-13011: value is out of range
I am trying to create a spatial index and this is what I get.
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13200: internal error [ROWID:AAAFXYAADAAABxyAAD] in spatial indexing.
ORA-13206: internal error [] while creating the spatial index
ORA-13011: value is out of range
ORA-00600: internal error code, arguments: [kope2upic014], [], [], [], [],
ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 7
ORA-06512: at line 1
I can't find any documentation as to how to fix this. How do you determine which row of data is out of range? Any help would be greatly appreciated!Hi Jeff,
The data at rowid AAAFXYAADAAABxyAAD has a problem.
Can see what the issue is by doing:
select sdo_geom.validate_geometry(geom_col_name,diminfo)
from your_table_name a, user_sdo_geom_metadata b
where b.table_name='YOUR_TABLE_NAME'
and a.rowid='AAAFXYAADAAABxyAAD';
If you are using Oracle9iR2 then this would be even better:
select sdo_geom.validate_geometry_with_context(geom_col_name,diminfo)
from your_table_name a, user_sdo_geom_metadata b
where b.table_name='YOUR_TABLE_NAME'
and a.rowid='AAAFXYAADAAABxyAAD'; -
friends,
i m unable to create an index on table named counties having SDO_GEOMETRY column named geom.
when i execute the create index command it gives me this error
SQL> create index county_ind on counties(geom)
2 INDEXTYPE IS MDSYS.SPATIAL_INDEX
3 PARAMETERS('SDO_LEVEL = 16, SDO_NUMTILES=32');
create index county_ind on counties(geom)
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13200: internal error [ROWID:AAAG13AABAAAkfXAAD] in spatial indexing.
ORA-13197: element MDSYS.COUNTIES.. is out of range
ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 7
ORA-06512: at line 1
please help me to solve this problem
Harpreet
nulltry this
create index idx_cities on cities(location)
indextype is mdsys.spatial_index
parameters('sdo_level=9');
the same procedure for counties,interstates
and states.first drop the index and then
recreate it.still if it doesnt work check
somepackageboby,package ie like triggers are
anyone of these invalid make this to be valid
and try again
srikanth.v
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Shalu:
I tried it all I still keep getting this error
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCI
ORA-13203: failed to read SDO_GEOM_METADATA table
ORA-29400: data cartridge error
ORA-00904: invalid column name
ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 7
ORA-06512: at line 1
Shalu<HR></BLOCKQUOTE>
null -
Spatial Index Creation Error on 9.2.0.1
Hi,
I can´t create a spatial index on an Oracle 9.2.0.1, Windows 2000 Server. I create the table, register metadata and when I try to create the index the folowing error is returned (some messages in Portuguese):
ORA-29855: ocorreu um erro na execução da rotina ODCIINDEXCREATE
ORA-13249: Error executing stmt: begin mdsys.prvt_idx.execute_insert(NULL, NULL, ' VALUES (''TESTUSER'',''MDIDX_INIT'', 0, 0, 64, -1, NLS_UPPER(''MDRT_7844$''), ''I_SDOTEST'', 1, ''TESTUSER'', ''"GEOM"'', 0, 0, 2, 0, ''DEFAULT'', ''DEFAULT'', NULL,NULL, NULL, NULL, NULL, NULL, NULL, 2, ''DEFAULT'', 10, NULL, NULL, NULL, NULL, ''FALSE'', ''VALID'', NULL)', NULL); end;
ORA-13249: Error in Spatial index: insert to metadata failed
ORA-29400: erro no cartucho de dados
ORA-00913: valores demais
ORA-06512: em "MDSYS.PRVT_IDX", line 5
ORA-06512: em line 1
ORA-06512: em "MDSYS.SDO_INDEX_METHOD_9I", line 7
ORA-06512: em line 1
The same error occurs with other database users.
On my notebook (Windows XP) with the same Oracle version installed the index is created succesfully.
What can be wrong on the server ?
Thanks.When I connect through sqlplus it shows:
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Jun 14 17:14:33 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL>
The select on dba_registry returns:
COMP_ID COMP_NAME VERSION STATUS MODIFIED CONTROL SCHEMA PROCEDURE STARTUP PARENT_ID
CATALOG Oracle9i Catalog Views 9.2.0.1.0 VALID 14-JUN-2004 15:59:45 SYS SYS DBMS_REGISTRY_SYS.VALIDATE_CATALOG
CATPROC Oracle9i Packages and Types 9.2.0.1.0 VALID 14-JUN-2004 15:59:45 SYS SYS DBMS_REGISTRY_SYS.VALIDATE_CATPROC
OWM Oracle Workspace Manager 9.2.0.1.0 VALID 14-JUN-2004 15:59:45 SYS WMSYS OWM_VALIDATE
JAVAVM JServer JAVA Virtual Machine 9.2.0.1.0 VALID 12-MAI-2002 16:55:28 SYS SYS
XML Oracle XDK for Java 9.2.0.2.0 VALID 14-JUN-2004 15:59:45 SYS SYS XMLVALIDATE
CATJAVA Oracle9i Java Packages 9.2.0.1.0 VALID 14-JUN-2004 15:59:45 SYS SYS DBMS_REGISTRY_SYS.VALIDATE_CATJAVA
ORDIM Oracle interMedia 9.2.0.1.0 LOADED 12-MAI-2002 17:27:10 SYS ORDSYS
SDO Spatial 9.2.0.1.0 LOADED 12-MAI-2002 17:40:16 SYS MDSYS
CONTEXT Oracle Text 9.2.0.1.0 VALID 12-MAI-2002 17:32:11 CTXSYS CTXSYS
XDB Oracle XML Database 9.2.0.1.0 VALID 14-JUN-2004 15:59:55 SYS XDB DBMS_REGXDB.VALIDATEXDB
WK Oracle Ultra Search 9.2.0.1.0 VALID 12-MAI-2002 17:44:01 WKSYS WKSYS WK_UTIL.VALID
ODM Oracle Data Mining 9.2.0.1.0 LOADED 12-MAI-2002 17:49:36 SYS ODM
APS OLAP Analytic Workspace 9.2.0.1.0 LOADED 12-MAI-2002 17:58:32 SYS SYS
XOQ Oracle OLAP API 9.2.0.1.0 LOADED 12-MAI-2002 17:59:07 SYS SYS
AMD OLAP Catalog 9.2.0.1.0 INVALID 14-JUN-2004 15:59:57 SYS OLAPSYS CWM2_OLAP_INSTALLER.VALIDATE_CWM2_INSTALL
Any ideas ? -
Slow secondary indexes creation
I have a database table where each record is a fixed length of 16 bytes and the key length is 4 bytes.
The table has ~3G records, giving file size of 61GB.
The access method is DB_QUEUE.
I'm using the 5.1.25 version.
I'm trying to create two secondary indexes using DB_HASH as access method.
I set the pagesize to 65K, cachesize to 65M.
When I start to build the indexes I see that the creation time of the indexes will take me something like 3 days which I think is reasonable. But after a day the performances are dropping drastically, giving me approximately creation time of 1 month.
What should I do in order to boost performance on such case?
Edited by: 868434 on Jun 26, 2011 2:07 AMHi,
I set the pagesize to 65K, cachesize to 65M.You probably mean 64KB; see the DB->set_pagesize() documentation.
When I start to build the indexes I see that the creation time of the indexes will take me something like 3 days which I think is reasonable. But after a day the performances are dropping drastically, giving me approximately creation time of 1 month. Are you recreating the secondary indexes on a regular basis? If so, what is the reason for this?
Once you open, associate and populate the secondary (using the DB_CREATE flag for the associate() call), you should keep the secondary databases around and not remove them just to recreate them again. Whenever the primary database is updated, the appropriate updates are performed in the secondaries as well to reflect the changes; see Secondary indexes documentation section.
Opening (creating a new database file handle) and populating a secondary database on open are potentially very expensive operations; see the subheading on DB_CREATE in the DB->associate() documentation section.
What should I do in order to boost performance on such case?The best approach would be to not remove and recreate the secondary indexes regularly, but rather create, populate and keep them around as long as the application runs.
If however you need to recreate them again and again, and given that they use the Hash access method, here are some suggestions:
1. If you have a support contract and can access MOS (My Oracle Support) have a look over Doc ID 463613.1 and Doc ID 463507.1 notes in the KM repository (they discuss tuning Hash databases' configuration for speeding up insertion times).
If you cannot access them, let me know and I can make a summary with further guidance.
2. Review the Hash access method specific configuration doc section and try to experiment with appropriately calculated values for the density / page fill factor, hash table size (estimated no of elements that will be stored in the database), and with a hash function that evenly distributes the (secondary) keys across buckets (and eventually with a Hash key comparison function that sorts the keys appropriately respecting their structure/format, data type and size).
3. I assume that this is happening in a transactional environment. If so, it might worth trying to use a transaction handle in the DB->associate() call, which has been opened with the DB_TXN_WRITE_NOSYNC or DB_TXN_NOSYNC flag (see DB_ENV->txn_begin()).
Some general tuning suggestions, that could be used are also given in the following documentation sections: Access method tuning, and Transaction tuning.
Regards,
Andrei -
Spatial query index creation fails with ORA-13282: failure on initializatio
Hi,
I have an Oracle 10g 10.2.0.5.0 database newly installed. Spatial index creation fails:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13282: failure on initialization of coordinate transformation
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
The script I am trying to run is:
Insert into USER_SDO_GEOM_METADATA
(TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
Values
('SOME_TABLE', 'geo',
"SDO_DIM_ARRAY"(
"SDO_DIM_ELEMENT"('X',600000,900000,0.001),
"SDO_DIM_ELEMENT"('Y',150000,400000,0.001)), 23700);
CREATE INDEX IX_GEO_SOME_TABLE ON SOME_TABLE (GEO) INDEXTYPE IS MDSYS.SPATIAL_INDEX ;
Earlier I had some issues with NLS settings in relation to Spatial, but in this particular case setting the NLS_LANG for AMERICAN_AMERICA does not help. I found this comment http://www.orafaq.com/forum/t/127312/2/ but would not like to hack around with MDSYS table content. Any help is highly appreciated.
Regards, TamasTamas,
1 . . .Are you indexing a table that already has geometries or an empty table?
. . . .If the former, do all the geometries in that table have the same (not NULL) SRID (23700)?
2 . .The link you posted suggests a parsing problem since in Hungarian (23700), the decimal seperator is a comma (not a period). Accordingly, I believe the edit to mdsys.sdo_cs_srs.WKTEXT would be:
PROJCS["HD72 / EOV", GEOGCS [ "HD72", DATUM ["Hungarian Datum 1972 (EPSG ID 6237)", SPHEROID ["GRS 1967 (EPSG ID 7036)", 6378160, 298,247167427]], PRIMEM [ "Greenwich", 0,000000 ], UNIT ["Decimal Degree", 0,01745329251994328]], PROJECTION ["Egyseges Orszagos Vetuleti (EPSG OP 19931)"], UNIT ["Meter", 1]]
^ ^ ^ Regards,
Noel -
Why index creation is slower on the new server?
Hi there,
Here is a bit of background/env info:
Existing prod server (physical): Oracle 10gR2 10.2.0.5.8 on ASM
RAM: 96GB
CPUs: 8
RHEL 5.8 64bit
Database size around 2TB
New server:
VMWare VM with Oracle 10gR2 10.2.0.5.8 on ASM
RAM 128GB
vCPUs: 16
RHEL 5.8 64bit
Copy of prod DB (from above server) - all init param are the same
I noticed that Index creation is slower on this server. I ran following query:
SELECT name c1, cnt c2, DECODE (total, 0, 0, ROUND (cnt * 100 / total)) c3
FROM (SELECT name, VALUE cnt, (SUM (VALUE) OVER ()) total
FROM v$sysstat
WHERE name LIKE 'workarea exec%')
C1
C2
C3
workarea executions - optimal
100427285
100
workarea executions - onepass
2427
0
workarea executions - multipass
0
0
Following bitmap index takes around 40mins in prod server while it takes around 2Hrs on the VM.
CREATE BITMAP INDEX MY_IDX ON
MY_HIST(PROD_YN) TABLESPACE TS_IDX PCTFREE 10
STORAGE(INITIAL 12582912 NEXT 12582912 PCTINCREASE 0 ) NOLOGGING
This index is created during a batch-process and the dev team is complaining of slowness of the batch on new server. I have found this one statement responsible for some of the grief. There may be more and I am investigating.
I know that adding "parallel" option may speedup but I want find out why is it slow on the new server.
I tried creating a simple index on a large table and it took 2min in prod and 3.5min on this VM. So I guess index creation is slower on this VM in general. DMLs (select/insert/delete/update) seem to work with better elapsed time.
Any clues what might be causing this slowness in index creation?
Best regardsI have been told that the SAN in use by the VM has capacity of 10K IOPS. Not sure of this info helps. I don't know more than this about the storage.
What else do I need to find out? Please let me know - I'll check with my Sys Admin and update the thread.
Best regards -
Hi, everyone
I have a spatial database having tables with millions of data. Currently, the performane is very slow. pls gve some solutions for tuning the spatial index.
Thanks in AdvanceAlbin,
How about you tell us what you have done wrt your setup so people can see what you have done that you think is wrong.
Supply
* Spatial index creation statements
* Information on table sizes
* Have geometry columns:
- more than one geometry type (eg polygons and linestrings)
- been validated
regards
Simon -
Problems building a spatial index - this must be a bug please help!
Hi,
We have a rather large spatial data warehouse. The schema is a star schema and is partitioned. During a load recently we had an error with one particular dataset, when building the index we got:
ERROR at line 1:
ORA-29855: error occured in the execution of ODCIINDEXCREATE routine
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
We have seen this kind of thing before, but usually dropping the data and reloading works fine (or rebuild the index). I should not that this obviously occurs before the partition is exchanged in. We are running 10.2.0.2 on red hat ES3.
With this error we tried to reload the data, but get the same. We tried the data on another copy of the system, and the same. We have tried the data on a 10.2.0.3 and an 11.1.0.6 database and all fail at the same location. We have validated the geometries - all fine, I have tried changing the DIMINFO so that it spans the whole globe, it failes again (by the way we are on SRID 8307 and all data is point type). The data is approx 1.2M rows and I have tried subdividing it up into smaller tables and these all build fine. I have partitions with much higher row counts and these are fine. I have tried everything possible including changing index parameters e.g. parallel tablespace etc. I have tried it on a tablespace without ASSM and one with and both fail. I have an export of the data if anyone would be available to try it?
I would really appreciate any help at all on this one.
Thanks
JonathanThere was a post a few months ago that addressed issues with 10.2.0.3 and Spatial index creation: Re: Fixed ...
-Justin -
Error creating spatial indexes
I'm using oracle 10g2.
I retrieve the following error message during spatial index creation:
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-13236: internal error in R-tree processing: [failed to cluster in memory]
ORA-13232: failed to allocate memory during R-tree creation
ORA-13236: internal error in R-tree processing: [failed to allocate memory
4387752 (mdrtsalloc)]
ORA-04031: unable to allocate ORA-04031: unable to allocate 4387800 bytes of
shared memory ("large pool","unknown object","koh-kghu sessi","kpmalloc")
bytes of shared memory ("","","","")
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
I've already tried to increase memory, shared and large pool, actually I have the following settings:
Shared pool 500
Buffer cache 200
Large pool 200
Pool Java 20
I've already installed data and created spatial indexes on other machine correctly with the same data with less memory use, and I can't find any difference.
Could anybody help me?Andre,
I didn't think the , and ; in the sdo_geom_metadata would be causing the problem because he indicated that he could build indexes on other data - I assume he uses the same diminfo values for these as well. But, one can never be too sure!
But certainly, follow what the error messages indicate.
The Oracle Error message manual says:
"ORA-13232: failed to allocate memory during R-tree creation
Cause: This feature assumes a minimum of 64K memory for bulk creation.
Action: Create the index for a small subset of the data. Then, use transactional insert operations for the rest of the data."
The spatial manual says:
"Before you create a spatial index, be sure that the rollback segment size and the SORT_AREA_SIZE parameter value are adequate, as described in Section 4.1.1."
One way to change the sort area size is to alter your existing session before
executing the create index statement. So, from 4.1.1. this can be done via:
ALTER SESSION SET SORT_AREA_SIZE = 20000000;
Also, do what Andre suggests. On my laptop with 1G of memory as a matter of course I change the SGA from the default to being much larger.
regards
S -
Hi everyone,
my question is about getting the following error durin spatial index creation in Oracle 8.1.5:
reate index wgs_part_NDX on WGS_PARTICELLE(GEOMETRIA) indextype is
2 mdsys.spatial_index parameters('sdo_level=9, sdo_numtiles=6');
create index wgs_part_NDX on WGS_PARTICELLE(GEOMETRIA) indextype is
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13200: internal error [ROWID:AAAETgAAIAAABAkAAA] in spatial indexing.
ORA-13206: internal error [] while creating the spatial index
ORA-13192: failed to read number of element rows
ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 7
ORA-06512: at line 1
Here is a sample of my spatial table:
SDO_GID MPE_ID CODICE X1
Y1 X2 Y2 ANGOLO ALTEZZA SUPERFICIE DATA_CREA
GEOMETRIA(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
1,0000E+10 1,0000E+10 583 3470,6
12088,45 3479,99 12089,56 0 18 18,49 14-MAR-01
SDO_GEOMETRY(3, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 3, 1), SDO_ORDINATE_ARRAY(348
2,05, 12092,75, 3479,45, 12093,15, 3478,49, 12086,78, 3481,65, 12086,45, 3482,05
, 12092,75))
1,0000E+10 1,0000E+10 405 3473,51
SDO_GID MPE_ID CODICE X1
Y1 X2 Y2 ANGOLO ALTEZZA SUPERFICIE DATA_CREA
GEOMETRIA(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
12102,32 3473,91 12097,19 0 18 42,63 14-MAR-01
SDO_GEOMETRY(3, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 3, 1), SDO_ORDINATE_ARRAY(348
2,45, 12096,75, 3479,3, 12097,32, 3479,12, 12095,88, 3475,32, 12096,63, 3475,5,
12097,91, 3472,41, 12098,53, 3472,25, 12097,45, 3470,07, 12097,77, 3469,55, 1209
4,95, 3471,85, 12094,55, 3479,45, 12093,15, 3482,05, 12092,75, 3482,45, 12096,75
What can I do to solve the problem?
I am absolutely a beginner in Oracle Spatial. I did read some previous postings on the forum: if I need to use the SDO_GEOM.VALIDATE_LAYER function, could you please suggest how to implement it?
Many thanks, RosaThis might be a duplicate reply, sorry if it is.
Hello Rosa,
I think you are using Oracle Spatial 8.1.6.
You can quickly find out what is wrong with the specific geometry by running validate_geometry:
SELECT sdo_geom.validate_geometry
(s.geom_col_name,
(SELECT diminfo
FROM user_sdo_geom_metadata
WHERE table_name = 'WGS_PARTICELLE'
AND column_name = 'GEOMETRIA')) status
FROM WGS_PARTICELLE s
WHERE S.ROWID='AAAETgAAIAAABAkAAA';
You can also run validate layer on the entire layer. To do this, first create a table to hold the results, then run validate_layer. Check out the documentation for more information...
Hope this helps,
dan
null -
Trouble with creating Spatial Indexes and "user_sdo_geom_metadata"
G'day All,
I've encountered a weird issue while playing around with SDO_GEOMETRY objects under Oracle Apex v3.0.1 on Oracle XE running on Windows Vista.
The issue started when I attempted to create the spatial index :
create index geotag_sdx on geotag(location)
indextype is mdsys.spatial_index;
and I got the following error:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
I scratched my head for a sec and thought WTF ? my metadata insert worked... well I was sure it did. However when I ran a select from "user_sdo_geom_metadata" there was no rows, so I tried again and I got an error "name is already used by an existing object", again I thought WTF ?
After getting the source for the "updatable" view "MDSYS.user_sdo_geom_metadata" I could see that the view was filter by CURRENT_SCHEMA:
SELECT SDO_TABLE_NAME TABLE_NAME, SDO_COLUMN_NAME COLUMN_NAME, SDO_DIMINFO DIMINFO, SDO_SRID SRID
FROM SDO_GEOM_METADATA_TABLE
WHERE sdo_owner = sys_context('userenv', 'CURRENT_SCHEMA')
I ran SELECT sys_context('userenv', 'CURRENT_SCHEMA') FROM DUAL and it correctly returned the SCHMEA name.
So from sqlplus and logged in a sys/sysdba I ran a select statement from MDSYS.SDO_GEOM_METADATA_TABLE and i saw the problem, the record was inserted with a SDO_OWNER value of "ANONYMOUS".
When I logged as the SCHEMA via sqlplus and ran the metadata insert statement it worked fine an d the index could be created.
Has anyone ran into this issue and how did you fix it as I'm concerned or know what I might be doing wrong ?
Any help would be most appreciated ?
Regards
MarkHi Marks,
Had a quick look at the stored procedure I'm using and there it is. We don't insert into user_sdo_geom_metadatas but in mdsys.sdo_geom_metadata_table and specify the owner ourselves. Of course, you need a direct grant on mdsys.sdo_geom_metadata_table to be able to do this from a stored procedure.
Seems we had the problem you are facing even without Apex. Our application has a special admin user that has execute privs on certain packages. But when running the spatial index creation procedure we ran into this "owner" problem.
Here they use all_sdo_geom_metadata:
Re: Metadata Error
Message was edited by:
renewestenberg
Maybe you are looking for
-
Dear Friends, How a Basic Cube differs from a Transactional and Remote Cube ? A Small Example- Cube Carries the Transaction data of Customer ,Material, Sales details ( characteristics) and price, Quantity and Revenue (keyfigures) . When do we Really
-
How to connect wi-fi connected laptop to the ethernet connected PC??
Hi, System 1 - PC, connected to the router+modem with ethernet cable, mostly has static IP System 2 - Laptop, connected to the router+modem with wi-fi, mostly uses DHCP I want to connect these 2 systems in order to access the shared data & printer
-
Had to restore ipad and all apps are missing in app store
My daughter was locked out of her ipad by a friend. I had to restore her ipad. I was able to download all of her music from icloud but all of her apps are gone. When I go to the app store it says that she hasn't purchased any apps. How can I get
-
Non-editable element in an InDesign document.
Hello, all. I need to add a non editable element to my InDesign document. This element will be my copyright notice. Although I will be sharing this InDesign document with others and will allow them to modify or customize it to their needs I wish to m
-
Installing Adobe Connect Desktop
There is no executable file when saving or opening from the download option, so how do I install it? The files are below, withthe folders only holding XML and images Thanks in the hope of a reply that causes me to go doh!