ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 清除行迁移和行链接

清除行迁移和行链接

原创 Linux操作系统 作者:husthxd 时间:2004-09-21 00:00:00 0 删除 编辑

  清除表中的迁移行和链接行
  译自oracle文档


 

 

 


   下面过程使用表CHAINED_ROWS 的信息清除表中的迁移行和链接行:

  1.使用ANALYZE 收集迁移行和链接行的信息

ANALYZE TABLE hyb_yzbz LIST CHAINED ROWS;

 

  1. 查询输出表

      SELECT *

      FROM CHAINED_ROWS

WHERE TABLE_NAME = 'HYB_YZBZ';

 

OWNER_NAME  TABLE_NAME  CLUST... HEAD_ROWID          TIMESTAMP

----------  ----------  -----... ------------------  ---------

SCOTT       HYB_YZBZ       ... AAAAluAAHAAAAA1AAA  04-MAR-96

SCOTT       HYB_YZBZ       ... AAAAluAAHAAAAA1AAB  04-MAR-96

SCOTT       HYB_YZBZ       ... AAAAluAAHAAAAA1AAC  04-MAR-96

      输出列表是表中的迁移行或者链接行

  1. 如果有许多迁移、链接行,使用以下步骤清除

  1. 创建临时表用于暂时保存迁移和链接行

CREATE TABLE temp_hyb_yzbz

   AS SELECT *

      FROM hyb_yzbz

      WHERE ROWID IN

         (SELECT HEAD_ROWID

            FROM CHAINED_ROWS

            WHERE TABLE_NAME = 'HYB_YZBZ');

 

          5.删除表中的迁移和链接行

DELETE FROM hyb_yzbz

   WHERE ROWID IN

      (SELECT HEAD_ROWID

         FROM CHAINED_ROWS

         WHERE TABLE_NAME = 'HYB_YZBZ');

 

  1. 把临时表中行重新插入到正式表中

INSERT INTO hyb_yzbz

   SELECT *

   FROM temp_hyb_yzbz;

 

  1. 删除临时表

DROP TABLE temp_hyb_yzbzory;

 

    8.删除CHAINED_ROWS中的相应信息

DELETE FROM CHAINED_ROWS

   WHERE TABLE_NAME = 'HYB_YZBZ';

 

    9. 重新分析表,并查看输出

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-21542/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
长期从事政务、金融等行业产品研发和架构设计工作,对Oracle、PostgreSQL以及大数据等相关技术有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1196
  • 访问量
    3665222