Oracle数据库内档案检查



在oracle数据库中,我们可以使用下面的SQL

标记一个表允许归档
create table table1 (col1 number, col2 char(200)) row archival;

,我们可以使用SQL

对列进行归档/反归档
update table1 set ora_archive_state=0 where col2='test2';
update table1 set ora_archive_state=1 where col2='test2';

但是在我做所有这些之前,是否有任何方法可以检查表是否已经标记为存档?

您可以检查是否存在隐藏列,例如

SQL> create table t ( x int );
Table created.
SQL> alter table t row archival;
Table altered.

SQL> select column_name, hidden_column
2  from   user_tab_cols
3  where  table_name = 'T';
COLUMN_NAME                    HID
------------------------------ ---
X                              NO
SYS_NC00002$                   YES
ORA_ARCHIVE_STATE              YES

或者如果你想让它变得更怪异,它是SYS中PROPERTY列的第48位。标签$

最新更新