active cursor for select data for further processing

I have included my data and partial vi with annotated text. Briefly, my input data is of a DEM so line # represents distance in x - ed., column # represents the distance in y - dir and data is elevation. I would like to deal with the sequentially a column of data at a time where I visually select the data I want to keep for further processing. The position of the data is important, so the data in the selected range will be prepared in the same column and lines as it was in any of the original input data. The rest of the column in the selected range can be NaNs.

(1) it seems to pause fine when I run it.  What happens when you click on the pause button?

(2) this can be accomplished better by using a shift register for the column instead of the iteration number.  Then use a button continue triggering the shift register to increment.  One thing to check is that the button continue action mechanical latch when released (right click then mechanical Action).  Here is an example of this:

  

(3) for a shift register contain the values you need to write to the file, you will need to make sure that it is always passing the table you add to in the right side of the team to register.  You'll also need to use table to build instead of insert in the table.  Here is an example:

  

(4) this should automatically after the previous steps.

Tags: NI Software

Similar Questions

  • Show active paths by the data store for each host

    I'm looking for a PowerCLI script that displays by cluster, by ESXi host how active paths has a data store. The output should look like:

    Paths of Active host data store

    VMFS-01 ESXi01 2

    Thank you

    Ivo

    Try this one, it shows the actual number of "active" paths by the data store.

    foreach($esx in Get-VMHost){  $hss = Get-View $esx.Extensiondata.ConfigManager.StorageSystem
    
      $lunTab = @{}  $hss.StorageDeviceInfo.ScsiLun | %{    $lunTab.Add($_.Key,$_.CanonicalName)  }  $pathTab = @{}  $hss.StorageDeviceInfo.MultipathInfo.Lun | %{    $pathState = @($_.Path | Group-Object -Property PathState |    where {$_.Name -eq "active"} | Select -ExpandProperty Group)
    
        if($pathTab.ContainsKey($_.Lun)){      $pathTab[$_.Lun] += $pathState.Count    }    else{      $pathTab.Add($lunTab[$_.Lun],$pathState.Count)    }  }
    
      foreach($mount in ($hss.FileSystemVolumeInfo.MountInfo | where {$_.Volume.Type -eq "VMFS"})){    $mount.Volume.Extent |    Select @{N="VMHost";E={$esx.Name}},      @{N="Datastore";E={$mount.Volume.Name}},      @{N="LUN";E={$_.DiskName}},      @{N="Active Paths";E={$pathTab[$_.DiskName]}}  } } 
    
  • The family safety activity log shows no data for Facebook

    Original title: Family Safety + Chrome + Facebook

    The latest version of Live Essentials is installed on Windows 7

    Parental controls will not register the Chrome Facebook activity.
    I see in the activity that children use, for example, 0.5 hours of chrome, but there is no granular information.
    My daughter spent 2 hours on Facebook and the Family Safety activity log shows no data to Facebook.
    The computer is a new installation of Windows 7
    Live essentials have been installed yesterday.
    All web links for accounts for children have been created yesterday
    Does anyone have a suggestion on how to see real activity?
    Also, before someone suggests using another browser, is not an option, IE is uninstalled.
    Chrome is the only browser used because of all the android devices, we have.
    Thank you

    Client Windows Live Family Safety currently not reported HTTPS traffic unless the web of the child, filtering mode is set to "notify on the adult.  Facebook who worked in HTTP mode has recently moved that the HTTPS site and that's the reason to not see, Facebook or any other site that is HTTPS in the progress report on Windows 7 machines.

    It is resolved in Windows 8 and activity reports should show HTTPS traffic.

    Current work around that for Windows 7 client

    -Set the mode of web filtering to ' warn on adult "- child will receive a warning message if they go to all the adult sites and the parents will be informed in the annual report if the child decides to go to the site.

    Sorry for the inconvenience.

    Thank you

    Shankar

  • Dear all, in the follow-up to Massage exhange 2010 there is no option for selective date and time if we want to follow and check the delivery for 2 months mail report, then how, please guide

    Dear all, in the follow-up to Massage exhange 2010 there is no option for selective date and time if we want to follow and check the delivery for 2 months mail report, then how, please guide

    Hi Anandsable,

    The question you have posted is based on Exchange 2010, it is better suited in the Exchange Server forum. Please post your question in the following forum:

    http://social.technet.Microsoft.com/forums/en-us/category/ExchangeServer, exchangeserverlegacy.

    Hope the helps of information.

  • Create the form for selecting data in multiple tables

    Hello

    I'm getting APEX for the first time and I just read 2 days dev Application Express guide

    I tried to play and I can't create a report with the form that select data from several tables

    What I want to achieve is a report we'll say 'USERS' makes MANAGER_ID ID, NAME, with a form that allows me to create, delete, change users

    The problem is that, once the report with the form created, if I click on create (to create a user) it will ask me for id, name, and manager_id

    I need a water drop down which allows me to select managers in the table manager instead of manually insert Director id

    How do I do that?

    Thank you!

    HI Chris,

    LOV will use this magic.

    Search:

    Kind regards

    BEnjamin

  • Send XML data for the processing of credit cards

    I'm implementing the presentation of an XML document in my Web site for the processing of credit cards using the API from my dealer.

    This is the format that I use for my application. For some reason, I get an error message saying "invalid request Format. XML request is not correct or the application is incomplete. »

    I know that the XML itself is correct, as I submit directly through the URL string in the browser and it works OK.

    Here's what I do:

    < cfsavecontent variable = 'strXML' >

    <!-NOTE: test data below - not my actual data-->
    < txn >
    < > 123456 ssl_merchant_ID < / ssl_merchant_ID >
    < > 123456 ssl_user_id < / ssl_user_id >
    < ssl_pin > V6NJ3A < / ssl_pin >
    < ssl_transaction_type > ccsale < / ssl_transaction_type >
    < ssl_card_number > 1111111111111111 < / ssl_card_number >
    < ssl_exp_date > 1210 < / ssl_exp_date >
    < ssl_amount > 2.34 < / ssl_amount >
    < ssl_salestax > 0.00 < / ssl_salestax >
    < ssl_cvv2cvc2_indicator > 1 < / ssl_cvv2cvc2_indicator >
    < ssl_cvv2cvc2 > 321 < / ssl_cvv2cvc2 >
    < 1234 > ssl_invoice_number < / ssl_invoice_number >
    < ssl_customer_code > 1111 < / ssl_customer_code >
    client < ssl_first_name > < / ssl_first_name >
    name of < ssl_last_name > < / ssl_last_name >
    < ssl_avs_address > 1234 main st. < / ssl_avs_address >
    the apt b < ssl_address2 > < / ssl_address2 >
    < ssl_city > any city < / ssl_city >
    < ssl_state > ST < / ssl_state >
    < ssl_avs_zip > 55555 < / ssl_avs_zip >
    < ssl_phone > 555-555-5555 < / ssl_phone >
    < ssl_email > [email protected] < / ssl_email >
    < / txn >

    < / cfsavecontent >

    < cfhttp url = "https://www.myvirtualmerchant.com/VirtualMerchant/processxml.do?xmldata=" method = "post" >
    < cfhttpparam type = "XML" value = "trim (strXML)" >
    < / cfhttp >

    < cfoutput > #cfhttp. FileContent # < / cfoutput >



    Can someone tell me what I am doing wrong?

    (The developer's guide is available here):

    https://www.myvirtualmerchant.com/VirtualMerchant/download/developerGuide.PDF)

    Thank you!

    Seek to deepen your original message.

    You're saying this...
    "I know that the XML itself is correct, I can submit directly through
    the URL string in the browser and it works well. »

    Who said to me that you are using URL get parameters not post form
    parameters. Also you do not have the name of the url parameter in the url
    string, unless you put the value one. If you use the
    Tag, it must contain the name. Finally you seem
    Miss the sharps.

    Give this or something like this a try.

    <>
    URL = "https://www.myvirtualmerchant.com/VirtualMerchant/processxml.do".
    method = "get" >

  • How to optimize the select query executed in a cursor for loop?

    Hi friends,

    I run the code below and clocked at the same time for each line of code using DBMS_PROFILER.
    CREATE OR REPLACE PROCEDURE TEST
    AS
       p_file_id              NUMBER                                   := 151;
       v_shipper_ind          ah_item.shipper_ind%TYPE;
       v_sales_reserve_ind    ah_item.special_sales_reserve_ind%TYPE;
       v_location_indicator   ah_item.exe_location_ind%TYPE;
    
       CURSOR activity_c
       IS
          SELECT *
            FROM ah_activity_internal
           WHERE status_id = 30
             AND file_id = p_file_id;
    BEGIN
       DBMS_PROFILER.start_profiler ('TEST');
    
       FOR rec IN activity_c
       LOOP
          SELECT DISTINCT shipper_ind, special_sales_reserve_ind, exe_location_ind
                     INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator
                     FROM ah_item --464000 rows in this table
                    WHERE item_id_edw IN (
                             SELECT item_id_edw
                               FROM ah_item_xref --700000 rows in this table
                              WHERE item_code_cust = rec.item_code_cust
                                AND facility_num IN (
                                       SELECT facility_code
                                         FROM ah_chain_div_facility --17 rows in this table
                                        WHERE chain_id = ah_internal_data_pkg.get_chain_id (p_file_id)
                                          AND div_id = (SELECT div_id
                                                          FROM ah_div --8 rows in this table 
                                                         WHERE division = rec.division)));
       END LOOP;
    
       DBMS_PROFILER.stop_profiler;
    EXCEPTION
       WHEN NO_DATA_FOUND
       THEN
          NULL;
       WHEN TOO_MANY_ROWS
       THEN
          NULL;
    END TEST;
    The SELECT inside the LOOP FOR cursor query took 773 seconds.
    I tried to use COLLECT in BULK instead of a cursor for loop, but it did not help.
    When I took the select query separately and executed with a value of the sample, and then he gave the results in a Flash of a second.

    All tables have primary key index.
    Any ideas what can be done to make this code more efficient?

    Thank you
    Raj.
    DECLARE
      v_chain_id ah_chain_div_facility.chain_id%TYPE := ah_internal_data_pkg.get_chain_id (p_file_id);
    
      CURSOR cur_loop IS
      SELECT * -- better off explicitly specifying columns
      FROM ah_activity_internal aai,
      (SELECT DISTINCT aix.item_code_cust, ad.division, ai.shipper_ind, ai.special_sales_reserve_ind, ai.exe_location_ind
         INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator
         FROM ah_item ai, ah_item_xref aix, ah_chain_div_facility acdf, ah_div ad
        WHERE ai.item_id_edw = aix.item_id_edw
          AND aix.facility_num = acdf.facility_code
          AND acdf.chain_id = v_chain_id
          AND acdf.div_id = ad.div_id) d
      WHERE aai.status_id = 30
        AND aai.file_id = p_file_id
        AND d.item_code_cust = aai.item_code_cust
        AND d.division = aai.division;         
    
    BEGIN
      FOR rec IN cur_loop LOOP
        ... DO your stuff ...
      END LOOP;
    END;  
    

    Published by: Dave hemming on December 4, 2008 09:17

  • Cursor for loop

    Hey Experts,.

    Can we consider cursor for loop as an example of cursor name

    as

    CREATE or REPLACE function TotalIncome (name_in IN varchar2) RETURN varchar2 IS total_val number (6);   cursor c1 is SELECT monthly_income FROM Employees WHERE name = name_in; BEGIN total_val: = 0;   FOR employee_rec in c1 LOOP total_val: = total_val + employee_rec.monthly_income;   END LOOP;   RETURN total_val; END; In this example, we have created

    SShubhangi wrote:

    Can we consider cursor for loop as an example of cursor name

    Laughing out loud

    Your code example explicitly sets a CURSOR variable in the PL/SQL block. Implied things happening opens, fetch and closing the cursor. But that the cursor is declared (in the DECLARE section), it's an explicit cursor - like the whole code block now has a way explicit to reference this slider.

    An approach of implicit cursor would be as follows:

    begin
      for c in(select col1, col2 from table1) loop
        .. do something..
      end loop;
    end;
    

    As you can see - there is no declaration of a cursor variable. A reference implementation is created instead and are accessible only within the construction that creates this reference - that is FOR loop in this case. The rest of the BEGIN... END block cannot refer to this cursor.

    Do not forget the advice of other posters however. In PL/SQL cursor loops is often the WRONG approach to the treatment of data - as it deals with processing (using the PL/SQL) line and not much treatment faster and scalable set of data using SQL only.

  • Investigate session PGA for a process

    Windows server 2003 with Oracle 9.2.0.8.0

    In this server, there is a process (myprocess.exe) that runs every night at 04:00.
    The process is still running, but only actually work between 04:00 and 05:00. The rest of the day is present with something (inactive).

    Run this query:
    SELECT
    s.sid sid
    , lpad(s.username,12) oracle_username
    , lpad(s.osuser,9) os_username
    , s.program session_program
    , lpad(s.machine,8) session_machine
    , (select ss.value/1024/1024 from v$sesstat ss, v$statname sn
    where ss.sid = s.sid and
    sn.statistic# = ss.statistic# and
    sn.name = 'session pga memory') session_pga_memory
    , (select ss.value/1024/1024 from v$sesstat ss, v$statname sn
    where ss.sid = s.sid and
    sn.statistic# = ss.statistic# and
    sn.name = 'session pga memory max') session_pga_memory_max
    , (select ss.value/1024/1024 from v$sesstat ss, v$statname sn
    where ss.sid = s.sid and
    sn.statistic# = ss.statistic# and
    sn.name = 'session uga memory') session_uga_memory
    , (select ss.value/1024/1024 from v$sesstat ss, v$statname sn
    where ss.sid = s.sid and
    sn.statistic# = ss.statistic# and
    sn.name = 'session uga memory max') session_uga_memory_max
    FROM
    v$session s
    ORDER BY session_pga_memory DESC
    I see that myprocess.exe has:
    Session_PGA_memory 154 MB
    163 MB session_pga_memory_max
    104 MB of session_UGA_memory
    111MB session_UGA_memory_max

    For an idle process, it's just for a lot. So I think there are a lot of cursors are not closed.

    If I kill the myprocess.exe, immediaty, I see the memory used oracle.exe falling... around ~ 150MB.
    If I take myprocess.exe, PGA only has 4 MB... until the next morning, where he has ~ 150 MB.


    Get the SID for myProcess.exe and run this query:
    SELECT s.machine, oc.user_name, oc.sql_text, count(1)  FROM v$open_cursor oc, v$session s 
    WHERE oc.sid = s.sid
    AND s.sid=38 
    GROUP BY user_name, sql_text, machine 
    HAVING COUNT(1) > 1 ORDER BY count(1) DESC 
    I was expecting to find a lot of sliders... but I did not! Only 9 lines are returned and all with similat Sql_Text
    "DELETE from GT_A.
    "DELETE from GT_B.
    "DELETE from GT_C.
    (...)
    (9 rows returned)


    This GT_ * are 9 global temporary tables used in the execution of PL/SQL.

    (1) why is this 9 "DELETE GT_" still present in open_cursors, if the process is slowed since 05:00?

    (2) checking the code, I found that they are created with: "On commit delete rows.
    but this 9 global temporary tables justify the 154MB of PGA not automatically detaches the session?

    Thanks in advance;

    Published by: PauloSMO on Set/6/2011 04:20

    The fact that the policy of work area is set to auto and you're on the server of course cancel the setting here. It's just a bit strange that it was fixed in view of the status of documents that it is set to 0 by default and is recommended to be used in server environments shared.

    Oracle does not recommend the use of the SORT_AREA_RETAINED_SIZE parameter, unless the instance is configured with the option of shared server. > Oracle recommends enable auto sizing of SQL working areas by setting PGA_AGGREGATE_TARGET instead. > SORT_AREA_RETAINED_SIZE is retained for backward compatibility.

    PauloSMO wrote: still active looking for a way to find why an idle process, has is session with 160MO at the PGA.
    Why didn't it releases memory for the operating system.

    The pga_aggregate_target is a target. It will be if necessary exceded. If the memory is used may not be returned to the operating system. The question is to discover where it uses memory. As you can see, it is not particularly easy to dig into the real details of what is contained in the PGA so that a particular session, so why not put in place a simple job to query stats for this session every 10 seconds or something? In this way, you'll be able to get a profile of when the memory usage is up and I hope that are correlated with what the process. It is not ideal, but that's essentially what does something like history of the session is active. If you have a decent level of instrumentation through things like dbms_application_info, it will make the job a little easier.

    HTH

    David

  • Accident app: "all discussions of WebKit for this process have been closed.

    Hi bbdevs,

    develop a webworks app that uses the

    watchPosition()
    

    function.

    During the function watchPosition is active my app breaks down.

    This happens on a Z10 where my app is installed in debug mode.

    I use SDK Webworks 1.0.4.11 and bbUI.js 0.9.6.131.

    The 'watchPosition()' function calls a function where I do a little database to insert on the devices websql.

    This also works well - what app is backgrounded.

    Before the application blocks the last thing that has happened is a successful insertion of data to the database. That's what says my console.log.

    For better debugging, I installed the Momentics IDE (from the tools of waterfalls) and attached to the device via ssh.

    With the command 'slog2info w', I see more balls then in my browser chrome (thanks to ΕΚΚΕ for this great tip!).

    Happening in the slog before the app crahes:

    Apr 05 14:06:15.042      webkit_launcher.233201698               webkit      0  All WebKit threads for this process have been shut down.
    Apr 05 14:06:15.063      webkit_launcher.233201698               webkit      0  WebKit graphics for this process has been shut down.
    Apr 05 14:06:15.134      webkit_launcher.233201763               webkit      0  Received unexpected connection death 1073741825 from parent process! Exiting...
    

    A few minutes ago, I found this in the journal too:

    Apr 05 14:04:58.440      webkit_launcher.233201698               webkit      0  Thread 5: responding to low memory
    Apr 05 14:04:58.440      webkit_launcher.233201698               webkit      0  Thread 7: responding to low memory
    Apr 05 14:04:58.440      webkit_launcher.233201698               webkit      0  Thread 1: responding to low memory
    Apr 05 14:04:58.441      webkit_launcher.233201763               webkit      0  Thread 4: responding to low memory
    Apr 05 14:04:58.441      webkit_launcher.233201763               webkit      0  Thread 1: responding to low memory
    Apr 05 14:04:58.441      webkit_launcher.233201763               webkit      0  Thread 6: responding to low memory
    Apr 05 14:04:58.441      webkit_launcher.233201763               webkit      0  Thread 14: responding to low memory
    Apr 05 14:04:58.446      webkit_launcher.233201698               webkit      0  Thread 4: responding to low memory
    Apr 05 14:04:58.619      webkit_launcher.233201763               webkit      0  Thread 3: responding to low memory
    

    For more information:

    It's my SQL Transaction, which is called by the watchPosition function:

    database = window.openDatabase('mydbname', '', 'my Database', 1 * 1024 * 1024);
                try {
                    database.transaction(
                        function (tx) {tx.executeSql('INSERT INTO tbl_gps (lon, lat, alt, acc, altacc, head, speed) VALUES (?, ?, ?, ?, ?, ?, ?)',
                            [posData.coords.longitude, posData.coords.latitude, posData.coords.altitude, posData.coords.accuracy, posData.coords.altitudeAccuracy, posData.coords.heading, posData.coords.speed],
                            function (tx, res) {
                                onInsertSuccess = true;
                                console.log('Data insert into Table GPS Data Successfully');
                            },
                            function (tx, err) {
                                onInsertSuccess = true;
                                showToast("ERROR - DB INSERT Trail GPS Data - code: "+err.code+", message: "+err.message, "OK", 60000);
                            });
                        }
                    );
                 } catch (err) {
                     console.log('There was an Error during database transaction! '+err.message);
                 }
    

    Someone at - it an idea for this problem resolved? I'll be happy on any comment to bring me a little bit forward to make this work.

    Thank you in advance to all those who have read this thread... and thanks much for any tip!

    Lars.

    Hi adam,.

    Thank you for your message. I tested a lot last weekend and after hours and hours, I figured out more details on this memory problem.

    First of all:
    It was not a problem of database :-)
    The database transaction is accidentally the last only asynchronous thing happens. But the reason for the crash of the app is another.

    I also draw a line on the map with each update location.  I use openlayers for this feature. When the application is in the background, it seems that there is a problem with openlayers.

    I found a solution for this problem:

    I store my data to the line in a table when the application is backgrounded - when he returns to the foreground I take the data in the table and draw the line again.

    When I get the error again - hope not, of course - I'll open a subject in jira.

    Thanks also to luca for a brainstorming!

  • Install streets & trips 2013 on windows 8 - "a licensing initialization error has occurred. Please contact customer support for further assistance. Error 0xC004D301 ".

    Original title: new installation of streets & trips 2013 on windows error 8.

    I have my windows 8 installation with the assurance that my products purchased from Microsoft survive the 8 Windows Reinstall "refreshed". Well all the Microsoft products were there but would not work. Each gave the error for rerinstall the product I did no problem except for the problem with the streets of travel & which still exists and is completely ignored by Microsoft, according to my research. The error is: "a licensing initialization error has occurred. Please contact customer support for further assistance. Error 0xC004D301 ". I tried all the suggestions that I have met on the internet. The most galling was given by Microsoft technology in its response to this problem. "The license data is probably corrupted" OK, makes sense, BUT how can I fix that you genius. Someone had managed to get the program to work after this error message?

    Success!  Hi John, I don't know if this will solve your problem because I am running windows 8.1 and tries to install streets & trips 2011.  But I had a similar symptom that you knew.  Here's what I did: just right-click on the icon in the start menu, select programs and features.  Uninstall all versions of Microsoft Visual C++ 2010, I had two.  Then I opened the installation dvd in Explorer, click right on dvdrun, marked the area run as long as administrator (not sure if it did anything or not), hit apply, then double clicked on dvdrun and everything worked.  I could install, validate, save, and run the program!
    A warning, I don't know what are the potential problems that may result in removing these two programs, I hope that if I run into something I can install them again without too much trouble.

  • Cursor for loop in PlSql

    while I was studying on cursor for loop I found this statement in the web

    "A cursor FOR loop implicitly declares its index of the loop as the % ROWTYPE record."

    for example an emp table contain more columns empno, ename, sal, hiredate deptno

    and take a cursor for loop until

    for rec in select empno, sal from emp loop

    If the cursor loop for said index of the loop as a % rowtype our cursor statement must include all columns and follow the data type compatabulity.

    Here our cursor statement includes only a few columns, if we use % rowtype to select all columns but here we do not have it.

    Please can someone explain what is happening in the cursor for loop?

    Type % line is not for the table. its for the cursor.

    its almost like cursor % rowtype

    Select ename, sal from emp will be rowtype of ename and sal... not all the columns EMP

  • Question about the update of a cursor for loop

    Hi, please someone could help with the following:

    I have a simple script below:

    declare

    cursor c1 is select name, salary of employers;


    Start

    for rec loop c1

    dbms_output.put_line ('employee' |) Rec.Name | ' s former salary was £' | Rec.salary);

    update of employers set salary = salary * 1.2 where name = rec.name;


    dbms_output.put_line ('employee' |) Rec.Name | "new treatment is £' | Rec.salary);

    end loop;

    end;

    This gives me the old value of the salary, but the output for the new salary remains the same, that is to say, it has not increased by 1.2.

    Ive tried to run in the 2 loops that works, but does not give me in order I want, IE employers followed old sal nine.

    Ive tried to add is committed and various other things, but it makes no difference. I thought that the script above should work. Where I'm going wrong?

    Thank you very much

    882839 wrote:

    I learned (perhaps wrongly) that cursor for loops were good practice. Is it not the case?

    Could you mention who told you this?

    I'm curious because on a daily basis in almost all the sons of my treatment is slow , the reason for the slow transformation is the loop and all responses point out that you are using a loop ensures that the process is running more slowly as possible.

    But despite any response in this community saying loops are the worst practices, every day more people come here apparently having learned exactly the opposite and then wonder why their program runs like a dog three legs with an anchor attached to his tail.

  • Questions about CURSOR FOR... LOOP

    Good evening

    In reading the posts here, I came across a number of cases where it was clear that there is no special affection for the cursor for loops.

    I googled... found around articles naming some minor inconveniences, but nothing which would justify the aversion towards them, I noticed here.

    My questions are:

    1. why the cursor for loops so undesirable?
    2. What are alternative fuels?

    Thank you for helping,

    John.

    Published by: 440bx - 11 GR 2 on August 12, 2010 21:23 - plural on the issue and remove superfluous in the subject.

    Hey John,

    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:760210800346068768

    Has some good points on the subject.

    Cursor loops are not "bad" per say, but they go against the philosophy of treatment in bulk (unless you do things like increase your cursor with BULK COLLECT and FORALL, that would go to point 2 in your question).

    Basically, when you see a large number of cursor loops you get something like someone writing their own LOOPS IMBRIQUEES join inside pl/sql

    for x in
    (
       select * from table1
    )
    loop
       for y in
       (
          select * from table2 where table2.column1 = x.column1
       )
       loop
    ....
    

    While you could just write a single SQL

       for x in
       (
          select x.columns, y.columns
          from table1 x, table2 y
          where x.column1 = y.column1
       )
       loop
          ....
    

    The former removes a lot of options for optimization of Oracle queries can / could do since he doesn't see s a SQL both. You hit repeatedly table2 (probably via a sweep of index which means that you will get a single block IO as opposed to IO multiples of block that can be done for FULL TABLE SCAN) and remove any chance of Oracle doing the treatment 'fantasy' through things like the HASH JOINS (if the optimizer has determined the request was a good fit for one) etc...

    In general, tie you the hands of the Oracles by dictating treatment rather than run through a whole considerable options to determine the best paths to the data you need.

    You can find much better on the site, AskTom explanations, I hope that this is a decent Preview so :)

    In Oracle 10 and better, Oracle will actually convert an implicit cursor (as I used above) in bulk, with a size of default array of 100 elements (you can measure this easily with a TKPROF and a simple implicit cursor). But that still won't help you much if you write your own nested loops join like I faked it above.

    Published by: Tubby on August 12, 2010 18:51

    Added a little more... too much to say on the subject, and not enough time :)

  • AIP-18510: Error adding items from configuration... for business processes.

    Hello

    We encounter this error a few days after the application of the latest patch MLR.

    None of our agreements can be deployed, even those who have not changed in any way, after that the fix has been applied.

    This is part of our ui.log:

    2009.02.02 to 08:49:10:409: AJPRequestHandler-ApplicationServerThread-13: UI - composed message (ERROR)
    2009.02.02 to 08:49:10:409: AJPRequestHandler-ApplicationServerThread-13: UI - composed message (ERROR)
    2009.02.02 to 08:49:10:409: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) made Page::pages/deployment/deploy_progress
    2009.02.02 to 08:49:10:421: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) in getVersionOnly()
    2009.02.02 to 08:49:10:965: Thread-24: - Error (ERROR) - IP: AIP-18510: Error adding CONFIG configuration for business process cm_all_agreements objects
    at oracle.tip.configuration.B2BConfigurationBuilder.run(B2BConfigurationBuilder.java:452)
    at java.lang.Thread.run(Thread.java:534)

    2009.02.02 to 08:49:20:651: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) found no Validation errors
    2009.02.02 to 08:49:20:651: AJPRequestHandler-ApplicationServerThread-13: UI - composed message (ERROR)
    2009.02.02 to 08:49:20:651: AJPRequestHandler-ApplicationServerThread-13: UI - composed message (ERROR)
    2009.02.02 to 08:49:20:662: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) made Page::pages/deployment/deploy_error
    2009.02.02 to 08:49:20:673: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) in getVersionOnly()
    2009.02.02 to 08:49:27:961: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) made Page::pages/deployment/config_list
    2009.02.02 to 08:49:27:971: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) execution Query::SELECT C.ID DISTINCT, C.name, C.LifeCycleState, C.CLASSTYPE, CA.aud_modified OF TIP_Configuration_t C, TIP_Configuration_t_AUD CA WHERE C.ID = CA.ID AND C.LifeCycleState IN ('Active', "Validated", "Suspension", "Suspended") AND CA.aud_modified in (SELECT MAX (aud_modified) FROM TIP_Configuration_t_AUD WHERE ID = C.ID GROUP BY ID) ORDER BY CA.aud_modified DESC
    2009.02.02 to 08:49:27:978: AJPRequestHandler-ApplicationServerThread-13: UI - (ERROR) in getVersionOnly()

    Please help as this makes our unnecessary server.

    Best regards
    Kamil

    Hi Kelly,

    I assume you mean to meet these problems post MLR # 7 patch.

    Here are some of the things ypu might start with:

    1. check your inventory of LS to see if your patch has been applied successfully
    2. ensure that all the post installation steps are completed (in the readme file)
    3. you may restore this patch and check if you still get the same error.
    4. after the cancellation, if your config works fine, the new patch rerapply and observe the effects.

    Thank you best regards &,.
    Suhas.

Maybe you are looking for