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