Rows exists after truncation

Dear all,
10.2.0.4 on solaris 10
SQL> alter table iaa_histcalls truncate partition nov200801;
Table truncated.
Elapsed: 00:00:00.67
SQL>
SQL>
SQL> alter table iaa_histcalls truncate partition jan200902;
Table truncated.
Elapsed: 00:00:00.06
SQL>
SQL>
SQL> select partition_name,num_Rows from user_Tab_partitions;
PARTITION_NAME NUM_ROWS
NOV200801 367746
NOV200802 0
DEC200801 0
DEC200802 0
JAN200901 0
JAN200902 22688458
I can see the num_rows is populated even after truncating the partition .Any idea ?
Kai

KaiS wrote:
Tried the same Asif. but still the same
SQL> exec dbms_stats.gather_table_stats('IAAHIST','IAA_HISTCALLS',DEGREE=>15);
PL/SQL procedure successfully completed.http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_stats.htm#CIHEHDFB
granularity
Granularity of statistics to collect (only pertinent if the table is partitioned).
'ALL' - gathers all (subpartition, partition, and global) statistics
'AUTO'- determines the granularity based on the partitioning type. This is the default value.
'DEFAULT' - gathers global and partition-level statistics. This option is obsolete, and while currently supported, it is included in the documentation for legacy reasons only. You should use the 'GLOBAL AND PARTITION' for this functionality. Note that the default value is now 'AUTO'.
'GLOBAL' - gathers global statistics
'GLOBAL AND PARTITION' - gathers the global and partition level statistics. No subpartition level statistics are gathered even if it is a composite partitioned object.
'PARTITION '- gathers partition-level statistics
'SUBPARTITION' - gathers subpartition-level statistics.
"

