Redo on rolling back a transaction.How?

A transaction will generate redo and rolling back that transaction will generate further redo.
I am a bit confused about rolling back a transaction further generates redo.can any one shed some light on the above statement.
Thankx..

data blocks are protected by redo.
Tables: they are in data blocks
Indices: they are in data blocks
Undo segments: they are in data blocks.
Crash recovery alone would require the rollback to be protected by redo.
Apart from that: a rollback modifies data blocks.
They are protected by redo.
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • ALSB 3 roll back a transaction without sending a fault message

    Hi,
    I have a proxy service exposed as a web service, which has some operations that call some tuxedo systems, do some transformation of the data, etc.
    When any of it's operations is invoked I have to build an XML reply in both success AND error cases. The difference between both is a response code, if the call to the backend tuxedo system responded with a stream that starts with OK then everything is fine and I build the reply and send it back, but if an error ocurred it will send back an stream that starts with ER followed by an error code, with which I will have to build the SAME XML but using this error code and send it back to the client instead as a "successful" invocation instead of sending a SOAP fault message. Also I need to roll back the whole transaction in that error case. The system works like that and it can't be changed, we are building this proxy service based on a WSDL file given to us by the partner company that invokes our service and there's lots of other clients that do it in the same way. The problem is that I haven't found a way to roll back the transaction without making the proxy service send a fault message that the client system won't understand. The "Raise error" and "Reply with failure" do roll back the transaction but both send a fault message. Is there a way to answer "successfully" to the client but make an explicit rollback?

    Hi,
    Check the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/22017.. [original link is broken] [original link is broken] [original link is broken]
    You can handle the exception on your web service and model a Notification task so that you can send e-mail notification to the sender in case of exception
    Regards, Anil

  • Rolling back the transaction from stateful session bean

    Hi,
    How can I mark the transaction to be rolled back in a stateful session bean implementation?.
    Should I call setRollbackOnly method or throw a RemoteException or throw an EJBException, etc.?
    the configuration is :
    OC4J 9.0.4
    Stateful session bean
    Related method has transaction attribute - "Required"
    thanks & regards.
    ps : I couldn't find a related topic even if this has been discussed before (too many topics). if so, excuses.
    Erdem.

    Tried using Bean managed transactions but with the same result. Given below is the sample code.
    UserTransaction uts = null;
    try {
    uts = (UserTransaction)(ctx.getUserTransaction());
    uts.begin();
    Connection con = null;
    con = getCountConnection();
    PreparedStatement ps = con.prepareStatement(sqlselectUserId);
    ps.executeUpdate();
    PreparedStatement ps1 = con.prepareStatement(sqlselectUserDetails);
    ps1.executeUpdate();
    uts.commit();
    catch(SQLException e) {
         uts.rollback();

  • Roll Back a Transaction from a DBControl

    Hello BEA Experts
    I have a DB control ,and there is a method in it that inserts data into a table , this method gets called multiple times and if a call to this method fails I would like to roll back the changes made by priors calls to that particular method with in a transaction.
    My problem is that if I use a DBControl will I be able to manage the transaction and roll back if something gooes wrong as I wasnt able to find any example of such a scenario.I would appreciate if anyone could point me in the right direction and an example would be great, or should I use a custom control rather than using a DB control and I am using oracle9i and theres only one Database and I am not using EJBs

    Administrators can reassign tasks, but they currently can't (in 11.1.1.4) move process token(s) backward/forward to a different activity (including human tasks). That capability, known as "grab", is planned for an upcoming release.

  • ORA-25402: transaction must roll back

    I found this problem.ORA-25402: transaction must roll back
    Please introduce , how resolve problem?
    what view ? I'll able check for this problem.

    If you had a network problem it is unlikely that the client would still be connected and able to issue a rollback. I have seen this message but I cannot remember what the situation is when it occurs. What Oracle wants is for the client to issue an explicit rollback statement.
    There is a bug that produces this error unfortunately the OP did not include their Oracle version. The bug could be in all versions from 8 - 9.2.0.3 but is only confirmed to be in 9.2.0.3 where after Transaction Failover a commit or rollback incorrectly produces this error. According to the note a Select should produce this error. This would need to be a RAC system that uses transaction failover for this to apply: Note:2652886.8 Also TAF problem: Note:2652845.8
    But it seems to me you can get this error on a distributed transaction. Oracle wants the client to issue an explicit rollback so that all parties to the distributed transaction rollback. If the application terminates due to the error then RECO will rollback the transaction. If the application issues the rollback it can then continue with additional (or retry) distributed queries.
    HTH -- Mark D Powell --

  • How to know how long the roll back is left?

    Hi, experts,
    I run a insert statment for about half hour. I just broke the procedure by clicking the break button in pl/sql. I want to know how long the roll back is left.
    Thanks

    pl/sql has a break button?
    assuming that you're using some gui tool, and hit a break button while executing some pl/sql - when the "break" is hit, the gui either rolls back the transaction or it leaves the transaction alone, waiting for you to either commit or rollback.
    the rollback will stay there until the transaction is either committed or rolled back.
    when the session disconnects, it will either rollback or commit the transaction (depending on the tool).

  • Transaction roll back

              Dear Everyone,
              What kind of exceptions do the wls container force to roll back a transaction?
              Already a simple NullpointerException does it or it has to be a kind of special
              Exception like EJbException?
              And if I catch that exception I hope it does not roll the transaction back if
              I do not rethrow.
              Thanks for your help.
              Miklos
              

              Dear Deyan,
              Thanks for the answer. Actually an entity creation rolled back even I throw an
              CreateException.
              That is very intersting, and it is not mentioned in the sun documentation.
              Actually I catch the CreateException and rethrow it.
              Any idea why it happens?
              Miklos
              "Deyan D. Bektchiev" <[email protected]> wrote:
              >Miklos,
              >
              >Once the exception crosses the invocation wrapper if it is an instance
              >
              >of RuntimeException (NPE is) or RemoteException (this one is there
              >mostly for backward compatibility with pre-EJB 2.0 spec) the transaction
              >
              >will be marked for rollback so you cannot commit it.
              >If you don't want to roll back the transaction, throw an application
              >
              >exception instead (any other type that inherits from java.lang.Exception).
              >
              >Regards,
              >Dejan
              >
              >Miklos Molnar wrote:
              >
              >>Dear Everyone,
              >>
              >> What kind of exceptions do the wls container force to roll back a transaction?
              >> Already a simple NullpointerException does it or it has to be a kind
              >of special
              >>Exception like EJbException?
              >> And if I catch that exception I hope it does not roll the transaction
              >back if
              >>I do not rethrow.
              >>
              >> Thanks for your help.
              >>
              >> Miklos
              >>
              >>
              >
              

  • SqlTransaction.Rollback() does not throw InvalidOperationException in case the transaction has already been rolled back.

    According to
    MSDN SqlTransaction.Rollback() method must throw InvalidOperationException in case the transaction has already been committed or rolled back. 
    However, in my tests I don't get any exceptions. Here is the code:
    CREATE PROCEDURE dbo.USP_TEST_TX_PROC
    AS
    BEGIN
    SELECT 1/0;
    ROLLBACK TRANSACTION;
    END
    GO
    using(SqlConnection con = new SqlConnection(@"Data Source=XXX;Initial Catalog=TestDB;Integrated Security=True"))
    con.Open();
    SqlTransaction tr = con.BeginTransaction();
    SqlCommand cmd = new SqlCommand("dbo.USP_TEST_TX_PROC", con, tr) { CommandType = CommandType.StoredProcedure};
    try
    cmd.ExecuteNonQuery();
    tr.Commit();
    catch (Exception ex)
    try
    tr.Rollback();
    catch (Exception ex2)
    Console.WriteLine(" Message: {0}", ex2.Message);
    What am I doing wrong?
    Thank you.
    Alexey

    Hello Alexey,
    I created a client side demo which could throw the InvalidOperationException:
    using (SqlConnection connection = new SqlConnection(@"Server=(localdb)\Projects;Database=DFDB;Trusted_Connection=True;"))
    connection.Open();
    SqlCommand command = connection.CreateCommand();
    SqlTransaction transaction;
    transaction = connection.BeginTransaction("SampleTransaction");
    command.Connection = connection;
    command.Transaction = transaction;
    try
    command.CommandText = "ProInsertIntoOrder 1,'1'";
    command.ExecuteNonQuery();
    transaction.Rollback();
    throw new Exception();
    catch (Exception ex)
    // Attempt to roll back the transaction.
    try
    transaction.Rollback();
    catch (InvalidOperationException ex2)
    Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
    Console.WriteLine(" Message: {0}", ex2.Message);
    You could have a try. However, it is not clear why it could detect the ROLLBACK statement on the server side, I suggest that you could post this feedback to:
    https://connect.microsoft.com/VisualStudio/feedback/LoadSubmitFeedbackForm
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How Roll back works

    The User is doing below steps:
    1) Creating one table with the table name as Temp.
    2) Creating table as ABC.
    3) Inserting 10 rows in the Temp table.
    4) selectin * from Temp
    5) Deleting 5 rows from Temp table
    6) Rollback.
    Will it rollback all of the steps done i.e from 1-6.
    Or will it roll back only the 6th Step.
    Please help me getting solution as i am unable to undersand it.
    As per me only the last step should be rolledback.

    Let's make it clear...
    DML = Data Manipulation Language
    This consists of INSERT, UPDATE and DELETE. Also SELECT gets put into this category even though it is not really manipulating the data on the database.
    DDL = Data Definition Language
    Essentially, any database defining statement that is not DML.
    DDL statements automatically issue a "commit" before and after they execute.
    Transactions on a database are defined as what occurs between one commit and another.
    A Rollback statement will roll back any statements in the current transaction.
    Therefore if you issue DDL statements you are causing a commit to occur on the database so any subsequent rollback statement will only roll back to the point of the last commit (i.e. just after the last DDL statement or after the last explicit commit)
    1. create table ....                    <--- DDL (implicit) commit
    2. create table ....                    <--- DDL (implicit) commit
    3. insert into ....                     <--- DML (first statement in transaction)
    4. select ....                          <--- DML (second statement in transaction)
    5. delete from ....                     <--- DML (third statement in transaction)
    6. Rollback                             <--- Rolls back the transaction i.e. everything back to 3

  • Roll back the updated records

    One of our application users accidently updated approximately 1000 records of one of our Production Database tables .There are 3-5 records usually added /modifiled to this table per day .we also
    restore a copy of our production database to Test server  each night .In this situation, we wanted to roll back all transactions for that table those are updated by user accidently
     so we decided to rename the production table and tried to copy table to production from the test database .Unfortunally
     we could not rename the table name since there are a few production database tables are dependent on that table .Finally we compared the affected records of production table
     with Test database table and created update script that updated all affected records with the original values .This recovery step was very time consuming especially during the business hours . when someone accidently delete ,update and modified
    data , in this case what would be the possible options that SQL DBA can use to roll back the transactions without any downtime ?
    Has someone used the ApexSQL log against the Production database to recover data before ?
    Thank you in adavance for you help .
    Daizy

    Always prepared for a rollback steps (Scripts ), and make sure you have scheduled backups ( full and tlog )
    If you know the exact time then you may try for point-in-time recvery using your full_tlod backup.. for this you should aware the exact time and again you have to do some manual work, because this is unplanned and human mistakes always risky and etc.., You
    have to make sure that you are executing  correct scripts and you may have to test the same in Test servers before executing.
    Not sure how this ApexSQL works for rollback... you may have to test using your Test servers
    WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';http://msdn.microsoft.com/en-us/library/ms179451.aspx
    Raju Rasagounder Sr MSSQL DBA

  • Roll Back the Sales Order After Adding

    Hi Experts,
    I want to roll back the system form trasaction like Sales Order. After adding the Sales Order immediately i want to roll back the transaction.
    I used the Company.Transaction Object, but it is only working on User Tables. Not in System Forms like Sales Order.
    Can you please tell me the solution for this ASAP.
    Thanks in Advance,
    G.Suresh

    Hi Petr,
    You didnt get my point. In my concern is, i am going to add Sales Order by Manually not using code.
      In FormDataEvent of the Sales Order
                Select Case BusinessObjectInfo.EventType
                    Case SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD
                     If BusinessObjectInfo.ActionSuccess = True Then
    /***** This Code for getting current transaction of the Sales Order *****/
                            Dim oObject As SAPbobsCOM.Documents
                            oObject = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
                            oObject.Browser.GetByKeys(BusinessObjectInfo.ObjectKey).
    /**** here i want to rollback the saved sales order  ****/
                    End If
                  End Select
    Can you tell me, how i ll rollback the already saved transaction which added by user from Sales Order Screen not in code.
    Thanks in Advance,
    G.Suresh.

  • Calling mysql stored procedure having insert sql commands within cftransaction is not getting rolled back

    Hi,
    cftransaction is working perfectly when all the insert
    updates are called by cfqquery.
    But when there is a mysql stored procedure call with in
    cftrnsaction and that mysql stored procedure is having many inserts
    and updates, cftransaction is not able to roll back insert/updates
    happened in stored procedure.
    I am using InnoDB tables/database of mysql.
    Did anybody faced a similar problem and is it a coldfusion
    bug or mysql bug.
    We checked with Java and java is able to roll back the
    transaction, but coldfusion cftransaction is failing.
    Please help.
    Regards,
    Saikumar

    Mark,
    I believe the syntax of your formatted search is not right. I guess you are trying to get the U_Width from Item Master and the other values from the current form.
    SELECT @Width = T0.U_WTH FROM [dbo].[OITM] T0.WHERE T0.ItemCode = $[$38.1.0]
    EXEC TBC_CHOP @Width, $[$38.U_LINETYPE.0], $[$38.U_LI.0], $[$38.U_LN.0],
    $[$38.U_LD.0], $[$38.U_HI.0], $[$38.U_HN.0], $[$38.U_HD.0], $[$38.U_QTYORD.Number]
    If you see I have added a third parameter which is the Type to the formatted seach field selection $[$Item.Column.Type]
    I have made then all 0 but you may change it as per the col type.  This Type should be 0 for Char type columns, Number for numeric columns and Date for Date type cols
    Suda

  • When to roll back?

    In an entity EJB method (bean-managed persistence), is it necessary or
    useful to roll back the transaction if a SQLException occurs in a
    read-only situation, such as on a finder method?

    Frank LaRosa <[email protected]> wrote:
    In an entity EJB method (bean-managed persistence), is it necessary or
    useful to roll back the transaction if a SQLException occurs in a
    read-only situation, such as on a finder method?
    Hi Frank,
    If the "find" is in your business role, so is advisable to rollback!

  • How to send payload to error queue if the transaction is rolled back.

    Hey,
    If we get a error then the transaction needs to be rolled back. I need to send the input payload to a errored Queue if the transaction is roled back (not to the actual Queue from which input payload is consumed). Can any body tell how to do it.
    Thanks,
    Rakes.

    Hi Rakes,
    When a transaction is rolled back, the message (input payload ) will roll back to the "exception queue" of the initial queue. You may think of it as an error bucket inside the JMS queue. AIA provides manual scripts to resumbit this message once error is fixed.
    If you are using AQ, you could specify your own queue as exception queue. You could have a custom SQL solution to move messages from initial exception queue to your custom queue.
    Regards
    Rohit

  • How to call a trigger when a transaction is rolled back

    Situation:
    Using a trigger to propogate changes from an Oracle8 DB to a remote non-Oracle database ( it may not even be a rational database etc.). The trigger is connecting to a external procedure to send the change to the remote "database" - all updates are to be replicated - inserts, deletes etc.
    Problem:
    If an update transaction is aborted in the Oracle database, after the trigger has been called but before the transaction is committed. The transaction is rolled back successfully in the Oracle database, but nothing happens to the remote "database". Therefore there is now an data inconsistency !
    How can I ensure that the transaction rollback occurs in the remote database as well ? There is no transaction monitor between the two databases. Can I get the trigger to be called again ?
    Any ideas, suggestions ??
    Many thanks in advance,
    ismon

    Hi;
    You may use costum trigger which can be run after AP_CHECKS_ALL table has record
    Regard
    Helios

Maybe you are looking for

  • Error while trying to access RSA1 in SAP NETWEAVER 2004 S

    HI friends,             i am working on SAP NETWEAVER  2004s  and have created a few open hub destinations in this and when i tried to delete a  few , system is showing an error " Destination Type is not Supported"  when ever i am trying to access RS

  • Two bank accounts for travel expenses

    Dear all. We would like to have two bank accounts for the travel expenses for one employee. For example: $ 500.00 of the Travel Expenses should go to bank account 12345 The remaining amount of  the Travel Expenses should go to bank account 67890 I ca

  • In VBRK Table BELNR Field is always blank.

    Hi Gurus, In standard SAP table- VBRK BELNR Field (Accounting document number) is always blank even when document is released to accounting. We need to develop one program on the basis of belnr field from VBRK table not sure whether this issue is to

  • Exported flash file as HTML and wont show up. I have the code, please help!

    This is the code - It just comes up as a box and can't see anything! <!-- saved from url=(0013)about:internet --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=u

  • Stolen 8310

    Hi All my 8310 was stolen 2 weeks ago, as a safety measure blackberry have block my default email address, purchased a new 8520, How do I ublock my default email address pls help