The details of the max/min for the spatial index

Hello

I am new to Oracle Spatial and perhaps this is a stupid question, but when I create an index for a table of geo, I always manually insert a line into the USER_SDO_GEOM_METADATA table. The DIMINFO table contains the bounding box, which are in my case X min/max / coordinated full geo (Lat/Long) of the table.

The SDO_GEOMETRY column in my table of geo contains some polygons. How can I automatically query the table of geo to return the desired max/min X / Y coordinates? I'm looking for something like maxX (geo_data) SELECT... OF geo_table. Is this possible?

Thank you!

Hello Hans,.

Well, I think that the old gods of Oracle Spatial of ages had intended a workflow by which metadata records were filled with knowledge not stored in the database or the spatial column.  Thus, for example the tolerance whence?  He comes to your head or your documentation that you hold outside the database, etc..  I mean that you put in this recording in order to enter the database.  So I would say that generally metadata was never intended to be created from the data.

Now, we must know that the values stored in USER_SDO_GEOM_METADATA min/max are largely informative to my knowledge.  You can insert values garbage if you love without worrying much Oracle Spatial.  The only function I can think of who actually reads these values is the MD without papers. HHENCODE (everyone knows others?).  But that being said its always a good idea to avoid the garbage and properly document your spatial layers.

So, in terms of generation of these values. I would say that your DIMINFO values should ideally include the size of your current data more any new data you could insert as part of your workflow.  So I would not shake this until your min/max values accurate unless your data is very, very static.  It could well be.  Still, usually I if I had a layer of data to the United States mainland that the values that run in the South enough to cover all the Florida keys, etc. (with some tampons too).  Even if I have no data for Florida keys in that exact moment.  It's rather subjective, to deduce the data, it must come from your documentation and your needs.

But you probably still want something.  Good then, voila.

SELECT
a.bef || a.dim_xy || a.dim_3 || a.aft AS dim_info
FROM (
  SELECT
   'MDSYS.SDO_DIM_ARRAY(' AS bef
  ,'MDSYS.SDO_DIM_ELEMENT(''X'',' || MDSYS.SDO_GEOM.SDO_MIN_MBR_ORDINATE(aa.shape,1) || ',' || MDSYS.SDO_GEOM.SDO_MAX_MBR_ORDINATE(aa.shape,1) || ',0.05)'
   ||
   ',MDSYS.SDO_DIM_ELEMENT(''Y'',' || MDSYS.SDO_GEOM.SDO_MIN_MBR_ORDINATE(aa.shape,2) || ',' || MDSYS.SDO_GEOM.SDO_MAX_MBR_ORDINATE(aa.shape,2) || ',0.05)'
   AS dim_xy
  ,CASE
   WHEN aa.shape.get_dims() > 2
   AND  aa.shape.get_lrs_dim() = 0
   THEN
      ',MDSYS.SDO_DIM_ELEMENT(''Z'',' || MDSYS.SDO_GEOM.SDO_MIN_MBR_ORDINATE(aa.shape,3) || ',' || MDSYS.SDO_GEOM.SDO_MAX_MBR_ORDINATE(aa.shape,3) || ',0.001)'
   ELSE
      NULL
   END AS dim_3
  ,')' AS aft
  FROM (
     SELECT
     MDSYS.SDO_AGGR_MBR(a.shape) AS shape
     FROM
     my_table a
  ) aa
) a;

Note again once the tolerances must be hard-coded.

And also it will not work for the LRS geometries.

I respect the old gods and not go this route.

See you soon,.

Paul

Tags: Database

