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
    --kassim                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    thanks 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 Greetham

    Jim,
    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';

  • Spatial index creation error

    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
    null

    try 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 AM

    Hi,
    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, Tamas

    Tamas,
    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 regards

    I 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

  • Spatial index tunning

    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 Advance

    Albin,
    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
    Jonathan

    There 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

  • About spatial index

    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, Rosa

    This 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
    Mark

    Hi 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

  • Remote and Transactional Cube

    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!