Fix Oracle Database chained rows
You have a lot of columns and a high average row length (662).
Maybe you even have rows longer than the block size.

With long rows, it is inevitable to have chained rows. Example with 8K block size:

SQL&gt;  create table t1(c1 char(2000 byte), c2 char(2000 byte), c3 char(2000 byte), c4 char(2000 byte), c5 char(2000 byte));

Table created.

SQL&gt; insert into t1 select 'c1', 'c2', 'c3', 'c4', 'c5' from dual connect by level &lt;= 10000;

10000 rows created.

SQL&gt; commit;

Commit complete.

SQL&gt;  exec dbms_stats.gather_table_stats(user, 'T1');

PL/SQL procedure successfully completed.

SQL&gt; select chain_cnt from user_tables where table_name = 'T1';

 CHAIN_CNT
----------
         0

SQL&gt; analyze table t1 compute statistics;

Table analyzed.

SQL&gt; select chain_cnt from user_tables where table_name = 'T1';

 CHAIN_CNT
----------
     10000

SQL&gt; alter table t1 move;

Table altered.

SQL&gt; analyze table t1 compute statistics;

Table analyzed.

SQL&gt; select chain_cnt from user_tables where table_name = 'T1';

 CHAIN_CNT
----------
     10000


Also make sure you run ANALYZE TABLE, because that is what updates CHAIN_CNT.