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!
Similar Messages
-
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. -
Problem in creating Spatial index
Hi,
I am trying to create Spatial index on my function. Unsuccessfully.
I created function:
create or replace
FUNCTION VRAT_GEOMETRII(obj_id NUMBER)
RETURN MDSYS.SDO_GEOMETRY
DETERMINISTIC
as
test1 MDSYS.SDO_GEOMETRY;
prikaz VARCHAR2(32767);
BEGIN
prikaz:='SELECT SDO_PC_PKG.TO_GEOMETRY(
points,
num_points,
3) from pc_blktab2 WHERE obj_id ='||obj_id;
EXECUTE IMMEDIATE prikaz INTO test1 ;
RETURN test1;
END;
Updated metadata:
INSERT INTO user_sdo_geom_metadata(
TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID)
VALUES (
'PC_BLKTAB2',
'st_mkara.VRAT_GEOMETRII(obj_id)',
SDO_DIM_ARRAY(
SDO_DIM_ELEMENT('X',930000000,1200000000,10),
SDO_DIM_ELEMENT('Y',420000000,930000000,10),
SDO_DIM_ELEMENT('Z',0,1600000,10)
NULL -- SRID
and I want to create spatial index:
CREATE INDEX test_blok3_idx
ON PC_BLKTAB2(VRAT_GEOMETRII(obj_id))
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
but have these errors:
Error report:
SQL Error: 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-29400: data cartridge error
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "ST_MKARA.VRAT_GEOMETRII", line 12
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.
Thanks for help
KirinThis looks like a problem in your function.
Make sure you can execute that function successfully for each obj_id.
Looks like for certain obj_id, the SQL inside your function is failing (returns more than one row).
siva -
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. -
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,
YiweiMy 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 -
[solved] problems creating spatial index on SDO_ORDINATE_ARRAY in 11g
We have a problem to create a spatial index on a field with geometries as SDO_ORDINATE_ARRAY points (3d) in 11g. The same method worked well in version 10.
Test case:
Create a new table:
CREATE TABLE "TESTUSER"."MYTEST"
"ID" VARCHAR2(15 BYTE),
"GEOM" "MDSYS"."SDO_GEOMETRY"
Register the GEOM field:
INSERT INTO USER_SDO_GEOM_METADATA VALUES
('MYTEST', 'GEOM',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',4287662.44360155,4609289.08479709,5E-7),
MDSYS.SDO_DIM_ELEMENT('Y',5259525.06564855,5586464.07446503,5E-7),
MDSYS.SDO_DIM_ELEMENT('Z',0,10000,5E-7)),
31464);
Add some data:
INSERT INTO MYTEST ("ID", "GEOM") VALUES
('1', SDO_GEOMETRY(
3001,
31464,
NULL,
SDO_ELEM_INFO_ARRAY(1,1,1),
SDO_ORDINATE_ARRAY(4506206.54518109,5300630.21512683,459.255030927715,null)
Create spatial index
CREATE INDEX MYTEST_GIX ON MYTEST
"GEOM"
INDEXTYPE IS "MDSYS"."SPATIAL_INDEX";
The index will be created, but the building of the index will fail with the following error:
Error report:
SQL Error: 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:AACq+7AAEAAACscAAA] 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
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.
Has anyone already experienced this problem or do you have any idea on how to solve it?
Regards. Carsten
Edited by: Carsten Heidmann on 14.02.2011 07:20: wrong tablename
Edited by: Carsten Heidmann on 14.02.2011 08:45Uhm - it seems we had an error in our data. The points 4d with NULL in the fourth dimension.
Edited by: Carsten Heidmann on 14.02.2011 08:46 -
Problem creating spatial index(ora 29855) on 10g 2r
hello i use oracle 10g r2 and have problems by creating my index (ora 29855).
The weird thing is that similar kinds of creating indices make one time problems and in the other time not ???
First example - it's no problem to create this index and everything is fine
create table map_image(
img_id number(5),
img blob,
geom mdsys.sdo_geometry);
create index map_image_idx on map_image(geom) indextype is mdsys.spatial_index;
Second example- spit the ora 29855 error out and following ora 13203
create table SCHIFFSPOSITION(
ship_id VARCHAR(10)NOT NULL,
system_date_der_1 DATE ,
system_time_der_1 VARCHAR(8),
geom SDO_GEOMETRY);
create index schiffsposition_idx on schiffsposition(geom) indextype is mdsys.spatial_index;
Thank you very much for helpAre you missing metadata? This works just fine:
SQL> DROP TABLE map_image;
Table dropped.
SQL> DROP TABLE schiffsposition;
Table dropped.
SQL> DELETE FROM MDSYS.user_sdo_geom_metadata;
2 rows deleted.
SQL> CREATE TABLE map_image(
2 img_id NUMBER(5),
3 img BLOB,
4 geom MDSYS.SDO_GEOMETRY);
Table created.
SQL> INSERT INTO MDSYS.user_sdo_geom_metadata
2 VALUES ('MAP_IMAGE', 'GEOM',
3 sdo_dim_array (sdo_dim_element ('Longitude', -180, 180, .05),
4 sdo_dim_element ('Latitude', -90, 90, .05),
5 sdo_dim_element ('Elevation', -11000, 9000, .05)
6 ),
7 8307);
1 row created.
SQL> CREATE INDEX map_image_idx ON map_image(geom) INDEXTYPE IS MDSYS.spatial_index;
Index created.
SQL> CREATE TABLE schiffsposition(
2 ship_id VARCHAR(10) NOT NULL,
3 system_date_der_1 DATE ,
4 system_time_der_1 VARCHAR(8),
5 geom SDO_GEOMETRY);
Table created.
SQL> INSERT INTO MDSYS.user_sdo_geom_metadata
2 VALUES ('SCHIFFSPOSITION', 'GEOM',
3 sdo_dim_array (sdo_dim_element ('Longitude', -180, 180, .05),
4 sdo_dim_element ('Latitude', -90, 90, .05),
5 sdo_dim_element ('Elevation', -11000, 9000, .05)
6 ),
7 8307);
1 row created.
SQL> CREATE INDEX schiffsposition_idx ON schiffsposition(geom) INDEXTYPE IS MDSYS.spatial_index;
Index created.
Bryan -
ORA-29855 - Error creating Spatial Index using a Stored Procedure
Hi
I am using Oracle 10gR2 database and I have written a stored procedure to create spatial index. But when i execute this function i get the following error message.
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in R-tree: [mdrcrtscrt]
ORA-13231: failed to create index table [MDRT_217C1$] during R-tree creation
ORA-13249: Stmt-Execute Failure: CREATE TABLE FGDABZ40.MDRT_217C1$ (NODE_ID NUMBER, NODE_LEVEL NUMBER, INFO BLOB) LOB (INFO) STORE AS (CACHE) NOLOGGING PCTFREE 2
ORA-29400: data cartridge error
ORA-01031: insufficient privileges
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
ORA-06512: at line 1
ORA-06512: at "FGDABZ40.PKG_PSSDBE_APPLICATION", line 298
ORA-06512: at line 17
The tables that i am passing are registered in metadata and I am able to create indexes directly in sql plus. But when i try to create using this stored procedure, it fails.
it should be possible to create indexes using a generic function. Has any faced a similar problem?
regards
samHi,
I am having a same error on Oracle 10gR2 database. When I execute the same statement in sqlplus, it works. But it gives this error when I call the procedure which has this create spatial index statement.
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in R-tree: [mdrcrtscrt]
ORA-13231: failed to create index table [MDRT_20CDA$] during R-tree creation
ORA-13249: Stmt-Execute Failure: CREATE TABLE "SDOMGR".MDRT_20CDA$ (NODE_ID NUMBER, NODE_LEVEL NUMBER, INFO BLOB) LOB (INFO) STORE AS (CACHE) NOLOGGING PCTFREE 2
ORA-29400: data cartridge error
ORA-01031: i
Any help will be appreciated.
Thanks,
Sri -
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 -
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, JoeThnaks 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
samI 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... -
Problem when creating a sales order with reference by BAPI
I am facing one problem when creating Sales Order.
<b>The scenario is like this while creating SO With reference to an Order type, a new SO will be automatically created with a diff order Type</b>.
I am using "BAPI_SALESORDER_CREATEFROMDAT2".
I am calling this BAPI in USEREXIT_REFRESH_DOCUMENT.
Am I using the right exit to call this Bapi ?
<b>Problems are like :
1. Ref Sales Order creating without Sales Unit .
2. "Object Status does not exist" error msg is coming for Header and Item level(when clicking the status tab and then object status pushbutton).</b> But if testing the bapi from SE37 in test sequence....no such problem persists.
As for example in case of sales unit,in the debugging mode i have seen that BAPI uses a perform to fill the values in the VBAP structure.But after that when it come back to the main program VBAP remains blank.This ocuurs when the BAPI is called from the exit whereas if tested from SE37, VBAP retains the value.
Can u suggest in this ? This is very very urgent............
Thx in Adv.........................Thanks........
Your suggestion was a great help to me.I have used a custom FM and called it in <b>starting new task</b>.
Since i am a university fresher working in SAP for nearly 1 year.....can you please explain me the difference between <b>in update task</b> and <b>starting new task</b>.Why the problem was occuring for which you have suggested to call a custom function module.
what is V1 update and V2 update?Is it attached with asynchronous ans synchronous update.It would be a great help to me if you kindly clear my confusions....
thanks in advance. -
Problem when creating Database (Database, OS and hardware Configuraiton included)
Problem when creating Database:
Below are the problems, which I faced during creation of database. I have mentioned both the problem separately. Plus the log file maintained by Oracle during installation. It might help in diagnosing the error. Plus a little conclusion with I turned up to.
There are two problems, when creating database with Oracle Database Assistant. One when creating pre tuned database from CD. And second when creating customized database giving options your self.
Problem # 1:
When creating pre tuned database from CD. The process of creating Database is 90 % complete and is at step # 3 Initializing Database. It gives error ORA-03113: end-of-file on communication channel.
I searched following oracle help for this problem.
ORA-03113: end-of-file on communication channel
Cause: An unexpected end-of-file was processed on the communication channel. The problem could not be handled by the Net8, two-task software. This message could occur if the shadow two-task process associated with a Net8 connect has terminated abnormally, or if there is a physical failure of the interprocess communication vehicle, that is, the network or server machine went down.
Action: If this message occurs during a connection attempt, check the setup files for the appropriate Net8 driver and confirm Net8 software is correctly installed on the server. If the message occurs after a connection is well established, and the error is not due to a physical failure, check if a trace file was generated on the server at failure time. Existence of a trace file may suggest an Oracle internal error that requires the assistance of customer support.
Conclusion:
What I conceive from this problem and the help available is that, I have to install NET8 again. But I am not sure about the solution, please tell me whether I am rite or not.
Problem # 2:
When creating database with custom option. The process of creating Database is 2 % complete and is at step # 2 Creating Database Files. It gives error ORA-12571: TNS:packet writer failure.
I searched following oracle help for this problem.
ORA-12571: TNS:packet writer failure
Cause: An error occurred during a data send.
Action: Not normally visible to the user. For further details, turn on tracing and re-execute the operation. If error persists, contact Worldwide Customer Support.
Conclusion:
What I conceive from this problem and the help available is that, I have to install NET8 again. But I am not sure about the solution, please tell me whether I am rite or not.
Log File Showing Error :
Result code for launching of configuration tool is 0
Launched configuration tool Oracle Database Configuration Assistant
Command which is being spawned is C:\Program Files\Oracle\jre\1.1.7\bin/jrew.exe -Duser.dir=d:\oracle\ora81\assistants\dbca\jlib -classpath ";C:\Program Files\Oracle\jre\1.1.7\lib\rt.jar;C:\Program Files\Oracle\jre\1.1.7\lib\i18n.jar;d:\oracle\ora81\jlib\ewt-3_3_6.jar;d:\oracle\ora81\jlib\share-1_0_8.jar;d:\oracle\ora81\jlib\swingall-1_1_1.jar;d:\oracle\ora81\assistants\dbca\jlib\dbassist.jar;d:\oracle\ora81\assistants\jlib\jnls.jar;d:\oracle\ora81\assistants\jlib\acc.jar;d:\oracle\ora81\jlib\help-3_1_8.jar;d:\oracle\ora81\jlib\ice-4_06_6.jar;d:\oracle\ora81\jlib\netcfg.jar;" DBCreateWizard -progress_only -responseFile NO_VALUE -createtype seed -numusers NO_VALUE -apptype NO_VALUE -cartridges NO_VALUE -options NO_VALUE -demos NO_VALUE -seedloc d:\oracle\ora81\starterdb -sid ora8i -orabase d:\oracle -clususer NO_VALUE -cluspswd Protected value, not to be logged -nodeinfo NO_VALUE -gdbName ora8i
Invalid Exit Code. The following result code will be used for configuration tool: 1
Configuration tool Oracle Database Configuration Assistant failed
The datafiles will be copied from the CD to d:\oracle\oradata\ora8i. The Oracle Database Configuration Assistant will begin creating the database.
An Oracle database will be created for you. The database name will be ora8i. The system identifier for the database will be ora8i. The password for the INTERNAL account will be ******, the SYS account will be change_on_install and the SYSTEM account will be manager.
Log File of Installation:
The above code is a part of the log file, which is generated by Oracle installer at C:\Program Files\Oracle\Inventory\Log\..
I just pasted the part of code, highlighted is the code showing error with Oracle Database Configuration Assistant.
Software & Hardware Configuration are as follow:
Software:
Database
Oracle 8.1.7.0.0 (Oracle8i)
Operating System
Microsoft Windows 2000
5.00.2195
Service Pack 2
Hardware:
x86 Family 6 Model 8 stepping
10
AT/AT COMPITABLE
260,400 KB RAMDont't worry about that. Before you
create a table(or view), it is wise to
drop the table(or view) with the same name.
If the name doesn't exist, of course there
is an error message. See the following script:
-------------------begin-----------
drop table students cascade constraints;
create table students (
sid varchar2(5),
fname varchar2(20),
lname varchar2(20) not null,
minit char,
primary key (sid));
--------------end-----------------
Good day!
null -
Problem when creating CAF Entity Service finder Methods
Guys,
Can any one please suggest me appropriatly to the below problem.
I am using NWDS 7.06. I have no problem when creating CAF project, Application Service and Entity Service even.
But in the Entity Service:
1. Add a string or longtext attribute.
2. try to create a custom finder method in operations tab, during that operation i am not finding the attribute which i have created in step1.
That means i am not able to create the my own finder methods with parameters.
I was able to do that in some version long ago but i have forgotten that NWDS version.
summary of Problem Is: " Cannot create custom methods with custom parameters in Entity Service"
Can you please suggest me the right version or a solution to this problem on urgent basis please.
I promise you that i will give you full points to you who ever gives me the right solution.
Please mail your suggestions to [email protected]Guys,
I have solved the problem successfully. Thanks for your attention.
Maybe you are looking for
-
I have been using PayPal with I tunes since 08 with no troubles now when I go to any app free or not it tells me that this device does not support PayPal so I have contacted PayPal and have everything taken care of there my account is verified and no
-
I am using Mac OS X 10.6.8, and I need to download Adobe Digital Editions. Is there any way to download an earlier version so I don't have to upgrade my system?
-
Named constants for HTML DB page
I'm writing a page which refers in a number of places to a "magic number" - specifically, the ID of an entry in a reference table. I'd like to avoid having the magic number '21' scattered all over my page, so I was hoping to give that ID a name somew
-
To Nokia: will there be a fixed/new firmware for E...
Last week I updated the firmware of my E61 to version 2 and I really regret it. (is there anyway of going back to the old firmware? ) I cant stand pressing blue function key when I browse the web on my E61 every single time I want to use a shortcut,
-
Important Questions to ask when developing in Workflow
Hello All, I have two questions. I am not a Workflow developer, but I've been asked to find out information about creating a Workflow process. Here is what <b>I</b> need to know: What are important questions to ask the end-user when creating a wo