清除表中的迁移行和链接行
译自oracle文档
下面过程使用表CHAINED_ROWS 的信息清除表中的迁移行和链接行:
1.使用ANALYZE 收集迁移行和链接行的信息
ANALYZE TABLE hyb_yzbz LIST CHAINED ROWS; SELECT *
FROM CHAINED_ROWS
WHERE TABLE_NAME = 'HYB_YZBZ'; OWNER_NAME TABLE_NAME CLUST... HEAD_ROWID TIMESTAMP---------- ---------- -----... ------------------ ---------SCOTT HYB_YZBZ ... AAAAluAAHAAAAA1AAA 04-MAR-96SCOTT HYB_YZBZ ... AAAAluAAHAAAAA1AAB 04-MAR-96SCOTT HYB_YZBZ ... AAAAluAAHAAAAA1AAC 04-MAR-96输出列表是表中的迁移行或者链接行
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'); INSERT INTO hyb_yzbz SELECT * FROM temp_hyb_yzbz; DROP TABLE temp_hyb_yzbzory; 8.删除CHAINED_ROWS中的相应信息
DELETE FROM CHAINED_ROWS WHERE TABLE_NAME = 'HYB_YZBZ'; 9. 重新分析表,并查看输出
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/6906/viewspace-21542/ ,如需转载,请注明出处,否则将追究法律责任。