ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzakj_5.4.0.1/rzakjrollbops.htm

97 lines
5.7 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Rollback operation" />
<meta name="abstract" content="A rollback operation removes all changes made since the previous commit or rollback operation. The system also releases all locks related to the transaction." />
<meta name="description" content="A rollback operation removes all changes made since the previous commit or rollback operation. The system also releases all locks related to the transaction." />
<meta name="DC.Relation" scheme="URI" content="rzakjrollbacks.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzakjrollbops" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Rollback operation</title>
</head>
<body id="rzakjrollbops"><a name="rzakjrollbops"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Rollback operation</h1>
<div><p>A rollback operation removes all changes made since the previous
commit or rollback operation. The system also releases all locks related to
the transaction. </p>
<p>The system performs the following steps when it receives a request to roll
back:</p>
<ul><li>The system clears records from the I/O buffer if both of the following
conditions are true: <ul><li>If records were added to a local or remote database file under commitment
control.</li>
<li>If SEQONLY(*YES) was specified when the file was opened so that blocked
I/O is used by the system and a partial block of records exists that has not
yet been written to the database.</li>
</ul>
<p>Otherwise, the I/O feedback area and I/O buffers remain unchanged.</p>
</li>
<li>The system makes a call to the commit or rollback exit program for each
API commitment resource that is present in the commitment definition. If a
location has more than one exit program registered, the system calls the exit
programs for that location in reverse order from the order in which they were
registered.</li>
<li>If a record was deleted from a file, the system adds the record back to
the file.</li>
<li>The system removes any changes to records that have been made during this
transaction, and places the original records (the before-images) back into
the file.</li>
<li>If any records were added to the file during this transaction, they remain
in the file as deleted records.</li>
<li>If any record changes were made to resources assigned to a journal during
the transaction, the system adds a journal entry of C RB to the journal,
indicating that a rollback operation occurred. The journal also contains images
of the record changes that were rolled back. Before the rollback operation
was requested, the before-images and after-images of changed records were
placed in the journal. The system also writes C RB entry to the default journal
if any committable resources are assigned to that journal.</li>
<li>The system positions the open files under commitment control at one of
the following positions: <ul><li>The last record accessed in the previous transaction</li>
<li>At the open position if no commit operation has been performed for the
file using this commitment definition</li>
</ul>
This consideration is important if you are doing sequential processing.</li>
<li>The system does not roll back noncommittable changes for database files.
For example, opened files are not closed, and cleared files are not restored.
The system does not reopen or reposition any files that were closed during
this transaction.</li>
<li>The system unlocks record locks that were acquired for commitment control
purposes and makes those records available to other users.</li>
<li>The commit identification currently saved by the system remains the same
as the commit identification provided with the last commit operation for the
same commitment definition.</li>
<li>The system reverses or rolls back object-level committable changes made
during this transaction.</li>
<li>Object locks that were acquired for commitment control purposes are unlocked
and those objects are made available to other users.</li>
<li>The system establishes the previous commitment boundary as the current
commitment boundary.</li>
<li>The system changes information in the commitment definition to show that
the current transaction has been ended.</li>
</ul>
<p>The system must perform all of the previous steps correctly for the rollback
operation to be successful.</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakjrollbacks.htm" title="Commit and rollback operations affect changes that are made under commitment control.">How commit and rollback operations work</a></div>
</div>
</div>
</body>
</html>