Similar Messages

  • I would like to clear my address row history completely, but I never get it totallly emptied. The remaining addresses are not bookmarked, i.e no stars on the row, but still exist after I have emptied all history both via the History link and via the Tools

    I would like to clear my address row history completely, but I never get it totallly emptied. The remaining addresses are not bookmarked, i.e no stars on the row, but still exist after I have emptied all history both via the History link and via the Tools link. How come adresses still can exist after I have done this?
    == This happened ==
    Not sure how often

    I clear all history but i still get hints (what i've typed before) when i wanna type something in a site i've visited before!! whats the solution?

  • After truncation space not reclaiming

    HI,
    During our health check we found one of the tables in our database occupying more than 11 GB of space. We got approval from APP team to truncate the table.
    And i truncated accordingly.
    But after truncation also the table is still showing the same size.
    I checked the record count. it's showing ZERO records.
    Could you please let me know why my database behaving like this?
    Before tables truncation
    *================*
    select OWNER,SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 FROM dba_segments WHERE TABLESPACE_NAME='WEBMDATA' and SEGMENT_TYPE='TABLE' and bytes/1024/1024/1024 > 1;
    OWNER SEGMENT_NAME SEGMENT_TYPE BYTES/1024/1024/1024
    PRISMA_WMISCORE_OWNER1 WMERROR TABLE 11.2998047
    1 row selected.
    SQL> truncate table PRISMA_WMISCORE_OWNER1.WMERROR;
    Table truncated.
    SQL> select count(*) from PRISMA_WMISCORE_OWNER1.WMERROR;
    COUNT(*)
    0
    1 row selected.
    After table truncation
    *==============*
    SQL> select OWNER,SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 FROM dba_segments WHERE TABLESPACE_NAME='WEBMDATA' and SEGMENT_TYPE='TABLE' and bytes/1024/1024/1024 > 1;
    OWNER SEGMENT_NAME SEGMENT_TYPE BYTES/1024/1024/1024
    PRISMA_WMISCORE_OWNER1 WMERROR TABLE 11.2998047
    1 row selected.
    Please help me..
    Thank you..

    HI,
    Thanks for the response.
    Even after stats gathering also its showing the same size..
    SQL> select table_name,last_analyzed FROM DBA_TABLES WHERE table_name='WMERROR' AND OWNER='PRISMA_WMISCORE_OWNER1';
    TABLE_NAME LAST_ANAL
    WMERROR 17-AUG-12
    SQL> select OWNER,SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 FROM dba_segments WHERE TABLESPACE_NAME='WEBMDATA' and SEGMENT_TYPE='TABLE' and bytes/1024/1024/1024 > 1;
    OWNER SEGMENT_NAME SEGMENT_TYPE BYTES/1024/1024/1024
    PRISMA_WMISCORE_OWNER1 WMERROR TABLE 11.2998047
    1 row selected.

  • Which rowid will exist after delete duplicate

    SQL> DELETE FROM my_table t1
    2 WHERE EXISTS ( SELECT 'x' FROM my_table t2
    3 WHERE t2.key_value1 = t1.key_value1
    4 AND t2.key_value2 = t1.key_value2
    4 AND t2.rowid > t1.rowid );
    in above code which rowid will exist min or max?
    example: rowid:
    121
    123
    111
    124
    with above code which rowid will exists after deletion duplicate records.
    Edited by: yash_08031983 on Feb 11, 2011 10:23 PM

    Your question is not very clear.
    This query deletes rows in table t1 only if there is a matching row in table t2 for key_value1 and key_value2 and if t1 rowid is lower then t2 rowid: only rows in t1 are deleted (no rows in t2 are deleted).
    Since rowid are generated internally by Oracle and encode datafile number, object identifier and row number, I'm not sure it makes really sense to compare them in 2 differents tables just "lower than " operator. However it could be useful to use comparison on some rowid fields if you use DBMS_ROWID package to compare datafile number, object_number and row number.

  • Table.rows.find() returns null in a table where the row exists.

    Hi...
    I am working in a Project in Visual Studio 2013 where I have to read an Excel report related with a list of business opportunities. Some of the Fields that are involved in it are:  Opportunity ID, BU, Account, close date, Account Manager,
    Total Value and so on. As soon as I get the conection with the Excel Report, I fill a DataTable and declare the columns [Opportunity ID] and [BU] as my Primary Keys.  In that way, an Opportunity value may have one o more rows
    with different BU code each of them.  In consequence, you can define one row in the table if you specify the [Opportunity ID] and the [BU] values.
    My problem starts when I try to get information of those rows that have an specific value of [Opportunity ID]. For that situation I make a "foreach" structure where I check the BU codes that are involved with that Opportunity. So
    I use the Find() Method to get the information of the row specified by the Opportunity ID and BU.  The first time it goes to find the information it gets the results successfully but in the next cycle changing just the [BU] using the same [Opportunity
    ID] value, the find() method returns a "null" and I do not know why because I am sure that the row exists in the table.  I have verified the "Unique" property for the  [Opportunity ID] and [BU] columns (which are
    my primary keys)  and they are in false which is OK.
    I share the code that I am using...
    Hope someone can help.
    Thanks.
    Alfmar.
    void ObtenTotalesxBUs(string Opportunity, string[] BUs, Object[] TotalBUs, Object[] ExpTotalBUs)
    ArrayList TotalesBUs = new ArrayList(); //Required information from the row.
    ArrayList ExpTotalesBUs = new ArrayList(); //Required information from the row.
    foreach(string businessUnit in BUs)
    Object[] LlaveBusqueda = { Opportunity, businessUnit }; //Provide values to the Primary Keys.
    DataRow RenglonInfo = null;
    RenglonInfo = TablaFunnel.Tabla.Rows.Find(LlaveBusqueda); //Find method receives the Primary Keys values. Here is where I have a "null" in return the second time changing just the [BU] field.
    TotalesBUs.Add(RenglonInfo["Total"]); //Get the required information from the row.
    ExpTotalesBUs.Add(RenglonInfo["Expected Total Value"]); //Get the required information from the row.
    TotalBUs = TotalesBUs.ToArray();
    ExpTotalBUs = ExpTotalesBUs.ToArray();}

    Hi Viorel..
    Thanks a lot for you help.
    I am absolutely sure that the second ítem of BU is valid and exist in the table because I tried to make a "Select" statement in the table providing the values of [Opportunity ID] and [BU] and I get the expected record. So, why is not
    working using Find() with the defined Primary Keys??? 
    I tried this in order to test that the record exists...
    if(RenglonInfo == null)
    string strSelect = "[Opportunity ID] = '0000218256' AND [BU] = 'SFW'";
    RenglonInfo2 = TablaFunnel.Tabla.Select(strSelect);

  • Pavilion dv6 - the search for WLAN doesnt exist after installing windows 7 ultimate

    pavilion dv6 - the search for WLAN doesnt exist after installing windows 7 ultimate
    after installing windows 7 my computer only displays the LAN on my quicklaunch bar and I can even search for open WLAN networks =(

    Hi:
    You probably need to install the wireless card driver.

  • Creating new row right after popup opens (JBO-35007 because of  trigger)

    Hi,
    I have the same popup (with an ADF form) to add and to edit data. But i have two buttons which displays this popup - Add new and Edit, Edit works OK, on add, i insert new record like this:
            DCIteratorBinding dciter =
                (DCIteratorBinding)bindingContainer.get(iterator);
            ViewObject view = dciter.getViewObject();
            Row newRow = view.createRow();
            view.insertRow(newRow);
            view.setCurrentRow(newRow);before popup is open. And it adds a new record. But the record has id -10 (or some other negative number). This -10 is shown on calling page (the page from which the popup is open) in ADF ReadOnly table as -10 as id and other cells in row empty. That shouldn't happen (se bellow why). User then edits empty form in popup, and commits - then i get JBO-35007 because -10 changed to 123 - because of trigger.
    I tried to requery - it doesn't help, see Refresh after pop-up window closes.
    Can you suggest a solution on how to create a row right after popup opens?
    Also,
    i create new record on button's LaunchListener method. This method seems to execute before popup is open and so it affects the calling page also. I think the problem would be solved if new row would be created after popup is opened, not while opening it. (clicking create in popup works fine)

    in my real case, i usually don't show ids; but to simplify debugging, i created test project where i show as many things as possible.
    you mean, creating new record like following?
            bindings.getOperationBinding("Create").execute();I don't use that because i don't get empty fields in popup window (although new record is created). Actually, i don't know how to set this created record to be selected one. Suggestions?
    And I did some more testing, if I create new record with clicking on Create (not creating new row automatically), i get JBO-35007 only if there was selected any other than the first row in table.
    and i tried to move create method binding in pagedef, so it's the first one.. But it seems like there is no effect.
    btw, i found this in one of examples on web:
       <invokeAction Binds="Execute"
                      id="refreshTableViewObjectAfterAddingNewApp"
                      Refresh="prepareModel"
                      RefreshCondition="#{processScope.addedNewApp}" />refresh condition must be true when adding new row and false for everything else. I'm not sure what that does, but it seems to work... :)
    I really shouldn't use the same View Objects in popup and 'master' page, should I?

  • Get data after truncate

    hi,
    how can i get back my data after truncating the table.
    regards
    Kiran Sankpal

    Hi Kiran,
    Table backup is the only way to restore data of a truncated table, it is possible to get deleted data back but not data of a truncated table. Refer Flashback
    *009*

  • Warning  Query has exceeded 200 rows. Potentially more rows exist...

    Hi all,
    I am getting a following warning message on every page.
    Query has exceeded 200 rows. Potentially more rows exist, please restrict your query.
    In my code whatever VO i am using doesnt fetch more than 50 records still I am getiing warning as Query exceeded 200 rows.
    Even on helloWorld Page from Tutorial.jpr also I am getting the same warning.
    Any suggestions , how to remove it.
    Thanks and Regards,
    Anant.

    Its an oracle instance system profile. It will be in effect whether you are testing the page from jdev or the instance.
    --Shiv                                                                                                                                                                                                                                                                   

  • Warning - Query has exceeded 200 rows. Potentially more rows exist, please

    Hi Guys
    I am really stuck on this one did a snoop in the forum to find what the problem may be but have found nothing that can help me.
    I get the following error on my pages.
    I am using 11.5.10
    Warning - Query has exceeded 200 rows. Potentially more rows exist, please restrict your query.
    I had originally created a page and a view object with the relevent app module... and it was givin me the error. so what i did was delete the project
    created a page and just the app module with no view objects
    there is nothing on the page.. just that the page is linked to the app module via app module instance option.
    still givin the error
    i change the profile option for personal view object retrieval to 10 and still no avail..
    the message just change from
    Warning - Query has exceeded 200 rows. Potentially more rows exist, please restrict your query.
    to
    Warning - Query has exceeded 10 rows. Potentially more rows exist, please restrict your query.
    i have changed the max fetch size as well as the fetch size to limit the query..
    i have changed the max fetch size via code and setmaxfetchsize(1) via code on iniziliation..
    PLEASE HELP?>>>

    Hi George,
    What do you mean by, when you claim that the page still runs without your VO (i.e. Just the PG & AM)? Does it means that your webBeans in the page that references the VO Attributes, still comesup with no issues like (VO not found)?
    If yes, then your jdev. project is picking up the VO xml/class files else where from your classpath. Please check your classpath settings and library settings to see where the old file is still available.
    HTH.

  • Re-claim of space after truncating mview logs

    Hi All,
    We have truncated mview logs on the environment.
    Logically freespace(dba_free_space) 250 gb is available, But Physically we did not get any space.
    For reclaim physical space what can i do?
    Thanks

    Hi Bai ,
    Thanks for gud support,
    Sorry for delay...
    I will explain clearly so that u can understand the prob
    Before truncating the mview logs avalable free space(dba_free_space) is --
    SQL> select sum(BYTES)/1024/1024/1024 from dba_free_space;
    SUM(BYTES)/1024/1024/1024
    39.0560455
    After truncating the mview logs available free space is ---
    SQL> select sum(BYTES)/1024/1024/1024 from dba_free_space;
    SUM(BYTES)/1024/1024/1024
    251.980179
    And these are the spaces cosumed by the tables corresponding tablespace...
    SQL> select segment_name, bytes from dba_segments where tablespace_name='APPS_TS_TX_DATA' and segment_name like '%MLOG$%';
    SEGMENT_NAME BYTES
    MLOG$_AHL_SCHEDULE_MATERIA 131072
    MLOG$_BOM_OPERATION_RESOUR 131072
    MLOG$_BOM_RESOURCE_CHANGES 131072
    MLOG$_BOM_SUB_OPERATION_RE 131072
    MLOG$_BOM_SUBSTITUTE_COMPO 131072
    MLOG$_BOM_OPERATION_NETWOR 131072
    MLOG$_MTL_MATERIAL_TRANSAC 131072
    MLOG$_MTL_ONHAND_QUANTITIE 131072
    MLOG$_MTL_USER_DEMAND 131072
    MLOG$_MTL_SYSTEM_ITEMS_B 131072
    MLOG$_MTL_USER_SUPPLY 131072
    SEGMENT_NAME BYTES
    MLOG$_MTL_RESERVATIONS 131072
    MLOG$_MTL_DEMAND 131072
    MLOG$_MTL_SUPPLY 131072
    MLOG$_MRP_FORECAST_DATES 131072
    MLOG$_MRP_FORECAST_DESIGNA 131072
    MLOG$_MRP_SCHEDULE_DATES 131072
    MLOG$_MRP_FORECAST_ITEMS 131072
    MLOG$_OE_ORDER_LINES_ALL 393216
    MLOG$_PO_CHANGE_REQUESTS 131072
    MLOG$_PO_ACCEPTANCES 131072
    MLOG$_PO_SUPPLIER_ITEM_CAP 131072
    SEGMENT_NAME BYTES
    MLOG$_WIP_MSC_OPEN_JOB_STA 131072
    MLOG$_WIP_SUB_OPERATION_RE 131072
    MLOG$_WIP_OPERATION_RESOUR 131072
    MLOG$_WIP_REQUIREMENT_OPER 850919424
    And what would be the next step from my side?
    Thanks.

  • Commiting 3 new rows - only 2 exist after

    Hi OTN,
    in my ADF BC application I have a bounded taskflow for creating new rows.
    It contains CreateInsert operations for VO1 and VO2 (VO2 is a child of VO1 and a child of another VO which is not touched by the taskflow). I've put postChanges between those operations so no temporary keys are there - the keys are generated via DB triggers.
    After those operations another bounded taskflow is called which contains CreateInsert for VO3 (VO3 is a child of VO1) and a form where Commit is called.
    After Commit I navigate to a test page which shows three forms representing VO1, VO2 and VO3. The page shows me that each of three new rows was created - I see them (with the real key valyes) in the forms.
    But in database only two new rows appeared. VO1 and VO3 (tables) have new rows, but no new row appeared in VO2 table. The form on a test page showed me a VO2 row which really didn't exist.
    Why is there no new row in one of tables?
    I use only one ApplicationModule.
    VO2 is a standard VO based on an entity. It is updatable.
    No errors in logfile.
    I how absolutely NO idea, why does it happen.
    Would love to hear an advice.
    Thanks.
    JDev 11.1.1.3

    Hi,
    if VO2 is dependent on VO1, when you create a new row in VO how to do you ensure its getting committe before VO2 gets committed ? Did you set the composite flag on the association between the two ? Another solution to handle this synchronization - to avoid constraint validations - is documented in the Fusion developer guide
    Frank

  • ZL_BT115H_S_DETAILS_CN00 does not exists after EEWB enhancements

    Hi Gurus,
    I have enhanced the component view BT115H_SLSO/details initially, after some days, I have added two Zfields to BTADMINH using EEWB. while opening the Context node BTADMINH in the view BT115H_SLSO, the following error message is being displayed: Object type ZL_BT115H_S_DETAILS_CN00 does not exist.
    while opening the link to create the sales order in Web UI, the following Exceptions occured:
    CX_SY_CREATE_OBJECT_ERROR - The object could not be created: The class ZL_BT115H_S_DETAILS_CN00 does not exist. 
    Method:  CL_BSP_MODEL=>CREATE 
    Source Text Row:  12
    Initialization of view BT115H_SLSO/Details failed
    An exception has occurred Exception Class  CX_SY_CREATE_OBJECT_ERROR - The object could not be created: The class ZL_BT115H_S_DETAILS_CN00 does not exist. 
    Method:  CL_BSP_MODEL=>CREATE 
    Source Text Row:  12
    Cannot display view BT115H_SLSO/DetailsVS
    An exception has occurred Exception Class  CX_SY_CREATE_OBJECT_ERROR - The object could not be created: The class ZL_BT115H_S_DETAILS_CN00 does not exist. 
    Method:  CL_BSP_MODEL=>CREATE 
    Source Text Row:  12
    Initialization of view BT115H_SLSO/DetailsVS failed
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/Details could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Cannot display view BT115H_SLSO/SOHOverView
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/Details could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Cannot display window MainWindow.
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/DetailsVS could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Any idea of why this exception is occured.
    Did anyone faced the same issue? if yes,please share me the solution.
    Thanks and Regards,
    S Reddy

    Hi Suchita,
    Thanks for your quick response.
    Actually we have not done any enhancements to the BTADMINH context node. we have enhaced the CRMD_ORDERADM_H table using the EEWB fields. After this I have checked the component BT115H_SLSO/view to provide the value help for the fields, the Zclass was automatically assinged to the Context and Page attribute remained same for BTADMINH.
    I have checked in the SE24, the class does not exists. I have created a copy of CL_BT115H_S_DETAILS_CN00 as ZL_BT115H_S_DETAILS_CN00 and assigned to BTADMINH and Page attributes of the same view. After I have opened the Web UI, the following exceptions are occured:
    Context generation failed in view BT115H_SLSO/Details
    An exception has occurred Exception Class  CX_SY_MOVE_CAST_ERROR - Source type \CLASS=ZL_BT115H_S_DETAILS_CN00 is not compatible, for the purposes of assignment, with target type \CLASS=CL_BT115H_S_DETAILS_CN00 
    Method:  ZL_BT115H_S_DETAILS_CTXT=>CREATE_BTADMINH 
    Source Text Row:  13
    Initialization of view BT115H_SLSO/Details failed
    An exception has occurred Exception Class  CX_SY_MOVE_CAST_ERROR - Source type \CLASS=ZL_BT115H_S_DETAILS_CN00 is not compatible, for the purposes of assignment, with target type \CLASS=CL_BT115H_S_DETAILS_CN00 
    Method:  ZL_BT115H_S_DETAILS_CTXT=>CREATE_BTADMINH 
    Source Text Row:  13
    Cannot display view BT115H_SLSO/DetailsVS
    An exception has occurred Exception Class  CX_SY_MOVE_CAST_ERROR - Source type \CLASS=ZL_BT115H_S_DETAILS_CN00 is not compatible, for the purposes of assignment, with target type \CLASS=CL_BT115H_S_DETAILS_CN00 
    Method:  ZL_BT115H_S_DETAILS_CTXT=>CREATE_BTADMINH 
    Source Text Row:  13
    Initialization of view BT115H_SLSO/DetailsVS failed
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/Details could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Cannot display view BT115H_SLSO/SOHOverView
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/Details could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Cannot display window MainWindow.
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR - View BT115H_SLSO/DetailsVS could not be bound 
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW 
    Source Text Row:  162
    Thanks and Regards,
    S Reddy

  • Space is not released after truncating the table

    Team,
    We have a table of size 550gigs in size and we truncated the table , truncated sucessfully but space is not released in os level, what action we can take to release the space and this table has only one row and contains the binary data.
    Thanks
    PGR

    Team,
    We have a table of size 550gigs in size and we truncated the table , truncated sucessfully but space is not released in os level, what action we can take to release the space and this table has only one row and contains the binary data.
    Thanks
    PGR
    Hello,
    Yes space wont be released immediately .If large extents are in picture which I assume is your case it goes into deferred drop a background process which will execute after some time( time may vary).See below link for details.
    As per BOL if extents are more than 128 it goes in deferred drop.
    http://msdn.microsoft.com/en-us/library/ms177495.aspx
    You should wait for some time .keep checking the free space
    Below discussion will surely help you in understanding.See Jonathan's reply
    http://social.msdn.microsoft.com/Forums/en-US/4aa2537e-246b-4bfe-818d-3482531d9149/sql-server-2005-massive-400gb-table-dropped-space-not-released
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • Sequence of begin/end blocks.Delete only if updated.Updte only if row exist

    Here is a sequence of events I need to perform.
    1) I need to update a table with the systime for a given id.
    2) Commit (so that the systime is stored before I delete)
    3) Once updated, delete row from that table for the given id so that the row moves to the audit table with the updated systime - added in step 2.
    For this I need to keep the following things in mind:
    a) Update only if that particular id (passed as IN parameter to the SP) exists. That is validate existence before updating/deleting.
    Here are questions ralted to the above scenario:
    1) How is this kind of validation usuallty performed?
    2) Update and delete will be in 2 separate begin exception end block?
    Example
    begin
        begin
        update...
           commit
        exception
           rollback
        end;
    delete...
    commit
    exception
    rollbacl
    endHowever if update fails for some reason, I do not wish to come to the delete option.
    How can I take care of that?
    Edited by: [email protected] on Oct 20, 2008 9:47 AM
    Edited by: [email protected] on Oct 20, 2008 9:48 AM

    Mass25 wrote:
    The reason why I commit after doing the update is so that when I delete, what I have updated goes to the audit table.But that would only be necessary if it was a seperate session trying to read the data.
    If you update data on a table then your own session will see that data at existing on the table whether you have committed it or not, whilst other sessions will only see that data once it is committed.
    A commit should be issued when it logically makes sense, not just to try and ensure that the data is on the table for yourself.
    What would happen if you update some data, commit it, someone else reads it in their session and then you go and delete it? They have read your updated data whereas if they do a read before you delete then it's more logical that they should have read the pre-updated data.
    It seems like you are trying to incorporate more steps than are necessary to perform a simple task.

Maybe you are looking for