在一些場景中,當咱們不須要表中的某些行時,須要發佈delete語句來刪除。可是有時候並非
想在物理上真正的刪除這些數據,在傳統的表設計中,咱們通常都加多一個欄位來表示邏輯刪除。
好比is_delete,當應用程序在處理時,把is_delete也加入到where條件中來表示行是否是真正的刪除了.
在12C中,引入了一個新特性叫做row archive,能夠讓數據庫自動來作這些操做.這個特性也叫做In-Database Archiving.數據庫
SQL> create table employees_test as select * from employees;session
Table created.
SQL> select count(*) from employees_test where department_id=80;ide
34
SQL> alter table employees_test row archival;設計
Table altered.
在容許row archival後,系統會自動會表增長欄位ORA_ARCHIVE_STATE,用來表示數據可用性狀況
改變session變可見
3d