Chained row analizi

Chained row tek bir veritabanı bloğuna sığmayan satıra denir. Örneğin blok boyutu 8KB olan bir veritanına 16K boyutunda bir satır eklemeye çalıştığınızda bu kayıt 3 blok kullanacaktır. Bir bloğa sığmadığından bu satıra chained row denir.

Chained row içerebilecek tablolar aşağıdaki gibidir :

  • Satır boyutu, veritabanı blok boyutunu aşan tablolar
  • Long ve long raw tipinde kolon içeren tablolar
  • 255 kolondan fazla kolon içeren tablolar

Chained row tespiti :

Öncelikle gerekli tabloyu aşağıdaki gibi oluştuyoruz.

SQL> @$ORACLE_HOME/rdbms/admin/utlchain.sql;

Table created.

Sonrasında ilgili tablonun aşağıdaki gibi analizi geremektedir.

SQL> ANALYZE TABLE tablename LIST CHAINED ROWS;

Bu işlemler sonrasında chained_rows tablosunda eğer ilgili tabloda chained row varsa , bilgi görüntülenecektir.

SQL> SELECT * FROM chained_rows;

Aynı zamanda aşağıdaki sorgu ile de chained row içeren tabloları sorguyalabiliriz.

SQL> SELECT owner, table_name, chain_cnt FROM dba_tables WHERE chain_cnt > 0;

Tablonun analizi sırasında aşağıdaki gibi bir hata aldığınızda , chained_rows tablosu , analiz çalıştırdığınız kullanıcı şemasın yok demektir. Bu durumda analizi , utlchain.sql ile tablo oluşturduğunuz kullanıcı ile yapmanız gerekmektedir.

ORA-01495: specified chain row table not found

 

Loading