天天看點

ROW ARCHIVE

在一些場景中,當我們不需要表中的某些行時,需要釋出delete語句來删除。但是有時候并不是

想在實體上真正的删除這些資料,在傳統的表設計中,我們一般都加多一個欄位來表示邏輯删除。

比如is_delete,當應用程式在處理時,把is_delete也加入到where條件中來表示行是不是真正的删除了.

在12C中,引入了一個新特性叫作row archive,可以讓資料庫自動來做這些操作.這個特性也叫作In-Database Archiving.

SQL> create table employees_test as select * from employees;

Table created.

SQL> select count(*) from employees_test where department_id=80;

SQL> alter table employees_test row archival;

Table altered.

ROW ARCHIVE

在允許row archival後,系統會自動會表增加欄位ORA_ARCHIVE_STATE,用來表示資料可用性情況

ROW ARCHIVE
ROW ARCHIVE
ROW ARCHIVE

改變session變可見

ROW ARCHIVE
ROW ARCHIVE

     本文轉自whshurk 51CTO部落格,原文連結:http://blog.51cto.com/shurk/2056646,如需轉載請自行聯系原作者