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.

Similar Messages

  • Errors when creating spatial index

    Hi,
    I am new to OTN and oracle technology. I met a problem as I wanted to create a spatial index.
    I created a table 'geoobject' with a column 'shape' of sdo_geometry.
    The I run the following script:
    insert into user_sdo_geom_metadata values ('geoobject', 'shape',
    mdsys.sdo_dim_array(
    mdsys.sdo_dim_element('latitude', 0.0000, 50.0000, 0.000050),
    mdsys.sdo_dim_element('longitude', 0.0000, 80.0000, 0.000050)), 8265
    after that I insert data into the table:
    update geoobject set shape=
    mdsys.sdo_geometry(2001, 8265,
    mdsys.sdo_point_type
    (to_number((select latitude from temp_location where temp_location.gid = geoobject.geo_id)),
    to_number((select longitude from temp_location where temp_location.gid = geoobject.geo_id)), null),
    null, null);
    Then I wanted to create the spatial index:
    create index geoobject_idx on geoobject(shape)
    indextype is mdsys.spatial_index;
    But I got the error messages:
    Error in line 1:
    ORA-29855: Fehler bei Ausführung der Routine ODCIINDEXCREATE (Error at running routine ODCIINDEXCREATE)
    ORA-13249: internal error in Spatial index: [mdidxrbd]
    ORA-13249: Error in Spatial index: index build failed
    ORA-13230: Temporäre Tabelle [temp-table: M2_7A21$$] konnte während Erstellen von R-Baum nicht erstellt werden
    (temporary tables could not be established when R-tree was generated)
    ORA-29400: Data Cartridge-Fehler
    ORA-01659: Kann MINEXTENTS über 2 in Tablespace AMSDB hinaus nicht zuweisen
    ORA-06512: in "MDSYS.SDO_INDEX_METHOD_9I", Zeile 7
    ORA-06512: in Zeile 1
    I read some messages from the OTN forum and got to know to test the data with the following script:
    SELECT geo_id FROM geoobject
    WHERE SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(shape, .005) <> 'TRUE';
    All data passed this test.
    Could somebody give me some suggestions?
    regards,
    Yiwei

    My spatial index has been successfully generated after i enlarged the tablespace. But I encounter a new problem.
    I have saved many points in the table. I can use oracle spatial analyzer to see all the points. But as I tried to run the following query according to the examples in the oracle spatial user guider, I always get error messages. I have no idea about which problems there might be.
    The Query is:
    select geo_id, geo_name from geoobject g
    where mdsys.sdo_filter
    (g.shape, mdsys.sdo_geometry
    (2003, null, null,
    mdsys.sdo_elem_info_array(1, 1003, 1),
    mdsys.sdo_ordinate_array(25.00, 60.00, 25.00, 70.00, 35.00, 70.00, 35.00, 60.00, 25.00, 60.00)
    ), 'querytype=WINDOW') ='true'
    and sdo_relate
    (g.shape, mdsys.sdo_geometry
    (2003, null, null,
    mdsys.sdo_elem_info_array(1, 1003, 1),
    mdsys.sdo_ordinate_array(25.00, 60.00, 25.00, 70.00, 35.00, 70.00, 35.00, 60.00, 25.00, 60.00)
    ), 'masktype=TOUCH querytype=WINDOW') ='true';
    The error messages are:
    ERROR in line 1:
    ORA-29902: Fehler bei der Ausführung von Routine ODCIIndexStart()
    ORA-13207: Falsche Benutzung des Operators [SDO_FILTER]
    ORA-06512: in "MDSYS.SDO_INDEX_METHOD_9I", Zeile 368
    ORA-06512: in Zeile 1
    I use SRID = 8307, I want to use Geodetic Coordinate Support. For that reason, as I insert the information into the database, I just insert '8307' as the SRID both in the geo table and in the table user_sdo_geom_metadata. Except for that I did nothing which seems to be related to support geodetic coordination system. I think the problems might be here.
    I am looking forward to helps.
    Yiwei

  • 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!

  • [Error when creating an index]

    Hi there,
    When i issue a create index statement, i get this error. On checking the ctx_indexes table, i see my index there. What is wrong and how can I rectify it?
    -- error --
    SQL> create index STAG_SCD_CONTENT_IDX on
    SEARCH_DATA(SCD_CONTENT) indextype is
    CTXSYS.CONTEXT;
    create index STAG_SCD_CONTENT_IDX on
    SEARCH_DATA(SCD_CONTENT) indextype is
    CTXSYS.CONTEXT
    ERROR at line 1:
    ORA-29855: error occurred in the execution of
    ODCIINDEXCREATE routine
    ORA-20000: ConText error:
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: ld.so.1: extprocPLSExtProc: fatal: libskgxp8.so:
    open failed: No such file or directory
    ORA-06512: at "CTXSYS.DRUE", line 122
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 34
    ORA-06512: at line 1
    --------------------

    These errors can be caused by oracle not being able to find files in oracle standard directories.
    In order to fix the problem, try this:
    export TNS_ADMIN=$ORACLE_HOME/network/admin

  • Error when creating BIA INDEX FOR CUBE

    Hi
    I am trying to create BIA index for a cube and I am getting error
    "An error occurred. Choose "Continue" to start again from the beginning"  in the second step. Could any body explain what this error mean and How to correct it.
    and when I press BIA Moniter tab  I am getting following message.
    An error occurred. Choose "Continue" to start again from the beginning
    "BIA Monitor Is Called for First Time
    The RFC destination for the BI accelerator is not yet specified in the
    system. Without the relevant entry in RSADMINA, the BIA monitor cannot
    be executed. Do you want to enter the RFC destination now?"
    Thanks in Advance
    Sarath
    Edited by: sarath kumar on Aug 21, 2008 9:42 AM

    Hi,
    Is there any way i can check bi accelerator installed or not for our bi server.I contacted basis team but they do not have any idea regarding this. but I heard from my ex colleage it is installed. and Reports from one cube is running very fast compared to recently created cube.
    Thanks
    Sarath

  • Error when create the index

    I'm new to Oracle Text, and I did the following on a Oracle 9i DB, and got the error as:
    "ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-20000: Oracle Text error:
    DRG-10509: invalid text column: AD_FINALTEXT
    ORA-06512: at "CTXSYS.DRUE", line 157
    ORA-06512: at "CTXSYS.CATINDEXMETHODS", line 100
    Can anyone tell me what's wrong? Thanks a lot.
    Steps I did:
    CREATE TABLE print_media (
    product_id NUMBER(6) PRIMARY KEY,
    ad_finaltext CLOB )
    INSERT INTO print_media VALUES (2056,
    'The TIGER2 2056 mouse pad meets all known industrial standards.')
    INSERT INTO print_media VALUES(3106,
    'The TIGER2 3106 Keyboard has all the standard features of a keyboard.')
    INSERT INTO print_media VALUES(5206,
    'The TIGER2 5206 Keyboard includes a built-in mouse.')
    COMMIT
    CREATE INDEX print_media_ad_tx
    ON print_media ( ad_finaltext )
    INDEXTYPE IS ctxsys.ctxcat

    This is the error you get when the text column is not one of the supported types. But in this case, it is
    CLOB, so it should be working -- you're sure that you didn't make the text column an NCLOB by mistake?
    NCLOB is not supported.

  • Error when creating index with parallel option on very large table

    I am getting a
    "7:15:52 AM ORA-00600: internal error code, arguments: [kxfqupp_bad_cvl], [7940], [6], [0], [], [], [], []"
    error when creating an index with parallel option. Which is strange because this has not been a problem until now. We just hit 60 million rows in a 45 column table, and I wonder if we've hit a bug.
    Version 10.2.0.4
    O/S Linux
    As a test I removed the parallel option and several of the indexes were created with no problem, but many still threw the same error... Strange. Do I need a patch update of some kind?

    This is most certainly a bug.
    From metalink it looks like bug 4695511 - fixed in 10.2.0.4.1

  • Issues Creating Spatial Index (Beginner)

    I am getting the error below:
    CREATE INDEX HHLT.BUILDING_SPATIAL_IDX
    ERROR at line 1:
    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
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
    When I select run the following, I get:
    select * from mdsys.sdo_geom_metadata_table;
    SDO_OWNER SDO_TABLE_NAME
    SDO_COLUMN_NAME
    SDO_DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
    SDO_SRID
    SYS BUILDING
    BUILDING_POLYGON
    SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', 0, 820, .005), SDO_DIM_ELEMENT('Y', 0, 580, .
    005))
    This is my script:
    =========================
    create user HHLT identified by HHLT;
    grant all privileges to HHLT;
    alter session set current_schema = HHLT;
    CREATE TABLE HHLT.BUILDING
    BUILDING_ID VARCHAR2(3),
    BUILDING_NAME VARCHAR2(50),
    VERTICES_COUNT INT,
    BUILDING_POLYGON MDSYS.SDO_GEOMETRY,
    CONSTRAINT BUILDING_PK PRIMARY KEY (BUILDING_ID)
    INSERT INTO USER_SDO_GEOM_METADATA
    VALUES ('BUILDING', 'BUILDING_POLYGON',
    SDO_DIM_ARRAY( SDO_DIM_ELEMENT('X', 0, 820, 0.005),
    SDO_DIM_ELEMENT('Y', 0, 580, 0.005)), NULL);
    COMMIT;
    CREATE INDEX ELKORDY.BUILDING_SPATIAL_IDX
    ON ELKORDY.BUILDING(BUILDING_POLYGON)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    ==================================
    What am I missing? Working from Windows 7 install.

    Dear Unnamed Person,
    It looks like cross-schema issues to me.
    You do all your work in the HHLT schema and then, at the end of your script you do this:
    CREATE INDEX ELKORDY.BUILDING_SPATIAL_IDX
    ON ELKORDY.BUILDING(BUILDING_POLYGON)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX;Yet in your post you are:
    CREATE INDEX HHLT.BUILDING_SPATIAL_IDXSorry, which is it?
    Also, when you select from the metadata table it tells you that the BUILDING table is in SYS schema (SYS is the owner) but not in HHLT or ELKORDY!
    I suspect that:
    alter session set current_schema = HHLT;Didn't connect as you expected - you are still the SYS user - so that when you did this:
    INSERT INTO USER_SDO_GEOM_METADATA
    VALUES ('BUILDING', 'BUILDING_POLYGON',
    SDO_DIM_ARRAY( SDO_DIM_ELEMENT('X', 0, 820, 0.005),
    SDO_DIM_ELEMENT('Y', 0, 580, 0.005)), NULL);It associated the metadata with the SYS owner and not the HHLT owner hence the error when creating the index.
    I would recommend you.
    1. Connect as the SYS schema.
    2. Remove the metadata object;
    3. Connect in a new session to the HHLT schema as the HHLT user;
    5. Create a new metadata entry in user_sdo_geom_metadata when in HHLT schema;
    6. Create the index (drop any existing broken index first).
    regards
    SImon

  • Error creating Spatial Index - ORA-29855

    I have a DB in 11g that I used SQL Developer to copy to my local machine, 10g installation. I copied the same kind of databases around a lot but this is the first time I'm getting this error, when creating the spatial index.
    For this table I only copy the DDL and then run a .sql file with lot's of inserts and now I'm trying to create the spatial index.
    So I tried:
    CREATE INDEX location_spatial_idx ON location(locationcoordinates) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    And got:
    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
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
    My DB is:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    I tried running the create index as SYSDBA with no luck.
    select * from mdsys.sdo_index_metadata_table -> empty for this user owner
    select sdo_index_name from user_sdo_index_metadata -> empty
    SELECT * FROM SDO_INDEX_METADATA -> empty
    So... any clue on what I'm doing wrong?

    user10768987 wrote:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-13203: failed to read USER_SDO_GEOM_METADATA view
    So... any clue on what I'm doing wrong?I would think that Oracle is quite clearly telling you what is wrong here: Your table is not in the metadata.
    If you simply create the DDL for the table and create the insert statements from SQL Developer, it won't create the insert into user_sdo_geom_metadata....
    And in order to create a spatial index, the table MUST be in the user_sdo_geom_metadata, whether you try to create the index as SYSDBA or as the owner of the table.
    Regards,
    Stefan
    Edited by: Stefan Jager on Jun 4, 2013 9:14 AM

  • 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
    sam

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

  • 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

  • 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.

  • Creating spatial index on spatial table

    Hi there. Just a quick query on creating spatial indexes on spatial tables. I have a table called System_Sessions which has the following four fields and types:
    USER_ID NUMBER(10)
    SESSION_ID NUMBER(10)
    SESSION_BOUNDARY MDSYS.SDO_GEOMETRY (polygon)
    START_POINT MDSYS.SDO_GEOMETRY (point)
    I am inserting one row per user session into this table. I also need to retrieve the session ids of previous sessions involving a particular user based on the session's start point. The query i am running is an sdo_within_distance query which looks as follows:
    Select session_id from joeweaker.system_sessions where user_id = 1003 and SDO_WITHIN_DISTANCE(start_point,
    (MDSYS.SDO_GEOMETRY(2001, 8265, MDSYS.SDO_POINT_TYPE
    (-105.0,40.0, NULL),NULL, NULL)), 'DISTANCE = 10000')='TRUE';
    However I encounter the following error whenever I attempt to execute this query:
    ORA-13226: interface not supported without a spatial index
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 8
    ORA-06512: at "MDSYS.SDO_3GL", line 255
    I know I haven't built the spatial index on the table so I was hoping that somebody might show me how to do this. Thnaks a lot, Joe

    Thnaks a lot Dan for the prompt reply. I have done as you advised and everything appears to be fine. However I have a second table called Session_Interest_Areas which appears as follows:
    USER_ID----NUMBER(10)
    SESSION_ID----NUMBER(10)
    AREA_ID----NUMBER(10)
    AREA_BOUNDARY----MDSYS.SDO_GEOMETRY
    I inserted the necessary detail into the user_sdo_geom_metadata table and then attempted to create the index as follows (exactly the same format as my other spatial tables:
    create index session_interest_areas_idx on
    session_interest_areas (area_boundary)
    indextype is mdsys.spatial_index;
    When I execute this query I get the following stream of error messages:
    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:AAAHocAAJAAAAC8AAA] in spatial indexing.
    ORA-13206: internal error [] while creating the spatial index
    ORA-13373: Element of type Extent is not supported for Geodetic data
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 7
    ORA-06512: at line 1
    Why does this give me an error when the same approach worked fine for my other spatial tables? Is it something to do with the SRID? Also the index appears to have been created so I presume it has been created incorrectly. Thanks for your time, Joe

  • Execute immideate Create spatial index

    I can't create spatial index in package when use
    execute immideate
    declare
    l_res varchar2(500);
    begin
    l_res := 'CREATE INDEX INDXSDO1_elements
    ON (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX';
    execute immediate l_res;
    end;
    i get an exception:
    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_FC41$] during R-tree creation
    ORA-13249: Stmt-Execute Failure: CREATE TABLE "GMT_TECH".MDRT_FC41$ (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 "GMT_TECH.REBUILDINDEX", line 66
    ORA-06512: at line 3
    Why this happen?
    I can create index without execute immediate
    CREATE INDEX INDXSDO1_elements
    ON (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    Thanks!

    Have you granted 'create table' and 'create sequence' to the user? Do this explicitly rather than through a role.

  • Specifying nologging while creating spatial indexes

    Hello
    Is it possible to specify NOLOGGING parameter while creating spatial indexes? When i am trying to specify this i get the following error message
    SQL> create index BUSH_sx on BUSH(BUSHLOCATION) indextype is mdsys.spatial_index nologging;
    create index BUSH_sx on BUSH(BUSHLOCATION) indextype is mdsys.spatial_index nologging
    ERROR at line 1:
    ORA-29850: invalid option for creation of domain indexes
    Even i cannot alter the index with NOLOGGING option. Does Oracle allow this option in spatial indexes?
    Regards
    sam

    I am looking into the logging issues.
    SDO_COMMIT_INTERVAL determines the number records in a commit chunk during index BUILD, I noted this was not documented raised doc BUG 6414510 for this
    and SDO_DML_BATCH_SIZE manual entries....
    Specifies the number of index updates to be processed in each batch of updates after a commit operation. The default value is 1000. For example, if you insert 3500 rows into the spatial table and then perform a commit operation, the updates to the spatial index table are performed in four batches of insert operations (1000, 1000, 1000, and 500).
    The sdo_dml_batch_size parameter can improve application performance, because Spatial can preallocate system resources to perform multiple index updates more efficiently than successive single index updates; however, to gain the performance benefit, you must not perform commit operations after each insert operation or at intervals less than or equal to the sdo_dml_batch_size value. You should not specify a value greater than 10000 (ten thousand), because the cost of the additional memory and other resources required will probably outweigh any marginal performance increase resulting from such a value.
    ====================================
    I have found if you are doing repeated inserts/updates etc of 100,000 plus records despite the above, there is an advantage or appears to be! ;-) for setting it to 50,000.
    it can be adjusted for an index that has been built
    update SDO_INDEX_METADATA_TABLE
    set SDO_DML_BATCH_SIZE = <Desired Value>
    where sdo_index_owner = <INDEX/SCHEMA Owner>
    and sdo_index_name = 'INDEX_NAME';
    Clearly every system will be different experiment on test systems only....
    Another area which can generally impact DML is undo_retention holding blocks when
    you just don't care.
    good settings when you dont wish to hold it
    Look at SQL> show parameter undo
    undo_management string AUTO
    undo_retention integer 1 <<<< One second
    undo_tablespace string MAKE Sure its big enough
    with 10.2.0.x seems to be an issue with setting it to 0 but I've not had time to investigate
    will do later. Also at 10.2.0.2 VERY large DML can sometimes hit ORA-600's the reasons are complex if you do hit them open a service request with support. There is a patch to cope with 95% of the issues. The other 5% I'm in the process of nailing and for those the current workaround is
    update SDO_INDEX_METADATA_TABLE
    set SDO_DML_BATCH_SIZE = 1
    where sdo_index_owner = <INDEX/SCHEMA Owner>
    and sdo_index_name = 'INDEX_NAME';
    ========================================
    Dont do this without checking the 600 with support....
    ========================================
    rather rambling....regarding the redo watch this space...

Maybe you are looking for

  • Invoking a WS from BPEL - WS URL is hardcoded in the WSDL

    I have published a PL/SQL package as a webservice and deployed it successfully to a development instance (say DEV). I created a BPEL process and used a Partner Link to invoke the above web service. When I deploy the BPEL process to the DEV instance,

  • Pictures not showing up in text

    I am having a strange problem. Somebody will text me a picture, my texts say I have a new message, but nothing is there., Eventually , maybe, the picture will finally show up. Usually many many hours. This happens all the time. Sometimes the pic neve

  • APP Check Printing Error

    Hi, When i am running printout of cheques in APP, Job getting cancelled and error message as follows: Parameter type = MAIN invalid. Pls guide me where i am doing mistake. Regards, VR

  • MPD + Pulseaudio problem

    Hey guys, I'm having trouble with mpd coupled with pulseaudio when trying to play surround sound (5.1) songs. The issue seems to be that mpd completely ignores my front-right speaker - nothing comes out of it. deadbeef and amarok can play the songs p

  • Libreoffice Crashing on Save again

    Several months ago I noticed that there was a bug in which Libreoffice would crash while in the "save as" dialog. I simply waited it out for a while, and then a new version of Libreoffice fixed it. In retrospect, I believe it was the same issue as de