Cache spatial data or query

I have an application where, as expected, the first spatial query takes longer then the users when they submit the same or similar query on the session layer. Is there a way to cache this first request until our users even start the application so that they will not have to wait for the first analysis lasts? Or trying to keep the table itself in the cache would be a way to go?

Thank you
-mcslain

OK, there are two types of "cache" at play here. The first is the shared SQL. The first time that a query is run, only it will be difficult to analyze. The plan of the explanation will be stored in the shared pool subsequently up to what is old output (should not happen often normally). The following queries by using the same SQL code (assuming you are using bind variable) will reuse the shared SQL. You could force SQL in the shared pool in order to avoid users having to live a hard analysis (installation of a procedure and dbms_schedule it), but you shouldn't need to do. If you get a lot of hard analysis, then you do not bind variables, or something gets older the SQL code of the shared pool - which might be too DB start/stop, pool is too small, etc..
I had first to address this problem.

The other "cache" is the buffer cache. If the data to be read by the application do not yet exist in the buffer cache, then it will have to go on the drive to get it. Who will take more time than reading from the buffer cache. If the first query will take probably longer than the following. You could look at pinning a table in the pool to KEEP it, but I do it only for the small tables that are accessed very often.

Tags: Database

Similar Questions

  • Creation of spatial data connectivity data

    Hello

    I have a few spatial data, which I'll try to describe the relevant aspects:

    -A LineSegment table, which contains information about cables, including the ID of the area (approximately 4 million lines)
    -An array of location, that contains a LineSegmentID (one by one), and a column (space) geometry (approximately 4 million lines).

    What I need to do, is to create a new table containing conceptual "nodes", containing the following columns:

    -NodeID (number)
    -(Number) LineSegmentID
    -LineSegmentEnd (1 or 2)

    So I need to prepare, for each cable, which other cable it connects, by comparing its ends with the endpoints of other cables in the same sector. A box contains cables up to 464. There are a total of 160 thousand areas.

    I'm working on the most effective way to achieve this, ideally by making a batch which will take less than half an hour. Oracle is relatively new to me, but I'm guessing that the right approach would be to use a series of intermediate (intermediate) tables, as I believe nested cursors would be much too slow (I ran a simple test to confirm this).

    I guess I'll have to get in a temporary table, the starting point and the end point of each cable using SDO_LRS. GEOM_SEGMENT_START_PT and SDO_LRS. GEOM_SEGMENT_END_PT, as well as the area ID. Join the table to itself, and then use SDO_GEOM. SDO_DISTANCE to work on what points are close together (for example less than one meter). However, I'm fighting to describe a step by step process.

    Anyone has any ideas that can help?

    (Oracle 11g)

    Examples of data to illustrate the problem:

    create table line_location (lineid number,
    geometry sdo_geometry);
    create table (ID, areaid) line;

    -a cable in the box 1, 2 in area 4, etc.
    insert into a values (1, 1) line;
    insert into values of line (2, 4);
    insert into values of line (3, 4);
    insert into a values (4, 3) line;
    insert into values of line (5, 3);
    insert into a values (6, 3) line;
    insert into values of line (7, 2);
    insert into values of line (8: 2);
    insert into a values (9, 2) line;
    insert into values of line (10, 2);

    -in reality, the lines are not necessarily straight and simple as these...
    insert into line_location values (1, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (10,1,10,4))); -zone 1
    insert into line_location values (2, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (3,9,5,9))); -zone 4
    insert into line_location values (3, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (5,9,5,10))); -zone 4
    insert into line_location values (4, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (1,1,2,1))); -zone 3
    insert into line_location values (5, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (2,3,2,1))); -zone 3
    insert into line_location values (6, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (2,3,3,3))); -zone 3
    insert into line_location values (7, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (5,3,5,4))); -zone 2
    insert into line_location values (8, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (4,4,5,4))); -zone 2
    insert into line_location values (9, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (5,9,6,4))); -zone 2
    insert into line_location values (10, MDSYS. SDO_GEOMETRY (2002,3785, NULL, MDSYS. SDO_ELEM_INFO_ARRAY (1,2,1), MDSYS. SDO_ORDINATE_ARRAY (5,7,5,9))); -zone 2

    create table node_line (node_id number,
    line_id number,
    endpoint_id number,--1 for starting point, 2 for the end point.
    area_id number
    );

    -expected here. If two lines are less than 0.5, whereas they should share a node.
    insert into node_line values (1, 1, 1, 1); -insulated cable in zone 1, starting point node
    insert into node_line values (2, 1, 2, 1); -insulated cable in zone 1, point endpoint node
    insert into node_line values (3, 2, 1, 4); -zone 4: 2, node starting point of cable
    insert into node_line values (4, 2, 2, 4); -zone 4, cable 2, point endpoint node
    insert into node_line values (4, 3, 1, 4); -point 2 = cable endpoint node cable 3 start knot, etc.
    insert into node_line values (5, 3, 2, 4);
    insert into node_line values (6, 4, 1, 3); -node at (1,1)
    insert into node_line values (7, 4, 2, 3); -node to (2.1)
    insert into node_line (8, 5, 1, 3) values; -node to (2,3)
    insert into node_line values (7, 5, 2, 3); -node to (2.1)
    insert into node_line (8, 6, 1, 3) values; -node to (2,3)
    insert into node_line values (9, 6, 2, 3); -(3.3) node
    insert into node_line values (10, 7, 1, 2); -node to (5.3)
    insert into node_line values (11, 7, 2, 2); -node to (5.4)
    insert into node_line (12, 7, 1, 2) values; -node to (4.4)
    insert into node_line values (11, 7, 2, 2); -node to (5.4)
    insert into node_line (13, 7, 1, 2) values; -node to (5.9)
    insert into node_line (14, 7, 2, 2) values; -node (6.4)
    insert into node_line values (15, 7, 1, 2); -node to (5,7)
    insert into node_line (13, 7, 2, 2) values; -node to (5.9)

    Thank you

    Hi Ronnie

    Have you had a look at the script on the old NET?
    This done in a slightly different result structure, what you're after.
    I took the time this morning to see a bit optimized.

    Below you will find the result.

    With clues about a couple and the use of the SDO_JOIN rather the sdo_relate this speeds up considerably.
    I had tested on a 600 k line objects (which is not 4 million I know) and is reasonable ok on my test (non optimized) environment.

    On the "1 metre" close to each other, I would have supported itself by setting the tolerance appropriately, so
    There should be no reason to perform within the distance checking. Obviously that permitting the resolution of your data.

    Have a look at.

    Note that the final table is different in their structure, but this needs to be easily adjusted in the script if your node_line table must be exactly like you defined.

    Luke

    -drop the existing SEQ_TOPO

    sequence of fall SEQ_TOPO;

    -create sequences with caching

    CREATE SEQ_TOPO CACHE 2000 SEQUENCES;

    commit;

    -drop temporary table

    drop table temp_nodes cascade constraints;

    -create temporary table and fill it with startponts and a field saying this are implemented, as X, Y, as we use it later to remove duplicates in a nonspatial way

    create the table temp_nodes

    as

    Select a.lineid, a.areaid, sdo_geometry (2001, a.node.sdo_srid, SDO_POINT (t.X, t.Y, null), null, null) as a node, SEQ_TOPO.nextval node_id, the from ' AS STEND, t.x, t.y

    Of

    (select lineid, areaid, node sdo_lrs.geom_segment_start_pt (geometry) of line_location, where the LINE line_location.lineid = line.line_id), TABLE (SDO_UTIL. GETVERTICES (a.Node)) t;

    commit;

    -Insert the end points in the temporary table

    insert into temp_nodes

    Select a.lineid, a.areaid, sdo_geometry (2001, a.node.sdo_srid, SDO_POINT (t.X, t.Y, null), null, null) as a node, SEQ_TOPO.nextval node_id, 'E' AS STEND, t.x, t.y

    Of

    (select lineid, areaid, node sdo_lrs.geom_segment_end_pt (geometry) of line_location, where the LINE line_location.lineid = line.line_id), TABLE (SDO_UTIL. GETVERTICES (a.Node)) t;

    commit;

    -insert user_sdo_geom_metadata and have created for temp_nodes index

    -adjust with appropriate metadata to srid, high and lowebounds values and the tolerance of your dataset

    -Here the tolerance is set at 1 meter, this way there is no need to use a distance, let tolerance help us here

    -Obviously this can work if tolerance is smaller, then the distance between the start and end of the link itself.

    delete from user_sdo_geom_metadata where table_name = 'TEMP_NODES ';

    INSERT INTO user_sdo_geom_metadata VALUES ("TEMP_NODES", "NODE", SDO_DIM_ARRAY (SDO_DIM_ELEMENT ('X', 0, 1000000, 1), SDO_DIM_ELEMENT ('Y', 0, 100000, 1)), 3785);

    -create spatial indexes with gtype = POINT to use internal optimization

    Drop index node_sx;

    CREATE INDEX node_sx ON temp_nodes (node) INDEXTYPE IS MDSYS. SPATIAL_INDEX PARAMETERS ('sdo_indx_dims = 2, layer_gtype = POINT');

    -create indexes on X, Y combination to accelerate "eliminating duplicates" (in the group by) is actually a "select unique" rather that remove duplicates

    CREATE INDEX INDEX1 ON TEMP_NODES (X, Y);

    CREATE the INDEX INDEX2 ON TEMP_NODES (node_id);

    -create the final node table with unique nodes of the temporary table, x, to y could be omitted

    create the table node_topo

    as

    Select a.nodeid, t.node, t.x, t.y

    Of

    (

    Select min (node_id) as nodeid

    Of

    temp_nodes

    Group x, Y

    ) an inner join

    temp_nodes t

    on (a.nodeid = t.node_id)

    ;

    commit;

    -insertion of metadata information

    delete from user_sdo_geom_metadata where table_name = 'NODE_TOPO ';

    INSERT INTO user_sdo_geom_metadata VALUES ("NODE_TOPO", "NODE", SDO_DIM_ARRAY (SDO_DIM_ELEMENT ('X', 0, 1000000, 1), SDO_DIM_ELEMENT ('Y', 0, 100000, 1)), 3785);

    -create spatial indexes on the table to end node with gtype = POINT (internal optimization)

    Drop index node_topo_sx;

    CREATE INDEX node_topo_sx ON NODE_TOPO (node) INDEXTYPE IS MDSYS. SPATIAL_INDEX PARAMETERS ('sdo_indx_dims = 2, layer_gtype = POINT');

    -create table node_link using SDO_JOIN between end node final tables and temp

    -the NAYINTERACT should take care of the "alignment" as the tolerance will be applied

    create the table node_line

    as

    Select lineid, max (st_ID) START_NODE_ID, max (en_ID) END_NODE_ID, max (areaid) AREAID

    Of

    (

    SELECT b.lineid, case when b.stend = s ' THEN a.nodeid 0 otherwise end st_ID,.

    cases where b.stend = 'E' THEN a.nodeid 0 otherwise end en_ID, areaid

    TABLE (SDO_JOIN ('NODE_TOPO', 'NODE',

    "TEMP_NODES", "NODE",

    "(masque = ANYINTERACT')) c,"

    node_topo has,

    temp_nodes b

    WHERE c.rowid1 = a.rowid AND c.rowid2 = b.rowid

    )

    Lineid group;

    commit;

    -items temp

    drop table temp_nodes cascade constraints;

    delete from user_sdo_geom_metadata where table_name = 'TEMP_NODES ';

    commit;

    seq_topo sequence of fall;

    commit;

  • MapPoint 2010 Spatial data import

    Team,

    Can you please help currently using trial of 2013 has the same problem of spatial data import will import created since 2 weeks ESRI Shapefiles, but all newly created files or MapPoint 2010 today at present or if someone else creates will not matter.

    I get an error message:

    Error in Applysahpe properties

    Error number-2147217865

    Error Description The Mocrosoft Jet database engine object could not be found. "" "" NH1121 the file, try to open.

    Make sure that the objects exist.

    I tried to uninstall and reinstall both versions of Mappoint 2010 and Mappoint 2013 trial still open data 2 weeks ago but won't file since the last day little matter that someone creates or I create today. even remove the folder in Program files and cleaning of the folder %Temp%.

    Hello

    Check with the help of MapPoint and in the MapPoint Forums.

    Highway, Streets & Trips, MapPoint - Forum
    http://social.Microsoft.com/forums/is/streetsandtrips/threads

    MapPoint - Support
    http://www.Microsoft.com/MapPoint/en-us/support.aspx

    Support for MapPoint, streets & trips and Highway
    http://support.Microsoft.com/ph/851

    I hope this helps.

    Rob Brown - Microsoft MVP<- profile="" -="" windows="" expert="" -="" consumer="" :="" bicycle=""><- mark="" twain="" said="" it="">

  • Export to 'insert' spatial data

    I use a database of the R1 11 g sqldeveloper - 1.1.3.with. I try to get the instructions for inserting a table that I loaded the Shapefile (including the SDO_GEOMETRY).

    I get inert statements without any space as given below:
    Insert in YOU (TRID, GEOM) values (100,'MDSYS.) SDO_GEOMETRY');

    I use this method: make a right click on the table of the "tree of the Explorer of connections", select export data, and insert...

    Y at - it another way to export the spatial data to insert sql.

    Wells 1.1.3 is quite old, try upgrading to the latest version.

  • the insertion of the spatial data error

    Hi all

    I have a problem when the spatial data is inserted. could someone help me please to solve this.

    I created a table with spatial index.
    INSERT INTO USER_SDO_GEOM_METADATA
                VALUES('SDO_CA_test', 'CA', SDO_DIM_ARRAY(
                     MDSYS.SDO_DIM_ELEMENT ('LON', 71.19545, 120.35101, 0.000005),
                     MDSYS.SDO_DIM_ELEMENT ('LAT', 12.1145, 26.58041, 0.000005)), 8687);
           
         
         CREATE INDEX IO_CA_test ON SDO_CAR_test(CA)
        INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('SDO_COMMIT_INTERVAL=10000 SDO_RTR_PCTFREE = 0');
    When I insert data from another spatail table that does not have a clue, I get an error.
    insert into sdo_ca_test as select * from base_sdo;
    
    ORA-29875 Failed in the ececution of the ODCINDEXINSERT routine
    
    ORA-13354 incorrect offset in ELEM_INFO_ARRAY
    ORA_06512 at MDSYS.SDO_INDEX_METHOD_101 line. 709
    I think that there are some incorrect data that are not with my index defination.

    How can I check these invalid data in base_sdo table. The base_sdo table has no index.

    Rgds
    SAZ

    Published by: Saaz Ena on December 21, 2009 18:16

    You can try SDO_GEOM. VALIDATE_GEOMETRY_WITH_CONTEXT
    or SDO_GEOM. VALIDATE_LAYER_WITH_CONTEXT? for example

    Select * from base_sdo where
    SDO_GEOM. VALIDATE_GEOMETRY_WITH_CONTEXT (a.CA, 0,000005). = "TRUE";

  • Spatial data acquisition Oracle through WFS

    Hello

    I did research for a while and am a bit confused.

    I have Oracle Spatial 11 g with geometry data and would like to be able to retrieve these data through a WFS for a viewing application.

    Here's where I'm confused:
    (1) space offers a WFS service must be configured. If I set this up, I would be able to access the data through getFeature URL commands? The documentation I see for them has applications for getFeature in the form of XML files, so I don't know if I can do it. Also, it seems that the service returns the .log files, but I think not I want GML...

    If this is the option that I must take the tutorial to configure OC4J and Web Services are for a Linux (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/spatialws/spatialws.htm)--are there one for 64-bit Windows?

    (2) do I need an another "application layer" to enable support for this URL? I know that MapServer can use URL requests... can I run against the data in my PB and forget the WFS Oracle?

    (3) MapViewer seems to work with themes WFS and process applications through Java and SQL... It's another option?

    I'm basically confused as to where everything is and what I should focus on to get my spatial data of the DB through a WFS. Any help on this would be greatly appreciated!

    Thank you!

    Yes, with a server Oracle Spatial and logic of the Web, you can get support for WFS.
    Note that you must space Oracle 11 GR 2 to work with the logical Web server.

    MapVeiwer can only consume the WFS themes, so it does not help with what you want to do here.

    Siva

  • MapViewer not able to query spatial data?

    Hello, I would like to ask questions about how to query non-space data with MapViewer.

    When I read the manual, I found a method using JavascriptAPI. The doQuerymethod.
    Can someone help me, give examples on how to use this method? Because I'm so confuse how to use it.

    Is there another method of application not database using MapViewer?
    I use JSP to build my application and I prefer a method in the Javascript API.



    Thank you very much.
    I really appreciate your help.

    With the doQuery method, you can retrieve values of attribute in a table. The first row of the returned String table attribute names, and the following lines have the attribute values. The following code is an example of querying the table of STATES to get the name of the State and the population value.

         /* SELECT state, tot_pop FROM states
           The following illustrates the first rows in the returned String[][]:
    
                STATE    TOTPOP
                Alabama   4040586
                Alaska     550043
                Arizona   3665228
    
           The first row has the attribute names.
        */
    
        String [][]query = mapViewer.doQuery("mvdemo",
                 "select state, totpop from states");
    
         int nlin = 0;
         int ncol = 0;
         String name = null;
         double totPop = 0.;
         if(query != null)
         {
           nlin = query.length;
           ncol = query[0].length;
    
           for(int i=1;i[0];try{totPop = Double.parseDouble(query[i][1]);} catch (Exception ex){totPop = 0.;}
    
    System.out.println("[State] " + name + " [Population] " + totPop);}}
    
    Joao 
    
  • Date ranges query

    Hi Experts,

    A very happy new year to all of you (a little in advance)!

    I have a table where I have the id of employee and the task assigned with the start dates and end dates. Overlap in the dates of the tasks is a data delivers however I know how to spot them and eliminate. There is therefore no date of tasks that overlap

    Employee_id

    Task_No

    Task_Start_date

    Task_End_Date

    Examples of data

    1 T1 1 January 2014 February 28, 2014

    1 T2 March 1, 2014 31 December 2014

    2 T1 23 January 2014 31 December 2014

    2 T2 1 January 2015 December 31, 2073 (means end of time)

    3 T3 1 January 2014 July 15, 2014

    3 T4 August 1, 2014 31 December 2014

    T5 4 1 January 2014 December 31, 2073

    I want to design a query where I provide the end date and it will list all the employees that are free for the same day from 1 January 2014. Thus, for example, if I give December 31, 2014, it will list the

    EmpId (first day where the employee is free)

    2 January 1, 2014

    3 July 16, 2014

    If I give the end = end date of time(31-Dec-2013), result-

    EmpId (first day where the employee is free)

    1 January 1, 2015

    2 January 1, 2014

    3 July 16, 2014

    If I give the end = date January 31, 2014, expected - result

    EmpId (first day where the employee is free)

    1 January 1, 2015

    I conceived after the request, but he intercepted not 2 employee ID. Also, it provides no flexibility to change end date-

    Select *.

    from (select employe_id,

    task_start_date,

    task_end_date,

    lag (task_end_date, 1, task_start_date) on prev_end_date (partition by employee_id arrested by task_start_date)

    of shop.employee_tasks

    where task_end_date > = trunc (sysdate))

    where task_start_date - prev_end_date > 1

    Thanks in advance!

    Kind regards

    This is an example of what I call the query 'free time': you have the dates when you are busy and you want the dates where you are free.

    You can find a nice solution for the problem of base here: ask Tom "SQL Query to find gaps in the date ranges" (search for solution of Anthony Boucher). Please note that this solution works even with the date ranges overlap.

    To apply the solution here, first create the test data (please do it yourself in the following questions).

    create table t(Employee_id, task_no, Task_Start_date, task_end_date)
    as select
    1, 'T1', to_date('01-jan-2014'), to_date('28-feb-2014') from dual union all select
    1, 'T2', to_date('01-Mar-2014'), to_date('31-Dec-2014') from dual union all select
    2, 'T1', to_date('23-jan-2014'), to_date('31-dec-2014') from dual union all select
    2, 'T2', to_date('01-jan-2015'), to_date('31-dec-2073') from dual union all select
    3, 'T3', to_date('01-jan-2014'), to_date('15-jul-2014') from dual union all select
    3, 'T4', to_date('01-aug-2014'), to_date('31-dec-2014') from dual union all select
    4, 'T5', to_date('01-Jan-2014'), to_date('31-Dec-2073') from dual;
    

    In the query, you must add records for yesterday and for the "end date" you want. This allows you to "free time" before and after the date ranges in your table.

    Now, you partition by order of Task_Start_date and employe_id. Using the analytical function of the max (task_end_date), you get the last date of end so far. Add 1 and you get the first time (maybe). To make sure that the date is free, it must be before the next start date.

    variable end_date varchar2(64)
    exec :end_date := '31-Dec-2073';
    --
    with boundaries as (
      select trunc(sysdate)-1 task_start_date, trunc(sysdate)-1 task_end_date from dual
      union all
      select to_date(:end_date)+1, to_date(:end_date)+1 from dual
    ), data as (
      select * from t
    where task_end_date >= trunc(sysdate)
      and task_start_date < :end_date
      union all
      select distinct a.employee_id, null, b.task_start_date, b.task_end_date
      from t a, boundaries b
    )
    select employee_id, min(free_start) free_start
    from (
      select employee_id,
      max(task_end_date) over (partition by employee_id order by task_start_date)+1 free_start,
      lead(task_start_date) over (partition by employee_id order by task_start_date)-1 free_end
      from data
    )
    where free_start <= free_end
    group by employee_id;
    
    EMPLOYEE_ID FREE_START
    1 JANUARY 1, 15
    2 1 JANUARY 14
    3 16 JULY 14
  • How to create spatial data from scratching

    Dear gurus,

    I am beginner in SI OBIEE, I tried to save the table space map (figure OBIEE_NAVTEQ).
    But I have no idea how do.

    I see the example:

    INSERT INTO (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) user_sdo_geom_metadata
    VALUES ("cola_markets", "geometry",
    SDO_DIM_ARRAY (-20 X 20 grid)
    SDO_DIM_ELEMENT ('X', 0, 20, 0.005),
    SDO_DIM_ELEMENT ('Y', 0, 20, 0.005)
    ),
    NULL VALUE
    );

    INSERT INTO cola_markets
    VALUES (2, 'cola_b', 200,)
    SDO_GEOMETRY (2003,-two-dimensional polygon)
    NULL,
    NULL,
    SDO_ELEM_INFO_ARRAY (1,1003,1),-a polygon (ring outside polygon)
    SDO_ORDINATE_ARRAY (5.1 8.1 8.6, 5.7, 5.1)
    )
    );

    ***

    -What is a SDO_DIM_ELEMENT?
    How to know the value of SDO_DIM_ELEMENT ('X', 0, 20, 0.005) of the card? y at - it a tool that could enable?
    -What different SDO_DIM_ELEMENT, SDO_ELEM_INFO_ARRAY and SDO_ORDINATE_ARRAY?
    How to set the SDO_ELEM_INFO_ARRAY and SDO_ORDINATE_ARRAY of the card?

    Any help really really appreciated

    Concerning

    JOE

    Joe,

    Try to use the GeoRaptor for SQL Developer extension. Download SQL Developer of RTO and then get GeoRaptor from Sourceforge.

    What is a SDO_DIM_ELEMENT?

    You logically implies that your example shows how do it manually using SQL.

    No hard and fast rule. Usually most of the people would determine the rectangular extent (or MBR) their data and enter the RADIUS X and Y, as determined by the coordinates lower left and upper right.

    For geodetic data (IE long/lat) more simply placed in the scope of the world full of-180, 180 and - 90.90. But others within the scope of their data. Read the documentation on that.

    How to know the value of SDO_DIM_ELEMENT ('X', 0, 20, 0.005) of the card? y at - it a tool that could enable?

    See above. Try any package of GIS, or GeoRaptor or

    select SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,1) as minx,
           SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,3) as maxx,
           SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,2) as miny,
           SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,4) as maxx
      from (select sdo_aggr_mbr(geom) as mbr
              from PLANNING_NEIGHBORHOODS);
    -- Result
    --
          MINX       MAXX       MINY       MAXX
    ---------- ---------- ---------- ----------
    5979385.646    6024741 2085840.482    2131294 
    

    Or...

    select 'SDO_DIM_ARRAY(' ||
           'SDO_DIM_ELEMENT(''X'','||
              SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,1) || ',' ||
              SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,3) || ',0.05' ||
        '),SDO_DIM_ELEMENT(''Y'',' ||
           SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,2) || ',' ||
           SDO_GEOM.SDO_MIN_MBR_ORDINATE(mbr,4) || ',0.05))' as dimarray
      from (select sdo_aggr_mbr(geom) as mbr
              from PLANNING_NEIGHBORHOODS);
    -- Result
    --
    DIMARRAY
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X',5979385.6456569,6024740.99982789,0.05),SDO_DIM_ELEMENT('Y',2085840.48152296,2131294.0001958,0.05))
    

    The sdo_tolerance in the SDO_DIM_ELEMENT's your guess as to degree of accuracy of the data are. Reflect on how close two points are allowed to be before they are considered equal. 0.05 is 5cm (standard for long/lat data) and means two summits cannot be narrower than that otherwise you will get an error the summits in double (13356) during the validation of your data using sdo_geom.validate_geometry ().

    what different SDO_DIM_ELEMENT

    The metadata that describe the extent of your data. Written correct spatiali to user_sdo_geom_metadata is it necessary for indexing.

    SDO_ELEM_INFO_ARRAY and SDO_ORDINATE_ARRAY?

    objects that are used to describe a space object.

    How to set the SDO_ELEM_INFO_ARRAY and SDO_ORDINATE_ARRAY of the card?

    I don't think that it is the starting point to reinvent the wheel by trying to explain what is well explained in the Oracle documentation.

    Therefore, I suggest that you read Chapter 1 spatial Concepts (http://docs.oracle.com/cd/E11882_01/appdev.112/e11830/sdo_intro.htm#i884907) and then come back and ask us questions.

    concerning
    Simon

    Published by: Simon Greener on March 13, 2013 17:23

  • Search weekend Dates through query

    I'm setting up a report in the APEX to show all the JEs which have been posted on the weekends. I can query all GL records and adjust the date, but I have no odea how to identify the dates that fall on Saturday or Sunday and. We run EBS 11i. I can send the basic query if that helps.


    Any help would be appreciated.

    Assuming that 'weekend' always means Saturday and Sunday and that your sessions always use English NLS settings,

    SELECT *
      FROM your_gl_table
     WHERE TO_CHAR( journal_entry_date, 'fmDAY' ) IN ('SATURDAY', 'SUNDAY' );
    

    or

    SELECT *
      FROM your_gl_table
     WHERE TO_CHAR( journal_entry_date, 'D' ) IN ('1' '7' );
    

    Justin

  • dates list query

    I need to have a list of values for the period name. Need to have values > AUg-2002 to sysdate (tax early August to August)

    How can I get a list of the values of Aug-2003 sysdate (he must have next year so until Aug-2012)

    Please help me to change the query to get the aug-sysdate 2003

    Actual
    
    select period_name from gl_periods 
    
    Period-name
    AUG-2001
    AUG-2002
    AUG-2003
    AUG-2004
    AUG-2005
    AUG-2006
    AUG-2007
    AUG-2008
    AUG-2009
    AUG-2010
    AUG-2011
    AUG-2012
    AUG-2013
    AUG-2014
    AUG-2015
    AUG-2016
    AUG-2017
    AUG-2018
    AUG-2019
    AUG-2020
    EXPECTED
    AUG-2003
    AUG-2004
    AUG-2005
    AUG-2006
    AUG-2007
    AUG-2008
    AUG-2009
    AUG-2010
    AUG-2011
    AUG-2012
    Published by: 893185 on December 14, 2011 09:55

    Hello

    893185 wrote:
    I need to have a list of values for the period name. Need to have values > AUg-2002 to sysdate (tax early August to August)

    The financial year begins on 1 August and ends July 31? Who wouldn't be August to July , not August to August ?

    Sorry, we don't know what you want.

    Here's a way to get the period_name of the accounting year:

    SELECT  TO_CHAR ( ADD_MONTHS (SYSDATE, 5)
              , '"AUG-"yyyy'
              )     AS this_period_name
    FROM    dual;
    

    The 'magic number' is 5 as your fiscal year begins 5 months before the calendar year.

    You have a table that contains a period_name, and you will have to filter it with this value? If so

    ...
    WHERE   period_name  BETWEEN  'AUG-2003'
                   AND      TO_CHAR ( ADD_MONTHS (SYSDATE, 5)
                                         , '"AUG-"yyyy'
                              )     
    

    I hope that answers your question.
    If not, post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) for all tables and also post the results desired from these data.
    Explain, using specific examples, how you get these results from these data.
    Always tell what version of Oracle you are using.

  • OIM 11 g - adjustment process form data through query API

    Hello

    I would define the shape of process via the API data request. I have a user configured in AD. Now I would like to define form data to process (title) through the API request. I have imported the necessary data and that it works through UI request. But when I try to do this through query API, the value is not updated in the form of process. Can anyone help with a code example to achieve this functionality? Thank you.

    You define the data of application correctly when creating on-demand via the API? There is also the correct attribute in all reference maps data? What about the attribute itself? It is in the form of parent or child?
    Looking at the title of the ad must be the parent form data, so use the following code as an example to update all data correctly:

    
               long resKey = 0L;
               String str = null;
               String resourceKey = null;
               Map searchMap = new HashMap();
               tcResultSet resultSet = null;
               RequestData requestData = null;
               Beneficiary beneficiary = null;
               RequestBeneficiaryEntity entity = null;
               List beneficiaryList = null;
               List entityList = null;
               List entityAttrList = null; 
    
               searchMap.put(RESOURCE_ATTR_NAME, RESOURCE);
               resultSet = _resourceService.findObjects(searchMap);
               resKey = resultSet.getLongValue(RESOURCE_ATTR_KEY);
               resourceKey = Long.toString(resKey);           
    
               RequestBeneficiaryEntityAttribute parantAttr = new RequestBeneficiaryEntityAttribute();
               parantAttr.setType(TYPE.String);
               parantAttr.setName("Title");
               parantAttr.setValue("Mr.");
    
               entityAttrList = new ArrayList();
               entityAttrList.add(parantAttr);
    
               entity = new RequestBeneficiaryEntity();
               entity.setEntityKey(resourceKey);
               entity.setEntityType(RequestConstants.RESOURCE);
               entity.setEntitySubType(RESOURCE);
               entity.setEntityData(entityAttrList);
    
                  entityList = new ArrayList();
               entityList.add(entity);
    
               beneficiary = new Beneficiary();
               beneficiary.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
               beneficiary.setBeneficiaryKey(USER_KEY);
               beneficiary.setTargetEntities(entityList);          
    
               requestData = new RequestData();
               requestData.setRequestTemplateName(TEMPLATE);
               requestData.setJustification("Test");
               requestData.setBeneficiaries(beneficiaryList);
    
               RequestService reqsrvc = client.getService(RequestService.class);           
    
               str = reqsrvc.submitRequest(requestData);
    
               System.out.println("Value from submitRequest : '" + (str != null ? str : null) + "'");
    

    Just a dummy code, but it's the overall structure. Once you have submitted the request and commissioning successful, you should see the data in the form of process.

    HTH,
    BB

    Edited to add the return code by: bbagaria on Sep 5, 2011 10:18

  • cache memory buffer cache vs. data blocks which can be

    Hi guys,.

    Do means that, if we have 2 GB of cache buffers allocated to Oracle, we can only store up to 2 GB of data in memory?

    Thank you

    dbaing wrote:
    Hi guys,.

    Do means that, if we have 2 GB of cache buffers allocated to Oracle, we can only store up to 2 GB of data in memory?

    Yes, this means that you can at any time, can have 2 GB of blocks cached in your memory.

    Aman...

  • BI Publisher data model / query question

    Hello

    I'm designing a report of BI Publisher where I need to show negative numbers in red. I'm perfectly fine with the help of the conditional formatting to do this (just using the default value is conditional formatting in the add-in in MS Word, that generates code like this:)

    <? If: number(Cost_-_MTD) < 0? > <? attribute@InContext:color;' Red '? > <? end if? >

    BUT...

    I have columns returning who sometimes have a NULL value in them, and when they have the value NULL, it causes the foregoing to the pipe upwards. So I thought, 'I'll just add IfNull() in queries defined in the model data, and who will take care of the problem... "

    that works - a little. Now, my problem is if I have to go back and change the query for some reason, I get an error "query cannot be parsed, please modify the query manually. I really don't want to do that, I wish that other developers do NOT have to manually change the queries.

    So my question is - is it possible to add in the IfNull() directly in the query designer, so it should not be changed manually from that moment?

    p.s. using IfNull OBIEE server as our data source.

    Thanks in advance,
    Scott

    I don't think there is a way to add the ifnull condition in the query designer. So, you will need to manually change the query...

    In your model so you can add additional control like this:
    <0?>...

    Thank you!

    Published by: BIPuser on Sep 17, 2010 09:20

  • keep the Oracle Spatial data in memory

    Can I keep data in memory using TimesTen Oracle Spatial (including metadata and procedures and related functions)?

    It is possible.

