檢查行遷移的方法:
1) 運作$ORACLE_HOME/rdbms/admin/utlchain.sql
2) analyze table table_name list chained rows into CHAINED_ROWS
3) select * from CHAINED_ROWS where table_name='table_name';
清除的方法:
方法1:create table table_name_tmp as select * from table_name where rowed in (select head_rowid from chained_rows);
Delete from table_name where rowed in (select head_rowid from chained_rows);
Insert into table_name select * from table_name_tmp;
方法2:create table table_name_tmp select * from table_name ;
truncate table table_name
insert into table_name select * from table_name_tmp
方法3:用exp工具導出表,然後删除這個表,最後用imp工具導入這表
方法4:alter table table_name move tablespace tablespace_name,然後再重新表的索引
上面的4種方法可以用以消除已經存在的行遷移現象,但是行遷移的産生很多情況下時由于PCT_FREE參數設定的太小所導緻,是以需要調整PCT_FREE參數的值