Similar Questions

  • Error creating the Spatial Index for SRID 8307 on newly hardened database

    Oracle 11g Rel2, Windows 2003 platform

    Help, please...

    Meeting with error message:
    ERROR on line 1:
    ORA-29855: an error has occurred in the execution of routine ODCIINDEXCREATE
    ORA-13249: internal error in the Spatial index: [mdidxrbd]
    ORA-13249: geodetic initialization error turn
    ORA-13249: SRID 8307 does not exist in the table MDSYS.CS_SRS
    ORA-29400: data cartridge error
    ORA-04063: package body 'MDSYS. SDO_CS"contains errors
    ORA-06512: at the 'MDSYS. SDO_INDEX_METHOD_10I', line 10

    After running the command

    INSERT INTO USER_SDO_GEOM_METADATA VALUES
    ("PointGeometry",
    "pointGeom,"
    MDSYS.sdo_dim_array (mdsys.sdo_dim_element ('Longitude',-180, 180, 1),
    mdsys.sdo_dim_element('Latitude',-90,90,1)),
    8307
    );

    CREATE the INDEX IDX_POINTGEOMETRY on PointGeometry (pointGeom) indextype is mdsys.spatial_index parameters('LAYER_GTYPE=POINT');

    When I ask mdsys.sdo_cs I see that there are actually SRID 8307. This index was created in this schema without problem. The problem only arises once the hardened customer database and we tried to recreate the schema (and index).

    Probably not coincidentally, I also get error:
    ORA-29855: an error has occurred in the execution of routine ODCIINDEXCREATE
    ORA-04063: package body "CTXSYS. DRIXMD' has errors
    ORA-06508: PL/SQL: called program unit is not found: 'CTXSYS. DRIXMD ".
    ORA-06512: at "CTXSYS. DRUE", line 145
    ORA-06512: at "CTXSYS. TEXTINDEXMETHODS', line 366
    ORA-04063: package body "CTXSYS. DRIXMD' has errors
    ORA-06508: PL/SQL: called program unit is not found: 'CTXSYS. DRIXMD ".

    When attempting to create and index Oracle Text context.

    Your help is greatly appreciated.

    Then, that's the problem.

    MDSYS user now has not run, and select privileges on the dbms_lob package.

    You must grant privileges on this package in MDSYS.

    Note that you can run into other issues of privilege package like this, so you must correct all by the granting of the
    required privileges for MDSYS.

    Siva

  • bypassing the spatial index

    Hello

    Could someone please answer questions? :

    I was reading the book 'Pro Oracle Spatial' and it has the following about phase two of filtering when using space operators:

    «In some cases, however, the optimizer to decide to bypass the spatial index.» She then calls the secondary filter (i.e., the function of geometry engine) directly on the rows in the table. (This can happen for various reasons... »

    My questions:

    (1) where can I find more information on the "variety of patterns" when this happens?

    (2) is it possible to force Oracle Spatial not use filter primary and go directly to the secondary filter? The reason why I want to do this is that I'm doing my own prior filtering that corresponds to the primary filter and I have a condition of additional query (with spatial condition), which allows to select only those that are previously filtered.

    (3) or is there another Oracle Spatial function exactly like SDO_ANYINTERACT, but applies only the secondary filter (and therefore does not require an spatial index)?

    Any help is greatly appreciated.

    Upendra

    (1) for example, select * tab where c1 = 1 and sdo_anyinteract (...) = "TRUE";

    If "c1 = 1" is very selective, say only a single line or for very little is returned.

    sdo_anyinteract (...) cannot pass through the spatial index.

    (2) you can always use the / * + full * / reference as:

    Select / * + full (a) * / * from tab where sdo_anyinteract (...) = "TRUE";

    (3) SDO_GEOM. RELATE() seems to be what you are looking for.

  • Error in the spatial index

    Hello world

    I created a spatial index on a table, but I get the error message:

    ORA-13033: sdo_geometry sdo_elem_info_array data not available

    How can I write a SQL command to delete these unavailable records?

    Hello

    you will find an example with a similar error. Simply, you can validate spatial data, to find the invalid records:

    DROP   TABLE sdo_test;
    
    CREATE TABLE sdo_test (
      nr      NUMBER,
      GEOM     MDSYS.SDO_GEOMETRY);
    
    COMMIT;
    
    --correct
    INSERT INTO sdo_test VALUES (1,
      SDO_GEOMETRY(3302, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
        SDO_ORDINATE_ARRAY(-87.899771, 42.000853, 0, -87.899109, 42.000847, 54.8504622)));
    
    --correct
    INSERT INTO sdo_test VALUES (2,
      SDO_GEOMETRY(3302, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
        SDO_ORDINATE_ARRAY(-87.917489, 41.992077, 0, -87.917063, 41.99174, 51.4503307)));
    
    --empty SDO_ELEM_INFO_ARRAY
    INSERT INTO sdo_test VALUES (3,
      SDO_GEOMETRY(3302, 8307, NULL,  SDO_ELEM_INFO_ARRAY(),
        SDO_ORDINATE_ARRAY(-87.925704, 41.965994, 0, -87.925705, 41.965445, 60.9789892)));
    
    DELETE FROM USER_SDO_GEOM_METADATA
      WHERE TABLE_NAME = 'SDO_TEST' AND COLUMN_NAME = 'GEOM' ;
    
    INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
      VALUES ('SDO_TEST', 'GEOM',
        MDSYS.SDO_DIM_ARRAY
          (MDSYS.SDO_DIM_ELEMENT('X', -87.925705, -87.8991090, 0.001),
           MDSYS.SDO_DIM_ELEMENT('Y',  41.965445,  41.9654450, 0.001),
           MDSYS.SDO_DIM_ELEMENT('M',    0.00000,  60.9789892, 0.001)
         ),8307);
    
    --DROP   INDEX sdo_test_geom_spix;
    
    --ORA ERROR 13033
    CREATE INDEX sdo_test_geom_spix
              ON sdo_test(geom)
       INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS('sdo_indx_dims=2');
    
    --find the invalid record
    SELECT nr, SDO_GEOM.VALIDATE_GEOMETRY(geom,0.001) val
      FROM sdo_test; 
    
    nr     val
    -----------------------
    1    TRUE
    2    TRUE
    3    13033
    

    Oops - where is the preview in the new design?

    Found while waiting for the syntax highlighting (-> switch to the Advanced Editor, paste your code, mark it, click on the > button (insert), select syntax highlighting, choose style... >)

  • on the SPATIAL index?

    I think, I do something wrong with my creations to index because they are not optimized.
    I have read and read the SPACE double guide of www.oracle.com

    The standard syntax for creating an index space oracle is:

    CREATE the INDEX Idx_name ON schema.table (column GEOMETRY)
    INDEXTYPE IS MDSYS. SPATIAL_INDEX;

    Also, I have to create the table recording: SDO_GEOM_METADATA_TABLE
    (SDO_OWNER, SDO_TABLE_NAME, SDO_COLUMN_NAME, SDO_DIMINFO, SDO_SRID)

    In my case, what I do is, perform an insert with a select, something like:

    Insert into Mdsys.Sdo_Geom_MetaData_Table (SDO_OWNER, SDO_TABLE_NAME, SDO_COLUMN_NAME, SDO_DIMINFO, SDO_SRID)
    (Select 'myOwner', mynewTable', 'GEOMETRY_COLUMN', Sdo_DIMINFO, SDO_SRID)
    Of Mdsys.Sdo_Geom_MetaData_Table
    Where Sdo_Owner = Owner_example
    And Sdo_Table_Name = Table_example;

    Do this, because I'm not 100% sure how to get the values for the column 'SDO_DIMINFO '.
    I was told to get xmin, ymin and xmax, ymax, but even with that, a table named "districts" of only 77 files takes me about 22 seconds (this table has 1 column geometry), I have a table called "places" which has about 600 records and it takes 1 second. (both with the indexes created in the same way).

    What could be wrong?
    What to check?

    Thank you very much.

    Panama,

    [1]

    . . . . Check whether the offending name and contact geometry game:

    SET SERVEROUT ON
    DECLARE
        x1  NUMBER;
        y1  NUMBER;
        x2  NUMBER;
        y2  NUMBER;
        Geom    MDSYS.SDO_GEOMETRY;
    BEGIN
        -- "NOTE: You need to identify the tablename and where-clause"
        SELECT geometry Into Geom FROM  WHERE ;
    
        x1 := Geom.SDO_ORDINATES(1);
        y1 := Geom.SDO_ORDINATES(2);
        x2 := Geom.SDO_ORDINATES(Geom.SDO_ORDINATES.COUNT()-1);
        y2 := Geom.SDO_ORDINATES(Geom.SDO_ORDINATES.COUNT());
        dbms_output.put_line('FromPt '||CHR(9)||'<'||x1||' , '||y1||'>');
        dbms_output.put_line('ToPt '||CHR(9)||'<'||x2||' , '||y2||'>');
    END;
    /
    
    -- "Your FromPt and ToPt should match. If not, the polygon doesn't close"
    

    Because your geometries are simple polygons consisting only of straight lines, you can correct the error by adding the coordinates of FromPt at the end of the table ordered.

    -- "DO NOT RUN THIS UNLESS YOU KNOW THE POLYGON DOESNT CLOSE"
    DECLARE
        x   NUMBER;
        y   NUMBER;
        Geom    MDSYS.SDO_GEOMETRY;
    BEGIN
        -- "NOTE: You need to identify the tablename and where-clause"
        SELECT geometry Into Geom FROM  WHERE ;
    
        x := Geom.SDO_ORDINATES(1);
        y := Geom.SDO_ORDINATES(2);
    
        Geom.SDO_ORDINATES.EXTEND(2);
        Geom.SDO_ORDINATES(Geom.SDO_ORDINATES.COUNT()-1) := x;
        Geom.SDO_ORDINATES(Geom.SDO_ORDINATES.COUNT()) := y;
    
        -- "NOTE: You need to identify the tablename and where-clause"
        UPDATE 
        SET geometry = Geom
        WHERE ;
    
        COMMIT;
    END;
    /
    

    Kind regards
    Noel

    Published by: Christmas Khan on May 4, 2011 13:53
    WARNING added to the second Q & D-small end.

  • Cannot create the spatial index

    It's a little bit of the puzzle for me this one, I made this little time on different system and I do not understand why it's here

    Oracle 11.1.0.7 Windows 64-bit

    We have simple following table:

    CREATE TABLE DASHBOARD. DSGEOEXCEPTION
    (
    GEOIDE NUMBER NOT NULL,
    ZORDER INTEGER DEFAULT 0 NOT NULL.
    HOUSENO VARCHAR2 (100),
    STREET VARCHAR2 (100),
    VARCHAR2 (100) SUBURBAN,.
    CITY VARCHAR2 (100),
    COUNTY OF VARCHAR2 (100),
    DESCRIPTION VARCHAR2 (200),
    MDSYS FORM. SDO_GEOMETRY
    )
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    NOMONITORING;

    ALTER TABLE DASH. (ADD) DSGEOEXCEPTION
    CONSTRAINT DSGEOEXCEPTION_PK
    KEY ELEMENTARY SCHOOL
    (GEOIDE)) ;



    Insert values (user_sdo_geom_metadata)
    "DASHBOARD. DSGEOEXCEPTION',.
    "FORM."
    MDSYS. () SDO_DIM_ARRAY
    MDSYS. SDO_DIM_ELEMENT ('LONGITUDE',-180, 180, 0.00005),
    MDSYS. SDO_DIM_ELEMENT ('LATITUDE',-90, 90, 0.00005)
    ),
    8307);

    until then, everything is good.

    I run the two sql suite to ensure that everything is fine

    Select * from USER_SDO_GEOM_METADATA;
    Dashboard. DSGEOEXCEPTION, shape, ((LONGITUDE,-180, 180, 5E-5), (LATITUDE, -90, 90, 5th-5),), 8307
    select * from mdsys.sdo_geom_metadata_table
    DASHBOARD, dashboard. DSGEOEXCEPTION, shape, ((LONGITUDE,-180, 180, 5E-5), (LATITUDE, -90, 90, 5th-5),), 8307
    select * from ALL_SDO_GEOM_METADATA;


    first 2 return one row as planned last returns nothing

    creating the index

    CREATE INDEXES DASH. DSGEOEXCEPTION_SIDX ON DASHBOARD. DSGEOEXCEPTION
    (FORM)
    INDEXTYPE IS MDSYS. SPATIAL_INDEX
    NOPARALLEL;

    or

    CREATE INDEXES DASH. DSGEOEXCEPTION_SIDX ON DASHBOARD. DSGEOEXCEPTION
    (FORM)
    INDEXTYPE IS MDSYS. SPATIAL_INDEX;


    fails with the error:

    ORA-29855: an error has occurred in the execution of routine ODCIINDEXCREATE
    ORA-13203: cannot read the notice USER_SDO_GEOM_METADATA
    ORA-13203: cannot read the notice USER_SDO_GEOM_METADATA
    ORA-06512: at the 'MDSYS. SDO_INDEX_METHOD_10I', line 10



    According to one of the posts, I run this

    ALTER session set current_schema = MDSYS;
    @$ORACLE_HOME/md/admin/prvtgmd.plb

    but no difference I can always create index


    Any suggestions?

    Please, try the following:

    Insert values (user_sdo_geom_metadata)
    "DSGEOEXCEPTION,"
    "FORM."
    MDSYS. () SDO_DIM_ARRAY
    MDSYS. SDO_DIM_ELEMENT ('LONGITUDE',-180, 180, 0.00005),
    MDSYS. SDO_DIM_ELEMENT ('LATITUDE',-90, 90, 0.00005)
    ),
    8307);

  • How to find the value max and min for each column in a table 2d?

    How to find the value max and min for each column in a table 2d?

    For example, in the table max/min for the first three columns would be 45/23, 14/10, 80/67.

    Thank you

    Chuck,

    With color on your bars, you should have enough experience to understand this.

    You're a loop in the table already.  Now you just need a function like table Max and min. loop.  And you may need to transpose the table 2D.

  • Not the rows returned by the spatial query wrapped in SELECT * FROM...

    Hello

    When you run a query with SDO_EQUAL sub, I get a very strange behavior. The SDO_EQUAL query on its own works very well, but if I wrap in SELECT * from there, I get no results. If I wrap SDO_ANYINTERACT in SELECT * from there, I get the expected result.

    It seems like the spatial index is used during the execution of the ordinary, but not when SDO_EQUAL request wrapped in SELECT * FROM. Weird. The spatial index is also not used when SDO_ANYINTERACT is wrapped in SELECT * FROM... so I don't know why that returns the correct answer.

    I get this problem on 11.2.0.2 on Red Hat Linux 64-bit and 11.2.0.1 on Windows XP 32-bit (i.e., all versions of 11g I've tried). The query works as expected on 10.2.0.5 on Windows Server 2003 64-bit.

    Any ideas?

    Confused in Dublin (John)

    Test case...
    SQL> 
    SQL> -- Create a table and insert the same geometry twice
    SQL> DROP TABLE sdo_equal_query_test;
    
    Table dropped.
    
    SQL> CREATE TABLE sdo_equal_query_test (
      2  id NUMBER,
      3  geometry SDO_GEOMETRY);
    
    Table created.
    
    SQL> 
    SQL> INSERT INTO sdo_equal_query_test VALUES (1,
      2  SDO_GEOMETRY(3003, 81989, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1),
      3  SDO_ORDINATE_ARRAY(1057.39, 1048.23, 4, 1057.53, 1046.04, 4, 1057.67, 1043.94, 4, 1061.17, 1044.60, 5, 1060.95, 1046.49, 5, 1060.81, 1047.78, 5, 1057.39, 1048.23, 4)));
    
    1 row created.
    
    SQL> 
    SQL> INSERT INTO sdo_equal_query_test VALUES (2,
      2  SDO_GEOMETRY(3003, 81989, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1),
      3  SDO_ORDINATE_ARRAY(1057.39, 1048.23, 4, 1057.53, 1046.04, 4, 1057.67, 1043.94, 4, 1061.17, 1044.60, 5, 1060.95, 1046.49, 5, 1060.81, 1047.78, 5, 1057.39, 1048.23, 4)));
    
    1 row created.
    
    SQL> 
    SQL> -- Setup metadata
    SQL> DELETE FROM user_sdo_geom_metadata WHERE table_name = 'SDO_EQUAL_QUERY_TEST';
    
    1 row deleted.
    
    SQL> INSERT INTO user_sdo_geom_metadata VALUES ('SDO_EQUAL_QUERY_TEST','GEOMETRY',
      2  SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', 0, 100000, .0001), SDO_DIM_ELEMENT('Y', 0, 100000, .0001), SDO_DIM_ELEMENT('Z', -100, 4000, .0001))
      3  ,81989);
    
    1 row created.
    
    SQL> 
    SQL> -- Create spatial index
    SQL> DROP INDEX sdo_equal_query_test_spind;
    DROP INDEX sdo_equal_query_test_spind
               *
    ERROR at line 1:
    ORA-01418: specified index does not exist
    
    
    SQL> CREATE INDEX sdo_equal_query_test_spind ON sdo_equal_query_test(geometry) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    
    Index created.
    
    SQL> 
    SQL> -- Ensure data is valid
    SQL> SELECT sdo_geom.validate_geometry_with_context(sdo_cs.make_2d(geometry), 0.0001) is_valid
      2  FROM sdo_equal_query_test;
    
    IS_VALID
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    TRUE
    TRUE
    
    2 rows selected.
    
    SQL> 
    SQL> -- Check query results using sdo_equal
    SQL> SELECT b.id
      2  FROM sdo_equal_query_test a, sdo_equal_query_test b
      3  WHERE a.id = 1
      4  AND b.id != a.id
      5  AND sdo_equal(a.geometry, b.geometry) = 'TRUE';
    
            ID
    ----------
             2
    
    1 row selected.
    
    SQL> 
    SQL> -- Check query results using sdo_equal wrapped in SELECT * FROM
    SQL> -- Results should be the same as above, but... no rows selected
    SQL> SELECT * FROM (
      2       SELECT b.id
      3       FROM sdo_equal_query_test a, sdo_equal_query_test b
      4       WHERE a.id = 1
      5       AND b.id != a.id
      6       AND sdo_equal(a.geometry, b.geometry) = 'TRUE'
      7  );
    
    no rows selected
    
    SQL> 
    SQL> -- So that didn't work.  Now try sdo_anyinteract... this works ok
    SQL> SELECT * FROM (
      2       SELECT b.id
      3       FROM sdo_equal_query_test a, sdo_equal_query_test b
      4       WHERE a.id = 1
      5       AND b.id != a.id
      6       AND sdo_anyinteract(a.geometry, b.geometry) = 'TRUE'
      7  );
    
            ID
    ----------
             2
    
    1 row selected.
    
    SQL> 
    SQL> -- Now try a scalar query
    SQL> SELECT * FROM (
      2       SELECT b.id
      3       FROM sdo_equal_query_test a, sdo_equal_query_test b
      4       WHERE a.id = 1
      5       AND b.id != a.id
      6  );
    
            ID
    ----------
             2
    
    1 row selected.
    
    SQL> spool off
    Here is the plan of the explain output for the query that works. Note that the spatial index is used.
    SQL> EXPLAIN PLAN FOR
      2  SELECT b.id
      3  FROM sdo_equal_query_test a, sdo_equal_query_test b
      4  WHERE a.id = 1
      5  AND b.id != a.id
      6  AND sdo_equal(a.geometry, b.geometry) = 'TRUE';
    
    Explained.
    
    SQL> @?/rdbms/admin/utlxpls.sql
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------
    Plan hash value: 3529470109
    
    ------------------------------------------------------------------------------------------------------------
    | Id  | Operation                     | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
    ------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT              |                            |     1 |  7684 |     3   (0)| 00:00:01 |
    |   1 |  RESULT CACHE                 | f5p63r46pbzty4sr45td1uv5g8 |       |       |            |       |
    |   2 |   NESTED LOOPS                |                            |     1 |  7684 |     3   (0)| 00:00:01 |
    |*  3 |    TABLE ACCESS FULL          | SDO_EQUAL_QUERY_TEST       |     1 |  3836 |     3   (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS BY INDEX ROWID| SDO_EQUAL_QUERY_TEST       |     1 |  3848 |     3   (0)| 00:00:01 |
    |*  5 |     DOMAIN INDEX              | SDO_EQUAL_QUERY_TEST_SPIND |       |       |     0   (0)| 00:00:01 |
    ------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - filter("B"."ID"!=1)
       4 - filter("A"."ID"=1 AND "B"."ID"!="A"."ID")
       5 - access("MDSYS"."SDO_EQUAL"("A"."GEOMETRY","B"."GEOMETRY")='TRUE')
    ..... other stuff .....     
    Here is the plan of the explain output for the query is not working. Note that the spatial index is not used.
    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM (
      3     SELECT b.id
      4     FROM sdo_equal_query_test a, sdo_equal_query_test b
      5     WHERE a.id = 1
      6     AND b.id != a.id
      7     AND sdo_equal(a.geometry, b.geometry) = 'TRUE'
      8  );
    
    Explained.
    
    SQL> @?/rdbms/admin/utlxpls.sql
    
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------
    Plan hash value: 1024466006
    
    --------------------------------------------------------------------------------------------------
    | Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT    |                            |     1 |  7684 |     6   (0)| 00:00:01 |
    |   1 |  RESULT CACHE       | 2sd35wrcw3jr411bcg3sz161f6 |       |       |            |          |
    |   2 |   NESTED LOOPS      |                            |     1 |  7684 |     6   (0)| 00:00:01 |
    |*  3 |    TABLE ACCESS FULL| SDO_EQUAL_QUERY_TEST       |     1 |  3836 |     3   (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS FULL| SDO_EQUAL_QUERY_TEST       |     1 |  3848 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - filter("B"."ID"!=1)
       4 - filter("A"."ID"=1 AND "B"."ID"!="A"."ID" AND
                  "MDSYS"."SDO_EQUAL"("A"."GEOMETRY","B"."GEOMETRY")='TRUE')
    ..... other stuff .....               

    Yes, this is the bug 9740355. You can get a 11.2.0.1 patch, or wait for 11.2.0.3.

  • Table Max &amp; Min is not the first maximum

    Hello

    I develop for NI USRP OFDM system and I'm doing the Schmidl-Cox algorithm for frame and frequency offset correction. At some point, I need to find the index of the first maximum in a table. This table has a growing value until it reaches 1 and remains constant. The first 1 occurs in position 12. But the output I'm getting to the table Max & Min block is 76. It is neither the first nor the last 1 in this table. And I don't know why I get the bad clue.

    Anyone know this kind of situation before?

    You can attach a small example that contains your table as a constant of diagram?

    My guess is values differ even in very small amounts. Try to show at least 14 digits, depending on the data type.

    What happens if you subtract the max found the table? Previous results are very slightly negative?

  • Is it possible to connect my Mac mini to my Mac Pro laptop using the memory on my mac mini for installing software Ableton as I don't have 3 GB available on my Mac Pro.

    Is it possible to connect my Mac mini to my Mac Pro laptop using the memory on my mac mini for installing software Ableton as I don't have 3 GB available on my Mac Pro.

    I want to download Ableton software, but it requires 3 GB of free memory that I have available on my MacPro laptop not because most of it is used for my library of music because I'm a DJ.

    I'm not sure how I can do it or not at all.

    Thank you very much.

    1. a Mac Pro is not a laptop. Its a big desktop computer.  You probably have a MacBook Pro, which is a laptop.

    2. No, you cannot share the memory (live RAM) or storage (disk space, which is not memory) like that between computers.

    However, it is very very bad practice to have so little storage space available for your computer.   If you have less than 3 GB, you should seriously consider an external drive. and unload some files on the outside. Its best not to leave your hard drive to go below 10 GB of free space because it can seriously affect your computer's performance.

  • What is the max memory for an iMac in early 2008

    What is the max memory for an iMac in early 2008? MacSales.com shows a 6 GB kit, but crucial only shows a 4 GB kit.

    Thank you

    John

    The computer iMac (early 2008) has two SDRAM slots in the bottom of the computer and comes with at least 1 GB DDR2 SDRAM installed into a slot. The maximum amount of RAM you can install in the computer is 4 GB (a 2 GB SO-DIMM in each slot).

    Source:

    iMac (early 2008): specification of memory - Apple Support

  • I'm trying to download the Kies mini for my samsung captivate phone s galaxy

    I'm trying to download the Kies mini for my samsung captivate phone s galaxy on the samsung website. I tried to install it and it keeps telling me there was an error, "error:-1603 Fatal error during installation." consult Msi.chm or MSDN' I treid again and another error occurred during the process, and I found myself with the same result. Any help? I am running windowns 7 via a computer pc laptop hp g42 - 41 5dx. email is * address email is removed from the privacy * Thank YOU!

    Hi Robin,

    The issue is described in this article:

    http://support.Microsoft.com/kb/834484

    Have you tried to change the installation during the installation folder?

    Kind regards

    Joel

  • I have Photoshop CS5 installed on my old Mac Mini for seven years.  I bought a new Mac Mini - there is no crack of the disc.  Download CS5 creative cloud?

    I have Photoshop CS5 installed on my old Mac Mini for seven years.  I bought a new Mac Mini - there is no crack of the disc.  I've never used the creative cloud.  Just download CS5 creative cloud using my serial number?

    Available downloadable Setup files:

    Download and installation help links Adobe

    Help download and installation to Prodesigntools links can be found on the most linked pages.  They are essential; especially steps 1, 2 and 3.  If you click on a link that does not have these listed steps, open a second window by using the link to Lightroom 3 to see these "important Instructions".

  • changing the property index for all indexes of a model (OSDM 3.1 EA1)

    Is it possible to mass change to one of the properties of all the indexes in the model?

    For example, I have a data model with large number of indices.
    I created all these indexes with the clause of logging set to 'yes '.
    If I want to change to 'No', is there a way to do it without having to change the properties of each individual index?

    Can I use model index here? If Yes, can you please provide details on exactly how to use in this scenario?

    Hello

    The way to do is to change the JOURNALING property on one of the indexes.
    Reopen the Index on the Index Properties dialog box, then click on the button "propagate the properties.

    The dialog box properties of spread, deselect all properties with the exception of the journaling property and use "Select all" in the section 'Objects' of the dialog box to select all indexes updated.

    Index of models are used when the new indexes are created. You can use an Index model in order to have all new index you add logging set to 'no '.

    David

  • 'For' loop with a different number of iterations. Second, the auto-indexation of the tables with different sizes is done. It can affect the performance of the Vi?

    Hello

    I have a loop 'for' which can take different number of iterations according to the number of measures that the user wants to do.

    Inside this loop, I'm auto-indexation four different 1 d arrays. This means that the size of the tables will be different in the different phases of the execution of the program (the size will equal the number of measures).

    My question is: the auto-indexation of the tables with different sizes will affect the performance of the program? I think it slows down my Vi...

    Thank you very much.

    My first thought is that the compiler to the LabVIEW actually removes the Matlab node because the outputs are not used.  Once you son upward, LabVIEW must then call Matlab and wait for it to run.  I know from experience, the call of Matlab to run the script is SLOW.  I also recommend to do the math in native LabVIEW.

Maybe you are looking for