| Oracle Multiversion Concurrency Control (MVCC) Version 12.1.0 |
|---|
| General Information | |
| The Multi-Version Concurrency model is the single most important concept to understand about Oracle and how it works. The underlying mechanisms are the control files, system change numbers (SCN), and how Oracle utilizes ROLLBACK/UNDO segments. | |
| First Available | version 4.0 |
| SQL*Plus Demo | |
| conn uwclass/uwclass CREATE TABLE mvcc_test AS SELECT * FROM all_objects; SELECT COUNT(*) FROM mvcc_test; variable x REFCURSOR BEGIN OPEN :x FOR SELECT COUNT(*) FROM mvcc_test; END; / DELETE FROM mvcc_test WHERE rownum < 20001; COMMIT; SELECT COUNT(*) FROM mvcc_test; variable y REFCURSOR BEGIN OPEN :y FOR SELECT COUNT(*) FROM mvcc_test; END; / DELETE FROM mvcc_test; COMMIT; SELECT COUNT(*) FROM mvcc_test; print x print y DROP TABLE mvcc_test PURGE; CREATE TABLE mvcc_test AS SELECT * FROM all_objects; SELECT COUNT(*) FROM mvcc_test; variable z REFCURSOR set timing on BEGIN OPEN :z FOR SELECT * FROM mvcc_test; END; / set timing off DELETE FROM mvcc_test; COMMIT; SELECT COUNT(*) FROM mvcc_test; print z |
|
| Try the above demo substituting TRUNCATE for DELETE and COMMIT. What is the difference? | |
| Related Topics |
| DBMS_FLASHBACK |
| DBMS_TRANSACTION |
| Flashback Query |
| Transactions |
| This site is maintained by Dan Morgan. Last Updated: | This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2013 Daniel A. Morgan All Rights Reserved | |||||||||
|
|
||||||||||