天天看點

檢查行遷移的方法

檢查行遷移的方法:

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參數的值

繼續閱讀