Saturday, June 18, 2011

Identify Chained and Migrated rows

Visit the Below Website to access unlimited exam questions for all IT vendors and Get Oracle Certifications for FREE
http://www.free-online-exams.com
Chaining---------
Occurs when the row is too large to fit into one data block when it is first inserted. In this case, Oracle stores the data for the row in a chain of data blocks (one or more) reserved for that segment. Row chaining most often occurs with large rows, such as rows that contain a column of datatype LONG, LONG RAW,LOB, etc. Row chaining in these cases is unavoidable.

A row is too large to fit into a single database block. For example, if you use a 4KB block size
for your database,and you need to insert a row of 8KB into it, Oracle will use 3 blocks and store
the row in pieces. Some conditions that will cause row chaining are:

In this case, Oracle stores the data for the row in a chain of data blocks (one or more) reserved 
for that segment.So, instead of just having a forwarding address on one block and the data on another
we have data on two or more blocks.


How you can identify the Chained and Migrated rows ?=====================================================
You can use the ANALYZE command to list the Chained/Migrated rows in a table, but you should consider the followings:

A-For conventional Non index_organized tables you can create chained-rows table using the following script locally or in another schema:

create table CHAINED_ROWS (
owner_name varchar2(30),
table_name varchar2(30),
cluster_name varchar2(30),
partition_name varchar2(30),
subpartition_name varchar2(30),
head_rowid rowid,
analyze_timestamp date );


Note : If you created the chained-rows table in another schema then in the analyze command prefix the name by the schema name.


sql>analyze table <Non IOT > list chained rows into <chained-rows table name> ;

    

Get Oracle Certifications for all Exams
Free Online Exams.com

No comments: