QUESTION 159- row-archival management

Which two statements are true when row-archival management is enabled? (Choose two.)
 
A. The ORA_ARCHIVE_STATE column is updated manually or by a program that can reference activity tracking columns, to indicate that a row is no longer considered active.
B. Visibility of the ORA_ARCHIVE_STATE column is controlled by the ROW ARCHIVAL VISIBILITY session parameter.
C. The ROW ARCHIVAL VISIBILITY session parameter defaults to all rows.
D. The ORA_ARCHIVE_STATE column is visible if it is referenced in the select list of a query.
E. The ORA_ARCHIVE_STATE column is updated automatically by the database based on activity tracking columns, to indicate that a row is no longer considered active.
Correct Answer: AD
 
 

在一些场景中,当我们不需要表中的某些行时,需要发布delete语句来删除。但是有时候并不是
想在物理上真正的删除这些数据,在传统的表设计中,我们一般都加多一个栏位来表示逻辑删除。
比如is_delete,当应用程序在处理时,把is_delete也加入到where条件中来表示行是不是真正的删
除了.

   在12C中,引入了一个新特性叫作row archive,可以让数据库自动来做这些操作.这个特性也叫作
In-Database Archiving.

 

在允许row archival后,系统会自动会表增加栏位ORA_ARCHIVE_STATE,用来表示数据可用性情况。

如果我们用select * from t1这种方式,这个栏位是不会被显示的,只有显式指定栏位,才会在结果集中
显示栏位.

 

我通过显式指定,可以查出ora_archive_state,默认值为0,表示该行对应用程序可见.

现在我们回到之前的需求场景中来,比如现在计划a=1的这条记录,对应用程序不可见.

 


可以看到现在在应用程序是查不出a=1的这条记录了.

但是对于管理员或是某些特殊的会话,我又计划想他们看见这些行。可以通过设置会话来改变.

 

 

当前会话又可以看到之前被隐藏的行了.

如果你不想再使用row archive了,取消即可,数据不受影响.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值