Alter tolerance USER_SDO_GEOM_METADATA

On an existing table with a high tolerance i.e. 0.000005 we would like to alter this to 0.005.
We have recreated spatial indexes.
Do the underlying SDO_ORDINACE array data need to be updated / data reloaded?
If so what is the preferend approach?

Hi,
Having altered the tolerance for the table from 0.000005 to 0.005 you should validate the data in the table. This is because this tolerance is used to determine whether consecutive points are the same. Obviously this is not necessary if your geometries are points.
Use VALIDATE_GEOMETRY_WITH_CONTEXT and use a tolerance of 0.005.
Regards.
Ivan

Similar Messages

  • Selecting tolerance from user_sdo_geom_metadata

    I have trouble selecting tolerance from the USER_SDO_GEOM_METADATA view.
    The problem is that DIMINFO is VARRAY of 4 elements in sqlplus. I used the same logic like getting sdo_gtype from the geometry data but that did not work.
    SQL> select diminfo.sdo_dim_array from user_sdo_geom_metadata
    2 where table_name = 'OCF_LANDMARKS';
    select diminfo.sdo_dim_array(1) from user_sdo_geom_metadata
    ERROR at line 1:
    ORA-00932: inconsistent datatypes: expected UDT got NUMBER
    I tried second sql but that does not work either.
    select diminfo.sdo_dim_array from user_sdo_geom_metadata
    ERROR at line 1:
    ORA-00904: "DIMINFO"."SDO_DIM_ARRAY": invalid identifier
    My question is if we can retrive just the tolerance value by specifying table name and geometry column from USER_SDO_GEOM_METADATA table usinf SQL query or we have to write pl sql program to parse the DIMINFO data.
    Thank you very much
    Jaishri

    Try this query
    SELECT sdo_dimname,sdo_tolerance FROM TABLE(select DIMINFO from user_sdo_geom_metadata WHERE ROWNUM=1)
    instead of "ROWNUM=1" you can place any clause to select any specific metadata

  • User_sdo_geom_metadata - how to update tolerance value

    Hello,
    I need to update my tolerance values within the DIMINFO field of the user_sdo_geom_metadata table. I'm new to updating "objects" via sql.
    Could someone provide an SQL example of how to update the tolerance value(s).
    Thanks very much,
    David Hagemann

    I need to query points at a certain distance from the interstate.
    This is my query
    =======================
    select objectid
    from Table_points , interstates
    where highway = 'I 95'
    and mdsys.sdo_within_distance (
    Table_points.shape, interstates.geom,
    'distance=2.5 layer_gtype=POINT') = 'TRUE';
    =======================
    This is the error I got
    ERROR at line 1:
    ORA-13285: Geometry coordinate transformation error
    ORA-29400: data cartridge error
    ORA-22060: argument [2] is an invalid or uninitialized number
    ORA-06512: at "MDSYS.SDO_3GL", line 160
    ORA-06512: at "MDSYS.SDO_3GL", line 266
    ORA-06512: at line 1
    =========================
    Anyone has an idea where I am wrong
    Thanks
    Tan

  • Failed to read USER_SDO_GEOM_METADATA view

    Hello,
    I'm trying to add a geometry column to an oracleXE table.
    commands issued are:
    1) alter table specimen add (geom mdsys.sdo_geometry);
    2) update specimen set geom = mdsys.sdo_geometry(2001,8307,mdsys.sdo_point_type(dec_long,dec_lat,null),null,null);
    3) insert into mdsys.user_sdo_geom_metadata (table_name,column_name,diminfo,srid) values ('specimen','geom',mdsys.sdo_dim_array(mdsys.sdo_dim_element('longitude',-180,180,1), mdsys.sdo_dim_element ('latitude',-90,90,1)),8307);
    all above seem to work correctly and if I list user_sdo_geom_metadata I get:
    TABLE_NAME
    COLUMN_NAME
    DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
    SRID
    SPECIMEN
    GEOM
    SDO_DIM_ARRAY(SDO_DIM_ELEMENT('longitude', -180, 180, 1), SDO_DIM_ELEMENT('latit
    ude', -90, 90, 1))
    8307
    TABLE_NAME
    COLUMN_NAME
    DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
    SRID
    which also looks correct.
    However, when I try to create a spatial index with:
    create index specimen_sidx on specimen(geom) indextype is mdsys.spatial_index;
    I get the error:
    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
    Does anyone have a fix or any idea why it fails?
    Any help appreciated,
    Dave

    Sorry, I forgot about the triggers on the user_sdo_geom_metadata:
    Do these as well (again while connected as SYSDBA).
    alter session set current_schema=MDSYS;
    CREATE OR REPLACE TRIGGER SDO_GEOM_TRIG_INS1
    INSTEAD OF INSERT ON user_sdo_geom_metadata
    REFERENCING NEW AS n
    FOR EACH ROW
    declare
    tname varchar2(32);
    stmt varchar2(2048);
    vcount INTEGER;
    dimcount INTEGER;
    tolerance NUMBER;
    dimelement MDSYS.SDO_DIM_ELEMENT;
    idx number;
    BEGIN
    EXECUTE IMMEDIATE
    'SELECT user FROM dual' into tname;
    if ( (instr(:n.table_name, ' ') > 0 ) OR
    (instr(:n.table_name, '''') > 0 ) ) then
    mderr.raise_md_error('MD', 'SDO', -13223,
    :n.table_name||'.'||:n.column_name);
    end if;
    if ( (instr(:n.column_name, ' ') > 0 ) OR
    (instr(:n.column_name, '''') > 0 ) ) then
    mderr.raise_md_error('MD', 'SDO', -13223,
    :n.table_name||'.'||:n.column_name);
    end if;
    stmt := 'SELECT count(*) FROM SDO_GEOM_METADATA_TABLE ' ||
    'WHERE sdo_owner = :tname AND sdo_table_name = :table_name '||
    ' AND sdo_column_name = :column_name ';
    EXECUTE IMMEDIATE stmt INTO vcount
    USING upper(tname), upper(:n.table_name), upper(:n.column_name);
    IF vcount = 0 THEN
    dimcount := :n.diminfo.count;
    FOR idx in 1 .. dimcount LOOP
    dimelement := :n.diminfo(idx);
    tolerance := dimelement.SDO_TOLERANCE;
    if ( (tolerance is NULL) OR (tolerance <= 0) ) then
    mderr.raise_md_error('MD', 'SDO', -13224,
    :n.table_name||'.'||:n.column_name);
    end if;
    END LOOP;
    INSERT INTO sdo_geom_metadata_table values
    (tname,
    upper(:n.table_name), upper(:n.column_name), :n.diminfo,
    :n.srid);
    ELSE
    mderr.raise_md_error('MD', 'SDO', -13223,
    :n.table_name||'.'||:n.column_name);
    END IF;
    END;
    show errors;
    CREATE OR REPLACE TRIGGER SDO_GEOM_TRIG_DEL1
    INSTEAD OF DELETE ON user_sdo_geom_metadata
    REFERENCING OLD AS n
    FOR EACH ROW
    declare
    tname varchar2(32);
    stmt varchar2(2048);
    vcount INTEGER;
    BEGIN
    EXECUTE IMMEDIATE
    'SELECT user FROM dual' into tname;
    DELETE FROM sdo_geom_metadata_table
    WHERE SDO_OWNER = tname
    AND SDO_TABLE_NAME = upper(:n.table_name)
    AND SDO_COLUMN_NAME = upper(:n.column_name);
    END;
    show errors;
    CREATE OR REPLACE TRIGGER SDO_GEOM_TRIG_UPD1
    INSTEAD OF UPDATE ON user_sdo_geom_metadata
    REFERENCING OLD AS old NEW AS n
    FOR EACH ROW
    declare
    tname varchar2(32);
    stmt varchar2(2048);
    vcount INTEGER;
    BEGIN
    EXECUTE IMMEDIATE
    'SELECT user FROM dual' into tname;
    UPDATE sdo_geom_metadata_table
    SET (SDO_TABLE_NAME, SDO_COLUMN_NAME, SDO_DIMINFO, SDO_SRID) =
    (SELECT upper(:n.table_name), upper(:n.column_name), :n.diminfo,
    :n.srid FROM DUAL)
    WHERE SDO_OWNER = tname
    AND SDO_TABLE_NAME = upper(:old.table_name)
    AND SDO_COLUMN_NAME = upper(:old.column_name);
    END;
    show errors;

  • Problem with Time Machine for those with low tolerance for seizures.

    I need to know if there is a way to switch all the wonderful shuffle and swish of this much needed feature. I have a low tolerance for seizures, not enough to cause me terrible harm but enough to make me violently ill.
    The stacking and fast shuffling trigger the first stages of a fit for me at least.
    I wonder if there is a way to slow it down or have it static and just use the slider?
    I also can't use the iPod style finder either.
    This is not a joke or some attempt to flame Leopard. I rate this OSX as one of the best and the nicest to use except for not being able to switch off feature. I was wondering if their is a geek terminal method of altering at least the rate of shuffle. Leopard is much better than Vista. I need help though.

    Below is a full log from my latest time machine back up.  Migration assistant still cannot see it.  Any thought would be grateful
    Starting automatic backup
    Backing up to: /Volumes/Time Machine/Backups.backupdb
    Event store UUIDs don't match for volume: Macintosh HD
    Deep event scan at path:/ reason:must scan subdirs|new event db|
    Finished scan
    Found 1669 files (405.2 MB) needing backup
    1.86 GB required (including padding), 703.81 GB available
    Copied 5541 files (404.5 MB) from volume Macintosh HD.
    Using file event preflight for Macintosh HD
    Will copy (Zero KB) from Macintosh HD
    Found 34 files (Zero KB) needing backup
    1.37 GB required (including padding), 703.39 GB available
    Copied 1057 files (201 bytes) from volume Macintosh HD.
    Created new backup: 2013-03-05-130247
    Starting post-backup thinning
    Deleted /Volumes/Time Machine/Backups.backupdb/XXX’s MacBook/2013-03-04-075145 (45 KB)
    Post-back up thinning complete: 1 expired backups removed
    Backup completed successfully.

  • ORA-13044: the specified tile size is smaller than the tolerance

    Hi,
    I get the oracle error ORA-13044: the specified tile size is smaller than the tolerance when I do the following point cloud clip:
    8 sdo_geometry(2003,29903, null,
    9 mdsys.sdo_elem_info_array(1,1003,3),
    10 mdsys.sdo_ordinate_array(316504,316510,234084,234090)),
    However the bounds of my point cloud are
    316500 to 316511 and 234080 to 234092 and my tolerance during point cloud creation is set to 0.000015 (I have alterated this value before to make it smaller but nothing seems fit).
    Where do I set the "tile size"?
    The set consists of 100 points and blk_capacity is set to 50.
    Any help is really greatly appreciated.
    Cheers,
    F.

    Hi BKazar,
    thanks for responding.
    Yes, I tried out all sorts of things and swapped the numbers to see if that would fix the issue. It did not.
    I have found out now though what the issue was. When I loaded the data file into Oracle, the guy who gave me the file said that the first column is the longitude, but it wasn't. After switching sdo_point.x and y the error disappeard.
    I suppose the sdo_srid was expecting a different range and got confused because my long and lat were swapped.
    Cheers,
    F.

  • User_sdo_geom_metadata and oo4o

    The following code crashes when I try to
    get the dimension information.
    The machine is Windows NT, oracle 8.1.6 and
    oo4o 3.10.
    OValue info;
    OObject infodim;
    query("select * from user_sdo_geom_metadata");
    Dynaset_.Open(*oradb_,query.c_str());
    while (!(Dynaset_.IsEOF()))
    Dynaset_.GetFieldValue("table_name",&tablen[0],30);
    Dynaset_.GetFieldValue("column_name",&geomname[0],30);
    Dynaset_.GetFieldValue("diminfo",&info);
    long objtype = info.GetObjType();
    OCollection infocoll = (OCollection)info;
    int collsize = infocoll.GetSize();
    int eltype = infocoll.GetElementType();
    for(int i=1;i<=collsize;i++);
    infocoll.GetValue(i,&infodim); //!!! crashes here
    //infodim.GetAttrValue("sdo_dimname", &dimname[0],64);
    //infodim.GetAttrValue("sdo_lb", &lb);
    //infodim.GetAttrValue("sdo_ub",&ub);
    //infodim.GetAttrValue("sdo_tolerance",&tolerance);
    Dynaset_.MoveNext();
    Sincerely.
    Joao
    null

    enhancement request 2419788 has been added to Oracle's database.

  • How can I alter a calendar script to place progressive dates on every day in the calendar year?

    Is there an easy way either to alter the calendar script or create something that will allow for variable text in each day of the year?
    I am creating a calendar for a cattle rancher, and he wants to include a gestation calendar in the design.
    So...instead of the Julian date on every caledar day, he would like to include the date that a calf will be born if the cow had been bred on a particular day.  For example:  On the calendar date, January 1, in that box, another smaller date will appear - 10/9, On January 2 - 10/10 and so on. But, I need this progression to continue throughout the whole year.
    I have attempted to manually enter each date in a separate table and super impose it over the calendar, but this is very slow and very tedious. There has to be a faster way.
    I am comfortable looking at code and can often times figure out which fields to change, but I am a bit lost on this one. Where do I start?
    Please help!
    Thanks!

    That helped, but still did not solve the "continous scroll" question.
    I did however discover that if you go to Search and type in a "common" letter like "s", a Continuous List view will appear.
    Any further help on how to do this as a default view would be appreciated from any and all.
    Thanks for the help and for the link paulcb.

  • Error while altering a table in Oracle Portal

    i have a table with primary key. i realize that the primary is not required and when i get rid of primary key thru Oracle Portal and say OK ... i am encountered with the following error -
    Error:
    ORA-25150: ALTERING of extent parameters not
    permitted (WWV-11230)
    Failed to parse as PORTAL30 - alter table
    BPSITEST.JEN_TEST_PRIMARY_KEYS
    drop PRIMARY KEY
    modify(
    EMP_ID NUMBER(10),
    LAST_NAME VARCHAR2(10),
    FIRST_NAME VARCHAR2(10))
    PCTFREE 10
    PCTUSED 40
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    NEXT 256K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    ENABLE CONSTRAINT SYS_C003038 ENABLE CONSTRAINT
    SYS_C003039 ENABLE CONSTRAINT SYS_C003040
    (WWV-08300)
    Any Ideas .... anyone ... ??
    thanx
    null

    ORA-00054: resource busy and acquire with NOWAIT specified The table is currently in use by something else.
    Werner

  • Error while altering a table.

    Hi All,
    When i tried to alter a table. I got the following error.
    SQL> ALTER TABLE SALES_ORDER_TRANS_IHST ADD(SUPER VARCHAR2(1),REASON_CD VARCHAR2(10));
    ERROR at line 1:
    ORA-00069: cannot acquire lock -- table locks disabled for SALES_ORDER_TRANS_IHST
    Then I tried to enable table lock for that table. Again got error.
    SQL> ALTER TABLE SALES_ORDER_TRANS_IHST enable table lock;
    ALTER TABLE SALES_ORDER_TRANS_IHST enable table lock
    ERROR at line 1:
    ORA-00054: resource busy and acquire with NOWAIT specified

    ORA-00054: resource busy and acquire with NOWAIT specified The table is currently in use by something else.
    Werner

  • Maintain tolerance limits in the Tolerance key

    Hi,
    Could any one help me how to maintain these Tolerance limits in the Tolerance key. This is an error I receive  while creating a PO.
    Best Regards,
    Sridhar.k

    What is the Error Mesaage no you are getting??
    Solution is as Follows
    Set Tolerance Limits for Price Variance
    In this step, you define the tolerance limits for price variances.
    When processing a purchase order, the system checks whether the effective price of a PO item shows variances compared with the valuation price stored in the material master record. In addition, it checks whether the specified cash discount value is admissible.
    Variances are allowed within the framework of tolerance limits. If a variance exceeds a tolerance limit, the system issues a warning or error message.
    In the SAP System, the types of variance are represented by the tolerance keys. For each tolerance key, you can define percentage and value-dependent upper and lower limits per company code.
    Standard settings
    The standard SAP System supplied contains the following tolerance keys:
    PE Price variance, Purchasing
    Tolerance limit for system message no. 207. This message appears if the specified effective price exceeds the predefined tolerances when compared with the material price.
    SE Maximum cash discount deduction, Purchasing
    Tolerance limit for system message no. 231. This is a warning message, which appears when the specified cash discount percentage exceeds the predefined tolerances.
    Note
    You can specify whether the system message appears as a warning or error message using the menu options <b>Environment -> Define Attributes of System Messages.</b>
    Activities
    Maintain the tolerance limits for each tolerance key per company code
    Regards
    Biswajit

  • Purchase Order Goods Receipt quantity tolerance setting not working.

    Team,
    We are using the IS-Oil solution, ECC 6.0 REL 605 SP LEVEL 009 .
    The issue that I have is as follows:
    Purchase Order Goods Receipt quantity tolerance setting not working, I had set up a 10% tolerance on QTY received in the GR process via the PIR and also the Purchase Value Key in the  material master and also changed the message to a warning in OMCQ for message number M0722.
    I  had performed a similar configuration and master data maintenance on a different NON IS-OIL client install and it worked fine.
    I believe it is the IS-OIL component in the Inventory update portion of the GR process that is causing the error.
    I have searched for OSS notes, however they mention that there is no solution.
    Setting the PO line item as Unlimited will not be best practice for the business and will not be used.
    Has anyone come across this issue? and how was it resolved, your help and guidance will be greatly appreciated.
    Thanks

    Hello,
    Please check the Tolerance levels in O588 
    Also you can use the BAdI OIB_QCI_ROUND_QTY: A new method, CHECK_TOLERANCE
    Best Regards,
    R.Brahmankar

  • Transaction BORGR: No tolerance on goods receipt for Kanban calloff

    Hello,
    we have the following situation:
    - MM scheduling agreement with tolerance of 10% for under and overdelivery, production supply "summarized JIT call" is set.
    - KANBAN cycle has 1 empty container with a summarized JIT call for replenishment, quantity 10 pieces.
    - ASN has been created with BORGR transaction, it contains: 1 line item for the material with delivery quantity 9 pieces, assigned to this line item is the JIT call with notified quantity 9 pieces as well.
    My expectation was that the JIT call can be booked with 9 pieces as it is inside the 10% tolerance defined for the scheduling agreement. In addition, I expected the KANBAN container be set to full.
    Instead, the following error message is given:
    'Post GR' carried out without success
    (Message no. BORGR215)
    Because of previous error, dispatching is not possible for ID 0180573431
    (Message no. /SPE/ID_HANDLING011)
    Inbound Delivery 0180573431 00010
    (Message no. BORGR210)
    Total of the summarized JIT calls does not match the current delivery qty
    (Message no. BORGR540)
    Changing the delivery quantity and the notified JIT quantity to 10 pieces, the goods receipt is booked correctly.
    I only found the following notes that deal with tolerances but they are outdated, as we are using DIMP release 603:
    https://service.sap.com/sap/support/notes/393421
    https://service.sap.com/sap/support/notes/508215
    Has anybody faced a similar problem or can help me with this?
    Thanks!

    Hello Jiaul,
    Sorry I may have mislead you.  The actual error message is "Goods Receipt for Production Order XXXX can only be made on 2010.08.25 to 2010.08.27".  These two dates are the Start Date and FInish Date for the Production Order in CO03, 
    The Basic Start Date for the current Production Order is  2010.08.25
    The Basic Finish Date for the current Production Order is 2010.08.27
    I think what it means is that you can only Post Goods Receipt for the Production Order only after the Basic Start Date of the Production Order.  Do you know where I can find the configuration for this message?
    Thanks

  • Altering a table in a materialized view environment

    Hello everybody!.
    My question is as simple as this:
    When I have a single master - multiple materialized views environment , and I want to alter the master table (usually adding a column) , how do I propagate the change to the materialized view sites ?
    In Oracle's documentation manuals it is written the process ONLY for the master sites.If I manually just alter the materialized views to the mat.views sites , the new columns DON'T take data from the master table!
    It would be very nice if someone could help me.
    Thanks everybody on advance!.
    Thanasis Avdis

    Hi,
    you must dorp and recreate materialized view.

  • Table schema not being updated after a SQL 'alter'

    Hi all,
    I have a problem to do with altering table columns and queries relating to that table thereafter.
    I have a table which has been queried using an OracleDataAdapter.Fill(DataSet), if I add a column using say using an OracleCommand.ExecuteNonQuery() or sqlplus session (and doing a 'commit' after) the column does not show up on subsequant 'Fill' queries unless I reopen the DB connection.
    Just as an example, here is my test table which is defined as:
    create table steveTest
         id numeric,
         name varchar(15),
         address varchar(25)
    with a few rows of data in...
    If I query the table using ODP.NET (10 & 11)
    OracleDataAdapter oraDap = new OracleDataAdapter("select * from steveTest",oraCon);
    oraDap.Fill(ds);
    Everything is fine until I add/remove a column with say sqlplus or via an OracleCommand.ExecuteNonQuery()
    e.g     "alter table steveTest add address2 varchar2(30)"
    Subsequent Fill or data reader queries only show the unchanged table schema, without the newly added column. If I remove a column the symptoms are worse and I receive a "ORA-01007: variable not in select list"
    I can only think that ODP.NET is caching the schema for that table on that particular connection. Is there anyway to forcefully clear this out?
    I have tried OracleConnection.PurgeStatementCache(); but this doesn't seem to help me.
    My connection string is defined as:
    Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.27)(PORT=1521)))
    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xe)));
    User Id=system;
    Password=mypass;
    HA Events=true;
    Validate Connection=true;
    Pooling=false;
    Enlist=false;
    Statement Cache Purge=true;
    Statement Cache Size=0;
    The application I am writing is a middle tier application which handles various DB drivers and maintains several 'connection queues' which multiple lightweight client applications can use concurrently. As you can imagine, a possible scenario may arise where a table is queried, altered and then queried again which causes the above issue. The only way I can stop this from happening is if I close/open the DB connection but I don't want to do this after every alter statement.
    I have tried this on Oracle Express 10g and Oracle 10g servers with ODP.NET clients (10.2.0.100/2.111.6.0). Just a point I thought worth mentioning, this does not happen in sqlplus.
    Any help would be much appreciated.
    Regards,
    Steve

    maybe u can check by debuggin the incoming idoc in we19.
    1. check the data u are sending from the source system
    2. check for the field before and ater change in the target system.
    maybe the field is update with the same content. also check the status record of the idoc
    Message was edited by:
            Prabhu  S

