O conteúdo de um bloco de dados oracle é composto dos seguintes itens:
- Um cabeçalho de bloco, que conte o endereço do bloco de dados, o diretório da tabela e o diretório da linha e os slots de transação usados quando as transações fazem alterações em linhas do bloco. Esses cabeçalhos crescem de cima para baixo.
- Espaços de dados, esses dados de colunas são inseridos no bloco de baixo para cima;
- Espaço livre, os espaços livres em um bloco está localizado no meio do bloco, dessa forma permitindo que o espaço de dados do cabeçalho cresça quando necessário. No início o espaço livre de um bloco é contíguo, porém operações de deleção e atualização poderão fragmentar o espaço livre no bloco, quando for necessário o servidor oracle poderá unir esses espaços livres.
Vejamos agora quais são os parâmetros que controlam a simultaneidade; Parâmetros para especificação de transações iniciais e máximas.
INITRANS e MAXTRANS, devem especificar um número de inicio e máximo para slots de transações criados em um bloco de dados ou índice. Esses slots de transações são utilizados para armazenamento de informações sobre as transações que fazem alterações no bloco em determinado momento específico. Cada transação utiliza somente um slot de transação, mesmo se estiver alterando mais de uma entrada de índice ou linha.
O valor default de transações iniciais é um para um segmento de dados e dois para os segmentos de índices, garantindo assim um nível mínimo de simultaneidade no bloco. É possível alocar slots de transações adicionais do espaço livre no bloco para permitir que mais transações simultâneas modifiquem linhas no bloco.
O valor default de máximas transações é definido de 255, como limite para o número de transações simultâneas que podem fazer alterações em um bloco de dados ou índice; Quando você definir esse valor, ele restringirá o uso do espaço de slots de transações, e dessa forma, garante a existência de espaço suficiente à ser utilizado pelos dados de índice ou linha.
Os parâmetros que controlam a utilização de espaço de dados são PCTFREE, usado para um segmento de dados que especifica a porcentagem de espaço em cada bloco de dados, reservada ao crescimento resultante de atualizações de linha no bloco de dados. O valor default para esse parâmetro é definido como 10%.
Outro parâmetro utilizado para um segmento de dados é o PCTUSED, que representa a porcentagem mínima de espaço utilizado que o servidor oracle tentara manter para cada bloco de dados da tabela.
Um bloco será colocado novamente na free list, quando se espaço utilizado for menor que o valor do parâmetro PCTUSED.
Essa free list é uma lista de um segmento que contém blocos que concorrem para acomodar futuras inserções. Por default um segmento é sempre criado com uma free list, mas também possível criar segmento com altos números de free lists definindo o parâmeto FREELISTS, sendo o valor default de PCTUSED de 40%.
Os valores para PCTFREE e PCTUSED são calculados como porcentagem de espaço de dados disponíveis. Esses parâmetros somente são definidos como segmento e nunca no nível do tablespace.
Views de consulta:
|
Dba_segments |
Número de extensões e blocos alocados para segmentos. |
|
Dba_extents |
Extensões de um segmento específico. |
|
Dba_free_space |
Extensões de um segmento específico. |
Como fazer o backup to oracle para tapes
Responder comentárioOs textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Ricardo Batalhone é consultor em tecnologia da informação na Silicon Networks e instrutor Oracle 8i, DB2 v.7, v.8, Cisco Systems ccna.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.