Pular para o conteúdo principal

Linhas Migradas

Esse é um assunto que futuramente vou abordar com mais detalhes, porem vou descrever brevemente o que são linhas migradas e algumas maneiras de identificar.

Linhas migradas afetam sistemas OLTP que por sua vez utilzam buscas indexadas ou mesmo full scan gerando uma quantidade extra de I/O ou mesmo locks de contenção. Linhas migradas são tipicamente causadas por instruções DML do tipo UPDATE e INSERT.

Abaixo os passos para identificar:

cd $ORACLE_HOME/rdbms/admin
sqlplus denilson/password
@utlchain.sql

ou criar a tabela:

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
);

Analisando todas as suas tabelas conforme exemplo abaixo:
ANALYZE TABLE TESTE LIST CHAINED ROWS INTO CHAINED_ROWS;

Verificando as tabelas com linhas migradas:

SELECT owner_name,
table_name,
count(head_rowid) row_count
FROM chained_rows
GROUP BY owner_name,table_name
/

OWNER_NAME TABLE_NAME ROW_COUNT
------------------------------ ------------------------------ ---------------
DENILSON TESTE 10

Comentários