Maybe you are looking for

  • Text wrap not working properly CS4

    Despite trying numerous times over last few days, reviewing multiple tutorials to make sure I know what I'm doing, I simply cannot get the text wrap options to work properly. In SOME instances (not all ... why?!?) I can select text wrap, but when I t

  • What is the difference between these two programs?

    Hello, I disassembled the following java class file. public class Test1 {     public static final void test1 (byte[] ba, int v) {      ba[0] = (byte)v; }and got the following output; Compiled from "Test1.java" public class Test1 extends java.lang.Obj

  • My apple tv3  is not powering on.  Connected with Computer, with micro USB cable with power on, it is not shown in Devices.  How to rectify

    My apple tv3, serial no. C07JWBZ9DRHN is not powering on.  Connected with Computer, with micro USB cable with power on, it is not shown in Devices.  How to rectify

  • Preview Printing

    I'm posting this question here after trying it at the Printing And Faxing forum. I have a book of my own compositions that i scanned to a disc. The book has a table of contents, and other introductory material that is numbered with roman numerals. Th

  • Does IOS8 for Ipad Air support Java?

    I would like to be able to open applet java based on my device (i.e. Ipad Air with IOS8) to chat with my friends. Does exis an app I could try to install on the device to run an applet? Anyway, how could I meet my scope? Thx Guys for your support. Ni