Using ANALYZE TABLE owner.table_name COMPUTE STATISTICS one can find if the table has chained rows.
Example:
— analyze again
SQL> analyze table scott.chain_table COMPUTE STATISTICS;
Table analyzed.
— shows row chaining occurred when existing rows were updated and percent of rows
SQL> SELECT chain_cnt,
round(chain_cnt/num_rows*100,2) pct_chained
FROM user_tables
WHERE table_name = 'CHAINED_ROW';
CHAIN_CNT PCT_CHAINED AVG_ROW_LEN PCT_FREE PCT_USED
———- ———– ———– ———- ———-
76824 58.61 16 10 40