Dear Gurus,

Today morning i use this command in my database following query:

select count(chain_cnt) from dba_tables;

count(CHAIN_CNT)
----------------
12210


And also i use following query:

SQL> select owner, table_name, num_rows, chain_cnt,
(chain_cnt*100/num_rows) pct
,
2 empty_blocks, blocks
3 from dba_tables
4 where chain_cnt > 0
5 and owner not in ('SYS','SYSTEM')
6 ;

OWNER TABLE_NAME NUM_ROWS
------------------------------ ------------------------------ ----------
CHAIN_CNT PCT EMPTY_BLOCKS BLOCKS
---------- ---------- ------------ ----------
BIS BIS_TARGET_LEVELS 323
2 .619195046 5 15

HR FF_FORMULAS_F 18
1 5.55555556 240 25

APPLSYS FND_COMPILED_DESCRIPTIVE_FLEXS 3763
33 .876959872 480 555


OWNER TABLE_NAME NUM_ROWS
------------------------------ ------------------------------ ----------
CHAIN_CNT PCT EMPTY_BLOCKS BLOCKS
---------- ---------- ------------ ----------
BEN BEN_EXT_FLD 799
86 10.7634543 0 20


I got following result. How to avoid this problem?

How to avoid the chaining in my database?

How to analyze my tables? beacause now people are accesing in the
database.

When i analyze it would be effect my table or database? This following
command is
correct:

execute dbms_stats.gather_table_stats (ownname => 'APPLSYS'
, tabname => 'FND_COMPILED_DESCRIPTIVE_FLEXS'
, partname=> null
, estimate_percent => 20
, degree => 5
, cascade => true);



Can u please explain step by step,

Awaiting ur reply,

Thanks in advance,
Iyyappan.M