Prev | Current Page 377 | Next

Richard Niemiec

"Oracle Database 10g Performance Tuning Tips & Techniques"


Flashback Transaction Backout
A given transaction in a complex application may be consistent and atomic, but the validity of the
transaction may not be validated until many other transactions have taken place; in other words,
the ill effects of an earlier transaction may cause other transactions to further modify the same
data as the original transaction. Trying to manually track the interdependent successive transactions
is tedious and error-prone. Flashback Transaction makes it easy to identify and roll back the
offending transaction and optionally all dependent transactions.
To enable Flashback Transaction Backout, enable archiving (if it is not already in ARCHIVELOG
mode) while the database is mounted (but not open):
alter database archivelog;
Next, run these commands to create at least one archived redo log file and to add additional
transaction information to the log files.
alter system archive log current;
alter database add supplemental log data;
Adding the supplemental log data will have a noticeable impact on performance in a heavy
DML environment. Be sure to monitor system resources before and after you enable the additional
logging to assess the cost of the logging operation. Finally, open the database:
alter database open;
You leverage Flashback Transaction Backout features via the DBMS_FLASHBACK procedure
TRANSACTION_BACKOUT. After you run DBMS_FLASHBACK.TRANSACTION_BACKOUT, the
DML against the related tables is performed but not committed; you must then review the tables
DBA_FLASHBACK_TRANSACTION_STATE and DBA_FLASHBACK_TRANSACTION_REPORT to
see if the correct transactions were rolled back.


Pages:
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
profesjonalna bieżnia magnetyczna mini tokarki do metalu tworzenie stron www dobra bieżnia magnetyczna Gabloty drewniane