In the article you will have a look at the new Oracle 12c feature called in database row archiving available since Oracle 12c. In Oracle versions prior to 12c all table data was an active visible set of data, that is subject to DML performed by the application. In Oracle 12c the In database row archiving feature enable us to have two sets of table data an active visible set of data that coexists with archived and invisible set of data. The in database row archiving is a table feature that get enabled at table level with the ROW ARCHIVAL clause of create table or alter table. Once the feature enabled a new hidden table column ORA_ARCHIVE_STATE appears. This column can be used in SELECT list and can be updated but is not visible in describe issued from sqlplus prompt. It is the ORA_ARCHIVE_STATE column value that determines whether the row belongs to the active set of data or the archive invisible set of database. When rows get inserted into a table the ORA_ARCHIVE_STATE is 0. By modifying the ORA_ARCHIVE_STATE to 1 the row is transferred into the invisible archived set of table data. CTAS does create a new table but does not propagated the In database row archiving feature from the source table. The application can control the visibility to the active and invisible archived set of data using the ALTER SESSION SET ROW ARCHIVAL VISIBILITY [ALL/ACTIVE] statement at session level.