电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

相当方便快速消除行迁移的表的方法


发布日期:2019/7/30
 

Row Migration是Oracle里面的一个重要的基本概念

一般传统意义上我们需要消除行迁移 因为这样会造成额外的IO消耗传统的办法一般是导入倒出整个表

但是这样的风险比较大而且Downtime会比较长

当有外键约束之类的时候也非常的麻烦

也有人选择用删除migration的行然后重新Insert 但是和Exp/Imp一样当遭遇到FK/PK限制的时候也会很头疼

我们可以用下面的办法来最方便的进行重组消除row migration

SQL> alter table t add t date default sysdate;

Table altered

SQL> c/t/t

* alter table t add t date default sysdate

SQL> /

Table altered

SQL> c/t/t

* alter table t add t date default sysdate

SQL> /

Table altered

SQL> analyze table t compute statistics;

Table analyzed

SQL> select table_namenum_rowsCHAIN_CNT from user_tables where table_name=T;

TABLE_NAME NUM_ROWSCHAIN_CNT

T

SQL> alter table t move ;

Table altered

SQL> analyze table t compute statistics;

Table analyzed

SQL>select table_namenum_rowsCHAIN_CNT from user_tables where table_name=T;

TABLE_NAME NUM_ROWSCHAIN_CNT

T

上一篇:前高管曝甲骨文内幕:走马换将渠道遭殃

下一篇:分析Ora-01555(snapshot