Maybe you are looking for

  • IPAD-2 connection to Win10

    Hello, I was trying to transfer the contents of my iPAD to a Win10 computer without using iTunes. So I plugged the iPAD in the Win10 PC using the USB cable.  The PC has then install drivers from Apple, but after that, there was a continuous beep from

  • Installation question on Satellite M30 PSM30E USB mass storage device

    Hi people, I get an error message when I try to install new hardware on my laptop. Windows XP is trying to find the drivers and then comes up with the following error after a few minutes. The software starts to install but then comes with the followi

  • Mac pro (end 2013) forget screens - 6 monitors

    Hello I have a 6 monitor Setup, with different resolutions 3 x 1080 p + 2 x 2160 x 1440 p p + 1. On most days things work very well! I only put the display to sleep. When I wake up the screens I often lose the position of windows, if anyone has a sug

  • Activate the switch

    Hello I have a signal being played, I should activate another process, if there is no difference in the value of the last 100 measurements of the signal (say about 1% deviation). Can anyone help. Best regards Hannah

  • Music score print sharpening between 1280 HP and HP 7610

    When you print a musical score, apartment of the note heads also the sharpness of the moat (these lines) are of vital importance. So far my old (now regret dumped) HP 1280 did a great job on this topic. But after countless attempts, I can not say tha